docs/start here/claude code

Claude Code

What Agent Dash needs from Claude Code, how it finds sessions, and how it decides a session has been closed.

Claude Code is the only supported agent. There is nothing to install on the Claude side.

Requirements

Agent Dash needs Claude Code 2.1.119 or later, the first release whose ~/.claude/sessions/<pid>.json includes status. A claude pane whose process has no such file is skipped and never listed; there is no fallback for older versions.

How sessions are found

Every two seconds Agent Dash lists your tmux panes, looks through each pane's process tree for a claude executable, and reads that process's sessions/<pid>.json. A process counts only when claude has no subcommand: claude and claude --model opus match, claude mcp serve and claude doctor do not.

FieldSource
Session identitysessionId in the pid file
Titlename in the pid file, which Claude only writes for named sessions. Without it, the transcript's custom title, then its generated title
Foldercwd in the pid file
Busy / waiting / idlestatus in the pid file: busy, waiting (a permission prompt or a question), anything else is idle
Last activityLast message time in the session transcript
Plan / Ask badgeLast non-empty line of the pane, checked while the session is not busy

When two panes run the same session (resumed twice), they are shown as one entry and the busy pane wins.

Sessions outlive their panes

Agent Dash keeps a record of every session it sees in ~/.config/agent-dash/sessions.json, keyed by session ID. When the pane goes away the record stays and the session shows as closed. What happens next depends on how it closed, which Agent Dash works out from the pid file:

What you didResult
/exit, Ctrl+C, closed the pane or window, pressed xArchived
/clear, or /resume of another session in the same paneThe old session is archived
Claude crashed or was killed with kill -9Left as closed, not archived
Closed a session that never received a promptRemoved (there is nothing to resume)

An archived session comes back on its own when it is resumed, whether from Agent Dash or from a shell. Pressing a on a live session archives it without stopping it, and it stays archived until you unarchive it or it is restarted.

Nothing is archived on launch or while tmux is down

Agent Dash never classifies a close on its first scan or while it cannot reach tmux. Sessions that closed while it wasn't running stay as they were.

Upgrading from the Claude hooks plugin

If you installed the old Claude hooks, remove them from ~/.claude/settings.json or delete ~/.claude/plugins/agent-dash. The agent-dash hook-write command no longer exists.

opencode and the enrichment plugin

opencode, and the per-pane enrichment files under ~/.config/agent-dash/panes/, are no longer supported. Remove the symlink from ~/.config/opencode/plugins/agent-dash.ts if you installed the plugin.