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
CLI

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.
All reasons and checks

minchenlee/c9watch

Install

Manual install

brew install --cask minchenlee/tap/c9watch

Installs the macOS app. Link the CLI with `ln -s /Applications/c9watch.app/Contents/MacOS/c9watch ~/.local/bin/c9watch`.

Access and checks

How we review

Extended 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.

CLI tools

Local browsing, search and cost tracking for Claude Code, Codex and other agent sessions in one web UI

CLIExtended access6.4KRepository stars

Terminal manager for Claude Code sessions: live status per session, token cost by model and project, and summaries saved on exit.

CLIExtended access124Repository stars

Agent Standup shows Claude Code, Codex and Mistral Vibe sessions as a live team call: who works, who waits.

PluginMinimal access347Repository stars

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

CLIExtended access599Repository stars

CodeKanban gathers terminals and Claude Code and Codex sessions on one page, and codekanban-cli drives them from an agent

CLIBroad access227Repository stars
Official

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

CLIExtended access11.7KRepository stars

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.

README badge

Report a problem

Foxx AIc9watch
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.