meta-claude-hookslisted
Install: claude install-skill bitranox/bitranox-skills
# Claude Code hooks
Reference baseline: hooks.md, fetched 2026-08-27, 31 events, content 489065ccea52
Hooks are the deterministic layer around the agent: Claude Code runs your handler at a fixed point in its
lifecycle, so a rule holds whether or not the model decides to honour it.
There are **31 hook events** and **five handler types**. Most people know nine events and one type, which is why
the common failure here is not a bug but an absence: building a polling workaround for something a dedicated
event already does, or declaring a capability missing because it is not in the familiar nine.
## The shape of every hook, in one block
Three levels of nesting, always: the **event**, a **matcher group** that filters it, and the **handlers** that run.
Copy this rather than reconstructing it, because the wrapper is the part people invent.
```json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{ "type": "command", "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/check.sh", "args": [] }
]
}
]
}
}
```
The event name is a **key**, its value is a **list of matcher groups**, and each group has its own inner `hooks`
list. An event with no matcher support simply omits `matcher`. Full schema in `references/configuration.md`.
## Step 0: check this reference against upstream, before quoting it
The hooks API moves fast - the upstream page carries version-gated behaviour notes spanning many releases, some
of them reve