Introduction
ccmon (Claude Code Monitor) is a local Linux daemon that watches every
claude CLI session running on your machine, surfaces what each one is
doing, fires desktop notifications when one finishes or needs a permission
decision, and lets you approve or deny those permission requests from any
terminal — without switching to the one running the agent.
It ships in two pieces:
- Backend — a daemon and three hook scripts that bind into Claude Code's hook system.
- Desktop UI — an app that connects to the daemon over its WebSocket interface.
No Anthropic API key is needed; long summaries shell out to your existing
authenticated claude CLI.
What you get
- Live session list — every running
claudesession, grouped by project, with branch and current state. - One-click approvals from the desktop UI or any terminal, with risk classification and a 9-minute decision window before falling through to the in-terminal prompt.
- Auto-approve rules with dry-run mode so you can promote frequent decisions without losing the audit trail.
- Persistent history with full-text search across prompts, tool inputs, and session summaries.
- Desktop notifications via
notify-send— including stuck-detection if a session has been idle past a threshold you set. ccmon://deep links — notification "Open" actions take you straight to the right approval modal.
Where to next
- New machine? Start with the prebuilt
.deb. - Want to learn the app? See the Sessions guide for the daily-use surface.
- Scripting against the daemon? The HTTP API and CLI reference cover everything the UI talks to.