REV 0.12.0 · MIT

Watch every agent. Touch nothing.

agentop watches Claude Code multi-agent workflows live, from a terminal, a browser, or inside VS Code. It reads the files Claude Code already writes to disk — no API, no account, no service Pimlabs runs.

Reads fromDisk only
NetworkOff by default
VerifySHA-256 checked
PlatformsmacOS · Linux · Windows
$agentop --demo no disk ever touched
agentop watching one workflow run: eight agents across three phases, one failed, two idle
macOS / Linux
$curl -fsSL https://agentop.pimlabs.id/install | sh
Windows
$irm https://agentop.pimlabs.id/install.ps1 | iex
Or brew install pimlabs/tap/agentop on macOS, npm install -g @pimlabs/agentop anywhere with Node. Every route checks its SHA-256 before installing anything.
3Surfaces, one binary
0Outbound connections
6Platform builds
Six things that make it worth running next to a live workflow.
1
Reads only

Never writes to a Claude Code config directory. Running it beside a live workflow is safe — there is no race against Claude Code itself.

read-only
2
No API, no account

Reads the files Claude Code already writes to disk. Connects to no API and speaks no protocol.

no API key
3
Verified before it runs

Every install checks its SHA-256 against the published checksums first, and stops rather than installing when that fails.

SHA-256
4
Stalled means something

The threshold is three times that agent's own longest gap between tool calls, with a floor of two minutes — not one fixed number that's wrong for everyone.

≥2min floor
5
The schema doesn't move quietly

Every JSON key is public API. Renaming one is a breaking change that bumps the version number, and a golden-file test fails the build if it doesn't.

v2 schema
6
Transcripts stay local

--full is refused on any address that isn't loopback, no flag to override it. Over a network you get agent states, never the source inside them.

--full
READS ONLY, NEVER WRITESNO API KEY, NO ACCOUNTTERMINAL · BROWSER · VS CODEMACOS · LINUX · WINDOWS READS ONLY, NEVER WRITESNO API KEY, NO ACCOUNTTERMINAL · BROWSER · VS CODEMACOS · LINUX · WINDOWS
Same files, same words, wherever you're watching from.
1
Terminal

The machine you're sitting at. Arrow keys walk three levels: runs, that run's agents, then one agent's transcript.

agentop
2
Browser dashboard

Another machine, or a phone. Mission Control for the overview, a three-pane Runs view for one workflow's detail.

agentop serve
3
VS Code

A status bar item, a Runs panel in the Activity Bar, each transcript as a read-only editor document.

.vsix install
Every one writes to stdout, so piping and paging both just work.
1
agentop

The newest run, across both config roots.

2
agentop wf_e63f8578

A specific run — an id prefix is enough.

3
agentop --demo

The built-in sample run above. No disk is ever read.

4
agentop serve

The browser dashboard. Loopback only until you pass --listen.

5
agentop runs --json

List every run once and exit — for scripts.

6
agentop watch --ndjson

Stream every change until interrupted.

Read this before you file a bug — it might already be documented.
!
"Command not found" after installing

The install directory isn't on your PATH. install.sh prints exactly where it put the binary on its last line.

!
The screen is empty under WSL or Remote SSH

The journal lives on the machine Claude Code runs on, not necessarily the one your editor runs on. Set AGENTOP_HOME to the home directory that holds .claude.

!
The liveness column reads "unknown"

ps or lsof is missing on this machine. That column, and only that column, depends on them.