Hook events, all 31.
The points in a session a configured hook can be run at.
/
○ not in v2.1.243, ◆ Anthropic has never documented it.
Every hook event in the build
ConfigChangeWhen a configuration file changes during a session never mined ○
CwdChangedWhen the working directory changes, for example when Claude executes a cd command. Useful for reactive environment management with tools like direnv never mined ○
DirectoryAddedWhen a working directory is added mid-session via /add-dir or the SDK register_repo_root control request never mined ○
ElicitationWhen an MCP server requests user input during a tool call never mined ○
ElicitationResultAfter a user responds to an MCP elicitation, before the response is sent back to the server never mined ○
FileChangedWhen a watched file changes on disk. The matcher field specifies which filenames to watch never mined ○
InstructionsLoadedWhen a CLAUDE.md or .claude/rules/*.md file is loaded into context. Fires at session start and when files are lazily loaded during a session never mined ○
MessageDisplayWhile assistant message text is displayed never mined ○
NotificationWhen Claude Code sends a notification never mined ○
PermissionDeniedWhen auto mode denies a tool call, including denials without a classifier verdict. Use JSON hookSpecificOutput.retry: true to tell the model it may retry the denied tool call. Claude Code ignores retry when the classifier produced no verdict never mined ○
PermissionRequestWhen a tool call needs a permission decision never mined ○
PostCompactAfter context compaction completes never mined ○
PostToolBatchAfter a full batch of parallel tool calls resolves, before the next model call never mined ○
PostToolUseAfter a tool call succeeds never mined ○
PostToolUseFailureAfter a tool call fails never mined ○
PreCompactBefore context compaction never mined ○
PreToolUseBefore a tool call executes. Can block it never mined ○
SessionEndWhen a session terminates never mined ○
SessionStartWhen a session begins or resumes never mined ○
SetupWhen you start Claude Code with --init-only, or with --init or --maintenance in -p mode. For one-time preparation in CI or scripts never mined ○
StopWhen Claude finishes responding never mined ○
StopFailureWhen the turn ends due to an API error never mined ○
SubagentStartWhen a subagent is spawned never mined ○
SubagentStopWhen a subagent finishes never mined ○
TaskCompletedWhen a task is being marked as completed never mined ○
TaskCreatedWhen a task is being created via TaskCreate never mined ○
TeammateIdleWhen an [agent team](/docs/en/agent-teams) teammate is about to go idle never mined ○
UserPromptExpansionWhen a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion never mined ○
UserPromptSubmitWhen you submit a prompt, before Claude processes it never mined ○
WorktreeCreateWhen a worktree is being created via --worktree, isolation: "worktree", or for a background session. Replaces default git behavior never mined ○
WorktreeRemoveWhen a worktree is being removed at session exit, when a subagent finishes, or when you delete a background session never mined ○
Nothing matches that.