★ Cinco · de · Codeo ★
Feature of the Day · Hooks
Automate the boring parts
with Claude Code Hooks.
Hooks let you wire shell commands into Claude Code's lifecycle — PreToolUse, PostToolUse, UserPromptSubmit, Stop, and more — so policies, formatters, and notifications run deterministically instead of relying on the model to remember them. Format every file on save. Block writes outside your repo. Page yourself when a long task finishes. The agent stays in flow; the guardrails stay on.
// ~/.claude/settings.json { "hooks": { "PostToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "prettier --write \"$CLAUDE_FILE_PATHS\"" } ] } ], "Stop": [ { "hooks": [ { "type": "command", "command": "osascript -e 'display notification \"Claude is done\"'" } ] } ] } }
DeterministicRuns every time — not just when the model remembers.
ComposableMatch by tool name, file path, or regex pattern.
Policy-as-codeBlock, allow, or transform tool calls before they run.
ObservablePipe to logs, Slack, or pager when long tasks finish.