PreToolUse, PostToolUse, PreCompact, and Stop — and fire without any prompting. CC Commander ships 15 kit-native hooks in its standalone configuration, plus an extended set when ECC is installed.
There are two hook configurations:
| File | For | Hook count |
|---|---|---|
hooks.json | Users with ECC installed | 34 hooks (15 kit-native + 19 ECC-inherited) |
hooks-standalone.json | Users without ECC | 15 kit-native hooks only |
Hook Directory
careful-guard — Block destructive commands
careful-guard — Block destructive commands
Bash)Intercepts Bash tool calls and blocks destructive patterns: rm -rf, DROP TABLE, --force git push, and similar commands. Uses regex pattern matching — this is a best-effort safety net, not a security boundary. Always combine with a settings.json deny list.Disable: KZ_DISABLE_CAREFUL_GUARD=1pre-commit-verify — TypeScript check before git commit
pre-commit-verify — TypeScript check before git commit
Bash)Runs tsc --noEmit before any git commit Bash call. Blocks the commit if TypeScript errors are present, forcing you to fix type errors before they enter version control.Disable: KZ_DISABLE_PRE_COMMIT_VERIFY=1confidence-gate — Warn on risky multi-file operations
confidence-gate — Warn on risky multi-file operations
Bash)Warns before executing multi-file Bash operations like sed -i on globs or find -exec. Gives you a chance to review scope before a command touches many files at once.Disable: KZ_DISABLE_CONFIDENCE_GATE=1context-guard — Monitor context window and auto-save
context-guard — Monitor context window and auto-save
*)Monitors context window fill level. Warns at approximately 70% usage and auto-saves the session so you can resume cleanly after compaction.Disable: KZ_DISABLE_CONTEXT_GUARD=1auto-checkpoint — Git-stash checkpoint every 10 edits
auto-checkpoint — Git-stash checkpoint every 10 edits
Edit|Write)Creates a git-stash checkpoint every 10 file edits. Gives you a rollback point without interrupting the session. Default interval is 10 edits.Disable: KZ_DISABLE_AUTO_CHECKPOINT=1cost-alert — Warn when approaching budget
cost-alert — Warn when approaching budget
*)Fires cost proxy alerts at two thresholds: approximately 2.00 (after ~60 tool calls). Helps you stay aware of session spend before it escalates.Disable: KZ_DISABLE_COST_ALERT=1auto-lessons — Extract lessons from corrections
auto-lessons — Extract lessons from corrections
*)Captures errors and corrections as they happen and appends them to tasks/lessons.md. These lessons are available at the next session start and feed into the knowledge compounding system.Disable: KZ_DISABLE_AUTO_LESSONS=1rate-predictor — Predict rate limit timing
rate-predictor — Predict rate limit timing
*)Calculates your tool call rate and predicts when you will hit rate limits. Surfaces this as a warning so you can plan compaction or model switches in advance.Disable: KZ_DISABLE_RATE_PREDICTOR=1auto-notify — Desktop notifications for significant events
auto-notify — Desktop notifications for significant events
Bash)Fires desktop notifications when significant events occur — PR created, deploy complete, build finished. Lets you step away from the terminal during long tasks.Disable: KZ_DISABLE_AUTO_NOTIFY=1preuse-logger — Log all tool use
preuse-logger — Log all tool use
Bash)Logs every tool call with timestamps and arguments for cost analysis and audit trails. Outputs to a structured log that you can analyze later.Disable: KZ_DISABLE_PREUSE_LOGGER=1self-verify — Verify file changes against stated intent
self-verify — Verify file changes against stated intent
*)After each Stop event, automatically checks modified files against the task’s stated intent. Catches drift — situations where Claude changed something it was not asked to change.Disable: KZ_DISABLE_SELF_VERIFY=1status-checkin — Session end status summary
status-checkin — Session end status summary
*)Prints a branded status footer at session end with a summary of what was completed, what remains, and cost. Fires every 10 responses by default.Disable: KZ_DISABLE_STATUS_CHECKIN=1session-end-verify — Final verification at session end
session-end-verify — Final verification at session end
*)At session end, checks all modified files for incomplete tasks, uncommitted changes, and leftover TODO/FIXME markers. Surfaces anything that should be resolved before the session closes.Disable: KZ_DISABLE_SESSION_END_VERIFY=1session-coach — Periodic coaching nudges
session-coach — Periodic coaching nudges
*)Fires periodic coaching nudges during long sessions: skill suggestions, checkpoint reminders, and workflow tips. Interval is configurable. Disable entirely with CC_COACH_DISABLE=1.Controls: CC_COACH_DISABLE=1 to disable · CC_COACH_INTERVAL=<n> to set nudge interval (number of responses between nudges, default: 10)pre-compact — Save state before context compaction
pre-compact — Save state before context compaction
*)Saves the current working directory, git branch, list of modified files, and active tasks before context compaction fires. This state is restored automatically when you resume.Disable: KZ_DISABLE_PRE_COMPACT=1context-rot-monitor — Tiered context quality warnings
context-rot-monitor — Tiered context quality warnings
*) — requires ECCMonitors context window fill level with tiered warnings at 60%, 75%, 85%, and 90%. More granular than context-guard. Available in the ECC hook configuration.Disable: CC_CONTEXT_ROT_DISABLE=1vendor-update-notify — Alert when vendor packages have updates
vendor-update-notify — Alert when vendor packages have updates
ccc --update to pull the latest vendor packages.claude-md-staleness — Warn when CLAUDE.md needs updating
claude-md-staleness — Warn when CLAUDE.md needs updating
CLAUDE.md files and warns when they appear stale — for example, when the stack has changed but the instructions have not been updated.openclaw-adapter — Bidirectional OpenClaw event forwarding
openclaw-adapter — Bidirectional OpenClaw event forwarding
Edit|Write|Bash)Forwards CC Commander tool events to the OpenClaw platform in real time. Requires OpenClaw to be running before launching CCC.openclaw-sync — Sync CCC state with OpenClaw
openclaw-sync — Sync CCC state with OpenClaw
linear-auto-track — Auto-track work in Linear
linear-auto-track — Auto-track work in Linear
linear-phase-gate — Phase gates for Linear issue progression
linear-phase-gate — Phase gates for Linear issue progression
linear-pr-link — Link PRs to Linear issues
linear-pr-link — Link PRs to Linear issues
status-reporter — Progress updates for long-running tasks
status-reporter — Progress updates for long-running tasks
daily-improvement-scan — Scan for improvement opportunities
daily-improvement-scan — Scan for improvement opportunities
Environment Controls
| Variable | Effect | Scope |
|---|---|---|
CC_COACH_DISABLE=1 | Disable session-coach nudges entirely | session-coach |
CC_COACH_INTERVAL=<n> | Number of responses between coach nudges (default: 10) | session-coach |
CC_NO_COLOR=1 | Disable ANSI colors in all hook output | all hooks |
CC_NO_ANIMATION=1 | Disable spinner and animation output | all hooks |
CC_CONTEXT_ROT_DISABLE=1 | Disable context-rot-monitor warnings | context-rot-monitor |
KZ_DISABLE_CAREFUL_GUARD=1) so you can turn off specific behavior without affecting the rest.
Activating an Unactivated Hook
Hooks that ship with CC Commander but are not wired by default can be activated by adding them to~/.claude/settings.json: