7Hooks Every Founder Needs
Copy-paste hook configs for file protection, auto-format, token tracking, audit log, safety gates, and more. Set up once. Run forever.
Hook architecture overview
All 7 hooks and when they fire
Hook 01 — SessionStarton open
Click any hook card above to inspect its config
Health check, load context, verify environment is ready.
Run sheal check every session open so you catch env issues before wasting tokens on a broken setup.
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "sheal check"
}]
}]
}
}Drop-in full config
Paste this into .claude/settings.json to activate all 7 hooks
{
"hooks": {
"SessionStart": [
{
"hooks": [{ "type": "command", "command": "sheal check" }]
}
],
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": "bash /scripts/safety-check.sh" }]
},
{
"matcher": "Edit|Write",
"hooks": [{ "type": "command", "command": "cp ${TOOL_INPUT_PATH} ${TOOL_INPUT_PATH}.bak 2>/dev/null || true" }]
}
],
"PostToolUse": [
{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "rtk gain --record 2>/dev/null || true" }]
},
{
"matcher": "Edit|Write",
"hooks": [{ "type": "command", "command": "pnpm lint --fix ${TOOL_INPUT_PATH} 2>&1 | tail -5 || true" }]
}
],
"Stop": [
{
"hooks": [{ "type": "command", "command": "curl -s -X POST $SLACK_WEBHOOK -d '{"text":"Claude finished a task"}' 2>/dev/null || true" }]
}
]
}
}Why almost nobody uses hooks
The most underrated feature in Claude Code
“Hooks are the most underrated feature in Claude Code. Almost nobody uses them. The people who do have a totally different experience — automated, safe, logged.”
— IndyDevDan · 118K+ views
Add Slack notification first. Low effort, immediate value. You'll actually know when tasks finish.
Safety hooks require a validation script. Don't rush it — a badly written hook blocks all commands.
Append || true to optional hooks so a failing side effect never blocks your main workflow.