{"version":"2.1.296","anchor":"hooks-can-be-refused-with-a-kill-switch-and-plugin-attributi","canonical_anchor":"hooks-can-be-refused-with-a-kill-switch-and-plugin-attributi","heading":"Hooks that were not run can now be reported as blocked, naming the plugin","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/hooks-can-be-refused-with-a-kill-switch-and-plugin-attributi","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Hooks that were not run can now be reported as blocked, naming the plugin\n\nClaude Code can now block a hook that did not run and name its plugin, unless a remote switch makes this non-blocking\n\n**Unclear.** It is not clear what causes a hook to be refused this way.\n\n**What**\n\nHooks are your own commands or scripts that Claude Code runs at set points, and plugins can supply them. Claude Code can now block a hook that was not run. It shows \"Blocked, and retrying will not help.\" and names the plugin the hook came from. If a remote kill switch, a server-side setting, has blocking turned off, the result is non-blocking instead.\n\n**Why**\n\nThis gives Claude Code a way to refuse a hook outright. The message tells you that trying again will not help.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}