AI Agent Status for VS Code
AI Agent Status is a VS Code extension that shows every Claude Code session on your computer at a glance: which ones are working, which are waiting on you, what each is doing right now, and what its subagents are up to. It reads Claude Code’s own local files and sends nothing anywhere.
Download AI Agent Status 0.2.0 (zip, 104 KB)
The zip holds the ready-to-install extension (ai-agent-status-0.2.0.vsix) and its full source. It needs VS Code 1.94 or later and Claude Code. By Jan Dekkers, AIDevCenter.
Install
- Unzip the download.
- Install the extension from a terminal:
code --install-extension ai-agent-status-vscode/ai-agent-status-0.2.0.vsix
- In VS Code, run Developer: Reload Window.
You can also install it from VS Code itself: open the Extensions view, click the … menu, choose Install from VSIX… and pick the .vsix file.
Where it lives
- Bottom panel, as a tab next to Terminal (open with
Ctrl+Cmd+Aon Mac,Ctrl+Alt+Aelsewhere). This keeps Explorer on the left and Claude Code on the right untouched. The cards flow into columns to use the panel’s width. - Status bar, bottom left:
2 working · 1 waiting · 3 subagents. It turns amber when a session may need you. Hover for a list; click to open the dashboard. - Editor tab: the ↗ button (or AI Agent Status: Open in Editor Tab) opens it beside your Claude Code tab.
- Prefer a sidebar? Drag the Agents view onto either sidebar. The layout switches to a single column.
What each card shows
| Part | What it shows |
|---|---|
| Status | Working, Waiting (a tool has run 20+ seconds with no output, often because a permission prompt is open), Your turn (finished within the last 30 minutes), Idle, Ended |
| Now | The tool call in progress, in plain words (“Editing scanner.ts”, “Searching the web for …”), with a running clock |
| Subagents | Each delegated agent, its task, what it is doing, and whether it is running or finished |
| Details (click the card) | Last prompt, last message, the last 10 steps with times (failed ones in red), edited files you can open |
| Footer | Last activity, tokens in context, number of files edited |
Actions
- Go to: jumps to the session’s terminal, or to its Claude Code tab when the tab title matches.
- Transcript: opens the session’s (or a subagent’s) transcript.
- Stop: ends the Claude process after you confirm. The conversation is saved.
- Resume: for ended sessions, opens a terminal in the project folder and runs
claude --resume <id>. - Copy session ID.
- When a turn that ran at least 60 seconds finishes, a notification offers to take you there.
Where the data comes from
Everything is read locally from files Claude Code writes. Nothing is sent anywhere.
~/.claude/sessions/<pid>.json: Claude Code’s registry of running sessions, with the process ID and a busy/idle flag. It is checked againstpsso stale entries from crashed processes are ignored.~/.claude/projects/<project>/<session>.jsonl: transcripts. Only the last 384 KB of each is read, and only when it has changed.~/.claude/projects/<project>/<session>/subagents/: subagent transcripts and their.meta.json.
Without the registry (older Claude Code versions), status is estimated from transcript activity, and the footer says so.
Scans run when those folders change (at most about once every 750 ms) and every 3 seconds while the dashboard is visible, or every 15 seconds while it is hidden. A scan of a few dozen sessions takes about 20 ms.
Settings
| Setting | Default | What it does |
|---|---|---|
aiAgentStatus.claudeDir |
~/.claude |
Claude Code’s data folder ($CLAUDE_CONFIG_DIR is respected) |
aiAgentStatus.refreshIntervalSeconds |
3 | Polling while visible |
aiAgentStatus.recentHours |
24 | How long ended sessions stay listed |
aiAgentStatus.notifyAfterSeconds |
60 | Minimum turn length for a “finished” notification; 0 turns it off |
aiAgentStatus.claudeCommand |
claude |
Command used by Resume |
aiAgentStatus.statusBar |
on | Show the status bar item |
Build it from source
npm install
npm run compile
npm run probe # prints what the scanner sees, without VS Code
npm run package # builds the .vsix
Press F5 in VS Code to run it in an Extension Development Host.
Limits
- Only Claude Code is supported. Other agents (Codex, Copilot) would each need their own reader.
- “Waiting” is an inference. A long build looks the same as an open permission prompt until it prints something.
- “Go to” finds a Claude Code tab by its title. If the session is in the Claude Code sidebar, or the tab has a different name, it opens the Claude Code sidebar instead.
- Stop uses SIGTERM on macOS and Linux. On Windows it ends the process.