agentop for VS Code
Watch Claude Code multi-agent workflows without leaving the editor.

Install
Click Install above. The extension also needs the agentop binary on the
machine your editor's workspace lives on:
brew install pimlabs/tap/agentop
npm install -g @pimlabs/agentop
curl -fsSL https://agentop.pimlabs.id/install.sh | sh
If it lands somewhere off PATH, point agentop.binaryPath at it. Run
agentop: Report Diagnostics from the Command Palette when in doubt; it
prints what the extension can and cannot see.
Nothing to try it on yet? Turn on agentop.demo and the panel fills with a
sample workflow. It is generated rather than read, so nothing from your machine
is in it, and it is what the recording and the screenshot here show.
What you get
- A status bar item for the newest run: how many agents reported, how many
are running, and how many need your eyes.
- A Runs panel in the Activity Bar, three levels deep: run, phase, agent.
Its badge counts the agents that need attention.
- Each agent's transcript as an ordinary read-only editor tab, so search,
split view and copy all work the way they already do.

- A notification when a run stops moving with agents still running.
- Mission Control, one page with the totals across every run.
Everything is about the folder you have open. The panel, the badge, the
status bar and the notification move together, and a worktree counts as part of
the repository it was cut from. Open in Terminal: Every Project drops the
scope when you want the whole machine.
What it reads, and what that means
It reads the journal and the transcripts Claude Code already writes to disk,
through the agentop binary. That is the whole of it:
- No API key, no account, no sign-in, no service anyone runs.
- Nothing is sent anywhere. The extension makes no network request at all.
- It never writes to a Claude Code directory, and it can neither start, stop
nor alter an agent.
- Running it beside a live workflow is safe. There is no race against Claude
Code, because nothing here writes what Claude Code reads.
Commands
Every command is under the agentop category in the Command Palette.
| Command |
What it does |
| Mission Control |
Open the run and agent overview page |
| Open in Terminal |
Start the TUI in a new terminal tab, scoped to this workspace |
| Open in Terminal: Every Project |
The same, with no scope, so every project on the machine is listed |
| Open Transcript |
Open the selected agent's transcript as a document |
| Open Transcript to the Side |
The same, in a split editor |
| Copy Agent ID |
Copy the selected agent's id to the clipboard |
| Refresh |
Re-read now, without waiting for the interval |
| Report Diagnostics |
Print what the extension sees, and why it might not |
The transcript and copy commands act on the selection in the Runs panel, so
they are hidden from the Command Palette and appear in that panel's context
menu instead.
Settings
| Setting |
Default |
What it does |
agentop.binaryPath |
"" |
Full path to the agentop binary. Empty means: use one bundled with the extension, then whatever is on PATH. |
agentop.home |
"" |
Directory to search for .claude and .claude-work. Empty means the home directory of the machine the extension host runs on. |
agentop.refreshInterval |
5 |
Seconds between disk checks. |
agentop.notifications |
true |
Show a message when a run stops moving with agents still running. A run already stuck when the window opened is never announced on its own; instead, opening a workspace whose own runs went quiet in the last day says so once, as a count. |
agentop.demo |
false |
Show a built-in sample workflow instead of reading the disk. |
The status colours are themeable too, under agentop.busy, agentop.ok,
agentop.fail and agentop.dim, with their own high-contrast values.
Remote workspaces, and WSL
The extension runs where your workspace does, never in the local UI. Under
Remote SSH, a dev container, or WSL, Claude Code writes its journal on the
remote machine, and reading the local disk instead would honestly report
nothing at all.
That leaves one case it cannot solve by itself: an editor on Windows driving a
workspace in WSL, where the workflow was started on the Windows side. Point
agentop.home at the Windows home directory, which WSL mounts:
/mnt/c/Users/<you>
Report Diagnostics names the remote kind, the platform, the home directory
it resolved, which route found the binary, and the schema version the binary
answered with. Read it before filing anything.
Elsewhere
The same runs, read the same way, in a terminal and in a browser:
pimlabs/agentop.
For contributors
The source lives in a private repository; the public one carries the README,
the installer and the releases. Two things to know before changing anything
here.
src/contract.ts is a generated, untracked copy of the TypeScript view of
the wire format. Edit clients/contract/src/contract.ts instead; an edit to
the copy is destroyed by the next build with no warning.
Extension releases are tagged vscode-v* and move independently of the
binary's v* tags. The two do not have to be on the same number, and the
extension refuses to speak to a binary whose schema it does not know.