Docs /
Agent state icons
An agent pane shows its state as an icon — in the sidebar tree, right after the pane's title, on inactive workspace tabs and in the Meeting Room: a yellow spinner — it's working; a pulsing red ? — the agent is blocked and needs your input (a permission prompt, a question); a green ✓ — it finished (even if you were watching), and stays until you type in that pane or the agent starts working again; no icon — idle, nothing to report. Right after a pane spawns (and again if the agent process exits) state is briefly unknown, so it falls back to the grey output-activity spinner until detection catches up. Plain Terminal panes always use that grey spinner. One known limit: OMP panes also keep the grey spinner — its screen exposes no reliable state signals, so TAO CODING doesn't guess. With reduced motion turned on in your OS, the icons stay still.
Claude Code panes also receive exact signals from Claude's own hooks, not just from reading the screen. At every launch TAO CODING merge-writes taocoding --hook entries into ~/.claude/settings.json (the same file as the status line; additive — hooks you already have are never touched). That makes a permission prompt show the red ? the instant it appears and a finished reply clear it at once, while screen reading still fills the gaps — for example a question Claude asks without a permission prompt.
A workspace tab in the navbar rolls this up across all its panes and shows the highest-priority icon — blocked beats done, done beats working, working beats plain activity — but only while that tab is inactive; the tab you're looking at never needs one. Meeting Room member rows show the same icons, or a muted grey dot labelled "Connected, idle" when a member has nothing to report.
The sidebar header also shows a small counter across all workspaces — a red pill for blocked panes and a green one for panes that finished while you were away. Hover any icon to see how long the pane has been in that state ("Blocked for 4m — needs your input"), and hover the red pill to see the longest wait among them. Click a pill, or press ⌘/Ctrl + Shift + J, to jump to the next pane that needs you: blocked panes first — the one that has waited longest ahead of the rest — then finished (earliest first), then working, then idle in sidebar order, cycling on repeat presses (and switching workspaces when needed). Landing on a finished pane marks it seen, so the green count drops as you go — the count only tracks finishes you haven't looked at, while the pane's ✓ stays until you type there. Hiding the sidebar hides the counter; the shortcut keeps working.