{"version":"2.1.290","anchor":"hook-registry-gains-catches-for-caught-hooks","canonical_anchor":"hook-registry-gains-catches-for-caught-hooks","heading":"Hooks can be marked as caught","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/hook-registry-gains-catches-for-caught-hooks","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Hooks can be marked as caught\n\nClaude Code can now check whether a registered hook is marked as caught and whether its matcher applies\n\n**Unclear.** It is not clear what a caught hook does or what part of Claude Code checks for one.\n\n**What**\n\nHooks are commands or scripts that Claude Code runs automatically at set moments. Claude Code can now check whether a registered hook is marked as \"caught\". It also checks whether that hook's matcher allows the current case. A matcher is the pattern that decides which events a hook responds to. A hook with no matcher always counts.\n\n**Why**\n\nThis is groundwork for a new kind of hook behaviour. Nothing in this build shows what a caught hook does differently, so there is nothing for you to change yet.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}