A VS Code extension for browsing and streaming task logs from HashiCorp Nomad. Connect directly to a Nomad server or tunnel through SSH, then browse jobs, tasks, allocations, and files in a sidebar tree view with live-streamed logs displayed in a webview panel.
Features
Direct or SSH tunnel connection — Connect straight to a Nomad API endpoint, or tunnel through SSH when sshHost and sshUser are configured.
Sidebar tree view — Browse jobs → tasks → allocations in a dedicated activity bar panel. Allocations expand to show "Logs" and "Files" children.
Live streaming logs — Stream stdout/stderr from Nomad's follow API with a live status indicator. Logs render in a webview panel with tabbed stdout/stderr output.
Full ANSI color support — Standard, bright, 256-color, and 24-bit RGB colors, plus bold, dim, italic, underline, and strikethrough.
Log filtering — Toggle a filter bar to search log lines by plain text. ANSI codes are stripped for matching while colors are preserved in output. Shows match count.
File browsing — Browse an allocation's filesystem to any depth and view file contents in a webview with ANSI color support.
Favorites — Save jobs, tasks, or allocations to a per-workspace Favorites panel for quick access.
Allocation restart — Right-click an allocation to restart it (with confirmation).
Search / filter tree — Filter the jobs tree by name with an inline search input.
Automatic allocation resolution — When viewing logs for a task with a single allocation, it's selected automatically; multiple allocations prompt a QuickPick.
Getting Started
Install the extension.
Open the NomadLogs panel in the activity bar.
Click Connect (or run NomadLogs: Connect to Nomad Server from the command palette).
With no SSH settings configured, the extension connects directly to nomadAddr (default http://127.0.0.1:4646).
Set sshHost and sshUser to tunnel through SSH instead.
Browse jobs and tasks in the tree, then click Logs to start streaming.
Extension Settings
All settings are under the nomadlogs prefix.
Setting
Type
Default
Description
nomadlogs.nomadAddr
string
http://127.0.0.1:4646
Nomad API address. Used directly when SSH is not configured, or as the remote target when SSH is configured.
nomadlogs.sshHost
string
""
SSH server hostname or IP. Leave empty for direct connection.
nomadlogs.sshPort
number
22
SSH port.
nomadlogs.sshUser
string
""
SSH username. Leave empty for direct connection.
nomadlogs.sshKeyPath
string
""
Path to SSH private key. Defaults to ~/.ssh/id_rsa if empty.
Connection mode: If both sshHost and sshUser are set, the extension opens an SSH tunnel (with agent auth tried first, then private key). Otherwise it connects directly to nomadAddr.