{"version":"2.1.302","anchor":"hook-event-matching-restructured","canonical_anchor":"hook-event-matching-restructured","heading":"Hook matching was restructured with the same outcome","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.302\/e\/hook-event-matching-restructured","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.302","markdown":"### Hook matching was restructured with the same outcome\n\nThe code that decides whether a hook's matcher fits an event was rearranged, and a missing matcher still counts as a match\n\n**What**\n\nHooks are your own commands that Claude Code runs at set points, and a matcher decides which events a hook applies to. The code that applies the matcher was rearranged. A hook with no matcher, or a check with nothing to match against, still counts as a match.\n\n**Why**\n\nIn practice, which hooks run is not expected to change.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 0\/5\n- Scope: individual\n- Heads-up: no"}