Environment variables
| Var | Effect |
|---|---|
CCMON_STATE_DIR | Override the state directory (default ~/.local/state/ccmon). Useful for testing or running an isolated dev copy alongside your real install. |
CCMON_NO_NOTIFY | Disable all desktop notifications. The daemon won't fire notify-send. |
CCMON_STUCK_THRESHOLD_S | Opt-in. Fire a "stuck" notification when a working session has been idle this many seconds. Recommended: 90. |
CCMON_HOOK_DEBUG | Make hook scripts print errors to stderr (in addition to ~/.local/state/ccmon/hook-errors.log). |
CCMON_SUMMARIZER | Reserved. Set automatically by the daemon when it spawns claude -p for a summary. Hook scripts no-op when they see it (recursion guard). Do not set manually. |
Examples
# Isolated dev copy:
CCMON_STATE_DIR=/tmp/ccmon-dev ccmon-daemon
CCMON_STATE_DIR=/tmp/ccmon-dev ccmon list
# Enable stuck detection at 90 s:
echo 'CCMON_STUCK_THRESHOLD_S=90' >> ~/.config/environment.d/ccmon.conf
systemctl --user restart ccmon-daemon
# Quiet mode (no desktop toasts):
echo 'CCMON_NO_NOTIFY=1' >> ~/.config/environment.d/ccmon.conf
# Debug a misbehaving hook:
CCMON_HOOK_DEBUG=1 claude
For systemd user services, the cleanest place to set these is
~/.config/environment.d/<name>.conf — picked up automatically on
session start.