{"version":"2.1.300","anchor":"hook-enablement-check-now-depends-on-a-second-mode-with-a-s","canonical_anchor":"hook-enablement-check-now-depends-on-a-second-mode-with-a-s","heading":"Session and plugin hooks are checked against a second restricted mode","tier":"notice","area":"Hooks","scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300\/e\/hook-enablement-check-now-depends-on-a-second-mode-with-a-s","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300","markdown":"### Session and plugin hooks are checked against a second restricted mode\n\nWhether session hooks and plugin hooks may run now depends on a second mode, with its own allow-list for plugins\n\n**Unclear.** It is not clear what switches on the second mode or whether it is on by default.\n\n**What**\n\nHooks are commands or scripts that run automatically at set points while Claude Code works. Session hooks come from the current session and plugin hooks come from installed plugins. The check that decides whether they may run changed:\n\n- The check now considers a second mode alongside the one it already used.\n\n- A session hook (`sessionHook`) is allowed only when a further condition holds and, if the new mode is active, its configuration passes a separate check.\n\n- A plugin hook (`pluginHook`) is checked against a separate allow-list of plugin names when the new mode is active, and against the existing list otherwise.\n\n- The loader for hook modules now tags each loaded module with a `judgedUnder` value, taken from the request when given and otherwise worked out from the module.\n\n- The per-turn gate for hook modules gains a failure message for when the policy has not been read yet.\n\n**Why**\n\nWhich hooks run can change under managed or restricted setups, such as those an organisation applies. If a plugin or session hook stops running, check whether such a mode applies and whether the plugin is on the allow-list it uses.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: both\n- Heads-up: no"}