Ground-truth agent state, not a scrape
When a slot runs Claude Code, 13x reads real hook events — prompt, pretool, posttool, notify, stop — appended to a per-slot log. THINKING, TOOL, NEEDS YOU and DONE are facts from the agent, not guesses parsed from output.
One key triages a wall of agents
Ctrl+Space (and the TopBar 'N NEEDS YOU' counter) cycles to the next agent waiting on a human, prioritized needs_you > turn_done > error, wrapping around. The one slot that's blocked never gets buried.
Strictly monochrome status
State is conveyed by dot fill, a check glyph, and label weight — never color. NEEDS YOU renders as an inverted chip via CSS weight, not hue. It reads the same in any light.
Honest DONE, no false positives
A persistent PowerShell PTY never exits when a one-shot command finishes, so DONE is inferred only for oneshot slots that produced output then went quiet. Watch and interactive slots go IDLE, never falsely DONE. Error-pattern scanning is deliberately not implemented.
Local-first, no telemetry
All agent state comes from local files — per-slot logs under .13x/sessions and your local Claude transcripts under ~/.claude/projects. No network calls. Nothing is sent to a server.
Watches every open workspace at once
The Rust watcher tails one root per open workspace concurrently, so a backgrounded project's agent state keeps updating while you work in another.