c9watch CLI
A dashboard and JSON CLI for Claude Code, Codex, Cursor Agent and Pi sessions: who waits for approval, who works, who is idle.
- 136 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The tool reads transcripts of every agent session on the machine, including code and conversation.
- `c9watch stop` terminates processes, and the hook bridge changes Claude Code settings when enabled.
Install
- Works in
Manual install
brew install --cask minchenlee/tap/c9watchInstalls the macOS app. Link the CLI with `ln -s /Applications/c9watch.app/Contents/MacOS/c9watch ~/.local/bin/c9watch`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The tool reads transcripts of every agent session on the machine, including code and conversation.
- `c9watch stop` terminates processes, and the hook bridge changes Claude Code settings when enabled.
This is third-party code. Review the repository files before installing.
What it does
c9watch finds running agent sessions by scanning processes on the machine and needs no terminal or IDE setup. The macOS desktop dashboard groups sessions by status: working, needs attention (an approval request or a question from the agent) and idle. The same binary doubles as a JSON CLI for agents: `c9watch list`, `view`, `search`, `stop`, `watch`, `wait`, `cost`. The repository includes a `c9watch-cli` skill that teaches Claude Code to check sibling sessions, search past work and read spending.
Who it is for. Developers who keep several Claude Code or Codex sessions open and do not want to walk through terminals looking for the one that is waiting.
Good fit when
- Five sessions run in different terminals and you need the one waiting for approval.
- A script must wait for a given session state: `c9watch wait` with `--until needs-input` and a timeout.
- You want to recall where you fixed an auth bug; `c9watch search` helps.
- An agent watches sibling sessions through the skill and reports whether one is stuck.
- You want daily, per-project and per-model spending without counting tokens by hand.
Not a fit when
- You need a Windows app; the desktop dashboard ships for macOS and the CLI runs on macOS and Linux.
- Sessions must be launched from inside the app; c9watch discovers processes that are already running.
- You need to do more than observe Cursor Agent and Pi; Cursor is monitor-only and Pi is read-only.
Example request
Use c9watch to check which of my sessions are waiting for approval and show the last five messages of each.Limitations
Claude Code and Codex are fully monitored, Cursor Agent is monitor-only, Pi is read-only and OpenCode is a preview that needs a manual server connection. Activity counts (file edits, commands) cover Claude Code only. Install scripts run through `curl ... | bash`; read them before running. Remote access from a phone is off by default and LAN traffic is plain `ws://`, so enable it only on a trusted network. The `c9watch stop` command terminates a session process.
How to disable. Quit the app and delete it along with the `~/.local/bin/c9watch` link. Remove hooks installed with `c9watch hooks --install` from Claude Code settings. Delete the `~/.claude/skills/c9watch-cli` link separately.
FAQ
How do I connect the skill to Claude Code?
Create the link `ln -s /path/to/c9watch/skills/c9watch-cli ~/.claude/skills/c9watch-cli`. The skill teaches Claude to call the CLI for sibling sessions. Other options are in `SKILLS.md`.
What does `c9watch wait` do?
It waits until a session asks for input, finishes or ends, for example `c9watch wait abc123 --until needs-input --timeout 600`. On timeout the exit code is 124.
How do I get more precise approval prompts?
Run `c9watch hooks --install`. Claude Code then reports approval prompts itself, so c9watch does not infer them from the transcript. The option is opt-in.
Do I need to start sessions from c9watch?
No. It finds agent processes at the OS level, so sessions from any terminal or IDE appear automatically.
Which agents are fully supported?
Claude Code and Codex are fully monitored. Cursor Agent is monitor-only, Pi is read-only and OpenCode is a preview with a manual server connection.
Discussion
No questions or reviews yet.
Related
CLI toolsLocal browsing, search and cost tracking for Claude Code, Codex and other agent sessions in one web UI
Terminal manager for Claude Code sessions: live status per session, token cost by model and project, and summaries saved on exit.
Agent Standup shows Claude Code, Codex and Mistral Vibe sessions as a live team call: who works, who waits.
cc-lens
Claude Code Lens (cc-lens)
Local Claude Code analytics: a dashboard of sessions, tokens, cost and projects from your ~/.claude data, no cloud
CodeKanban gathers terminals and Claude Code and Codex sessions on one page, and codekanban-cli drives them from an agent
A CLI and MCP server that tally token spend across 41 tools and agents, break it down by project and model, and help cut wasted tokens
README in short
A background thread scans for agent processes every two seconds and parses the tail of each JSONL session file. Separate tabs show history, spending and Claude Code memory. Building from source uses Tauri, Rust and Svelte.