- Rust 100%
|
|
||
|---|---|---|
| docs/superpowers | ||
| src | ||
| tests | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| README.md | ||
sidequest
A terminal UI that shows your running Claude Code agents — live and recently completed — as little characters living on per-project "floors" of a single building.
No tmux. Read-only. Reads Claude Code's own state files (~/.claude/sessions/, ~/.claude/jobs/) so it just works alongside your existing workflow.
+- sidequest — 8 agents · 3 projects ----------------+
| Floor: ~/tui-agents-room |
| [tu] [tu2] [tu3] |
| work idle done |
| |
| Floor: ~/tofu-maison |
| [tm] |
| idle |
| |
| Floor: ~/electra |
| [el] [el2] [el3] |
| work work work |
| |
| refresh 1.5s · q to quit |
+----------------------------------------------------+
Install
cargo install --path .
Usage
sidequest # default: poll ~/.claude/sessions every 1.5 s
sidequest --refresh 500 # faster polling
sidequest --sessions-dir /custom/path
sidequest --jobs-dir /custom/jobs # override completed-jobs dir
Press q, Esc, or Ctrl-C to quit.
What it shows
work— Claude is actively running a tool / waiting on the model.idle— Claude is idle (waiting for your next message).wait— Claude is paused on a permission/approval prompt.stale— the process is gone but its session file is still on disk. Probably crashed.done— the agent finished. Read from~/.claude/jobs/<jobId>/state.json(override with--jobs-dir); completed agents persist after the process exits so you can still see what ran where. They render dimmed and sort after live agents on the same floor.
Staleness is decided by probing the PID with kill(pid, 0), not by the file's updatedAt — Claude Code only updates that on state transitions, so a busy agent on a long tool call can easily go minutes between writes.
Subagents (Task-tool helpers) are hidden in v1.
Status
Pre-release. Tags so far:
v0.1.0— minimum floor view of live agents (Claude Code, polling~/.claude/sessions/)v0.2.0— adds completed agents from~/.claude/jobs/*/state.json, dimmed at the bottom of each floorv0.3.0— rename tosidequest, label truncation, alignment polish
See docs/superpowers/specs/ and docs/superpowers/plans/ for the design and implementation history.
Inspiration
- pixel-agents — VS Code extension with pixel-art office characters
- agentroom — Tauri desktop app, multi-CLI rooms
sidequest is the TUI take on the same idea: see your agents the way you already see your code — in a terminal.
Roadmap
- v0.x: Claude Code only
- v1: feature branch merged to
main, binary renamed tosidequest, install via cargo - Later: support other agent CLIs (Codex, Aider, Gemini, Cursor)
License
MIT.