Hooks
Automated triggers that execute code at specific workflow points
Prerequisites
- Basic Claude Code usage
- Shell scripting familiarity
You'll Learn
- Understand the Claude Code workflow pipeline
- Know when each hook type fires
- Configure hooks in settings.json
- Write effective hook scripts
01/05
0:00 / 0:20
Available Hook Types
PreToolCall
When: Before any tool executes
Use for: Validate inputs, check permissions, log attempts
PostToolCall
When: After a tool completes
Use for: Log results, trigger follow-ups, transform outputs
Notification
When: When Claude sends a notification
Use for: Custom alerts, Slack/Discord integration
Stop
When: When the agent stops
Use for: Cleanup, final logging, state persistence
Example Configuration
// .claude/settings.json
{
"hooks": {
"PreToolCall": {
"command": "./scripts/validate-tool.sh",
"timeout": 5000
},
"PostToolCall": {
"command": "./scripts/log-tool-result.sh"
}
}
}đź’ˇ Pro Tips
- 1.Keep hooks fast—they block the workflow. Use timeouts to prevent hanging.
- 2.Hooks receive JSON context via stdin. Parse it to make decisions based on the event.
- 3.Exit code 0 continues the workflow. Non-zero can block or modify behavior.
- 4.Test hooks locally before relying on them in production workflows.