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.

Last updated

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

  1. Unzip the download.
  2. Install the extension from a terminal:
bash
code --install-extension ai-agent-status-vscode/ai-agent-status-0.2.0.vsix
  1. 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+A on Mac, Ctrl+Alt+A elsewhere). 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 against ps so 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

bash
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.