FleetView
A read-only VS Code dashboard for a Claude Code agent fleet. FleetView reads the
session and transcript files Claude Code already writes on your machine, so you
can see every live main agent, every subagent it launched, what each one is
writing right now, and what the main agent did with the result. GitHub Copilot
Chat sessions are picked up the same way on Windows.
FleetView never launches, steers or edits an agent — it watches.
The Fleet view
Lives in its own Activity Bar container (FleetView → Fleet) and reveals
itself when VS Code finishes starting.
Sessions are group rows: session name, workspace folder, and ▶ running
✓ done Σ total counts. Under each session, one entry per subagent, drawn as
two lines:
- Task line — the agent's short id (the handle you paste back to the main
agent), the task description, a model badge (
Opus, Sonnet, … turning
orange when the model changed mid-run, exact model ids on hover), 🌿 when the
agent has its own git worktree, the agent type when it is not
general-purpose, and recovered when the entry was rebuilt from disk rather
than seen live.
- Metadata line —
Status (colored dot plus running / done / failed /
killed / stopped), Started, Duration, Last touch. Every column
sorts, resizes and reorders; sessions collapse; the layout survives a reload.
Toolbar: a Running / All / Ended filter · Only me, which keeps the
list to sessions whose working directory matches this window's workspace
folders · Empty agents, which keeps sessions that have nothing matching the
current filter · a sort selector (Newest, Oldest, Status, Longest, Recently
active, Task A–Z) · collapse-all · and a refresh button in the view title bar.
Agent detail — Output · Diff · Harvest
Click a subagent to open its panel.
- Output — tails that agent's own JSONL transcript. The last 256 KB is read
up front, then appends stream in live; assistant prose,
🔧 tool calls and
↩︎ tool results are rendered apart from each other and non-JSON lines fall
through raw. It follows the tail and pauses the moment you scroll up.
- Diff —
git diff of the agent's worktree against
merge-base(HEAD, <default branch>), so committed and still-uncommitted work
both appear, untracked files included. It re-diffs every 6 seconds while the
agent is alive. Hover any changed line and click 💬 to compose a review
comment pre-filled with the agent id and file:line, then Copy for main
agent to hand it over before the work is merged. An agent that never edits
files, and a worktree that has already been merged and pruned, each say so
rather than showing an empty diff. Rendering is capped at 60 files and 500
lines per file.
- Harvest — what the subagent handed back and its terminal status, the main
agent's next turn, and the tool calls it queued off the back of it —
reconstructed from the parent session transcript, never the subagent's own.
Fleet map
⌗ map on a session row opens the attribution table for that session: Subagent,
Agent ID, Type, Model, Worktree branch, Files, Δ lines, State — worktree agents
first, then by lines changed, so parallel agents never blur together. Click a
row to open that agent, click an id to copy it. It refreshes every 15 seconds,
and git work is capped at 40 agents per pass so opening the map cannot stall the
extension host.
Status bar and notifications
A 🚢 N agents item sits in the status bar at all times, mirrors the Only
me scope so the count and the visible rows never disagree, and opens the Fleet
view when clicked.
When a subagent settles, a toast reports its outcome and duration with View
harvest and View output buttons that open the panel on that tab. Toasts
are raised only for sessions belonging to this window, so a busy machine does
not spam you from unrelated workspaces.
Commands
| Command |
Does |
FleetView: Show Fleet |
Reveal the Fleet view |
FleetView: Refresh |
Re-read every source from disk, so a stale "still running" entry cannot survive |
FleetView: Show Agent Monitor |
Open the combined Claude + Copilot agent monitor |
What it reads
| Source |
Used for |
~/.claude/sessions/*.json |
which main agents are alive right now |
~/.claude/agent-events.jsonl |
subagent start / done events |
~/.claude/projects/<enc-cwd>/<session>.jsonl |
session identity, terminal status, the harvest |
~/.claude/projects/<enc-cwd>/<session>/subagents/agent-<id>.jsonl and its .meta.json |
per-subagent transcript, worktree path, model |
<temp>/claude/<enc-cwd>/<session>/tasks/<id>.output |
subagent output on older Claude Code builds |
%APPDATA%\Code\User\workspaceStorage\<id>\GitHub.copilot-chat\ |
Copilot Chat sessions, turns and tool results (Windows) |
git inside each agent's worktree |
the Diff tab and the map's Δ lines |
Requires VS Code 1.86 or newer. There is nothing to configure.
Privacy
Everything stays on the machine — FleetView makes no network calls of any kind.
At activation it writes a snapshot of the sessions it found to
fleetview-diag.txt in your system temp directory.