{"version":"2.1.296","anchor":"new-hooks-disabled-notices-for-unreadable-managed-settings","canonical_anchor":"new-hooks-disabled-notices-for-unreadable-managed-settings","heading":"Claude Code now explains why your hooks are not running","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/new-hooks-disabled-notices-for-unreadable-managed-settings","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Claude Code now explains why your hooks are not running\n\nClaude Code shows notices saying why hooks are off, covering unreadable managed settings, bare mode, safe mode, managed policy and `--settings`\n\n**What**\n\nHooks are commands Claude Code runs automatically at set moments, for example before a tool is used. Claude Code now shows notices that explain why hooks are not running. The reasons they cover include:\n\n- a managed policy, meaning settings your organization controls\n\n- bare mode\n\n- safe mode\n\n- `--settings`, the flag that loads settings from a file or inline JSON for one session\n\nOne case is handled specially. If your project settings set `disableAllHooks` and a managed-settings source could not be read, Claude Code cannot tell whether your organization allows those hooks, so project hooks are turned off. Depending on the hooks involved, the session either stops or shows a notice.\n\nWhen `CLAUDE_CODE_USE_COWORK_PLUGINS` is set, a notice says which settings file Claude Code reads instead.\n\n**Why**\n\nIf your hooks stop running, you now get a reason instead of silence. In the case where Claude Code cannot read your organization's settings, it stops rather than guessing, so it does not run hooks that might not be allowed.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}