{"version":"2.1.300","anchor":"hook-matching-gains-a-held-mode","canonical_anchor":"hook-matching-gains-a-held-mode","heading":"Claude Code now handles hooks that plugins hold back separately","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300\/e\/hook-matching-gains-a-held-mode","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300","markdown":"### Claude Code now handles hooks that plugins hold back separately\n\nHook checks can now look only at hooks that plugins hold back, and plugin hook matching now handles those held hooks explicitly\n\n**Unclear.** It is not clear what makes a plugin hook held, or whether held hooks now fire differently for users.\n\n**What**\n\nHooks are commands Claude Code runs automatically at set moments, for example before a tool is used. Plugins can supply hooks, and some of those hooks can be held back.\n\nClaude Code's check for whether any hooks exist can now be asked to consider held hooks only. In that mode it no longer stops early when nothing is being held. The way plugin hooks are matched was also reworked, so hooks a plugin holds back are now dealt with explicitly.\n\n**Why**\n\nThis can change which hooks fire when a plugin holds some of them back.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}