File locations
State
| Purpose | Path |
|---|---|
| State DB | ~/.local/state/ccmon/ccmon.db |
| Daemon log (rotated 10 MB × 3) | ~/.local/state/ccmon/daemon.log |
| Port file (cleartext int) | ~/.local/state/ccmon/port |
| Daemon PID file | ~/.local/state/ccmon/daemon.pid |
| Hook error log | ~/.local/state/ccmon/hook-errors.log |
| Claude Code settings (read) | ~/.claude/settings.json |
CCMON_STATE_DIR overrides the directory — see
Environment.
Removing ~/.local/state/ccmon/ is a clean reset — the next daemon
start recreates everything (you'll lose history but the daemon will
re-attach to in-flight sessions on their next event).
Installed by the .deb
| Path | Purpose |
|---|---|
/usr/bin/{ccmon, ccmon-daemon, ccmon-event, ccmon-approve} | CLI and hook entry points |
/usr/bin/ccmon-ui | Desktop application binary |
/usr/share/applications/ccmon.desktop | App launcher entry; registers the ccmon:// URL scheme |
/usr/lib/systemd/user/ccmon-daemon.service | systemd user unit for auto-start |
/usr/share/icons/hicolor/256x256/apps/ccmon.png | App icon |
/usr/share/doc/ccmon/ | This documentation |
The post-install hook updates the desktop, MIME, and icon caches, so
the app appears in the launcher and the ccmon:// deep-link handler
is registered immediately.