disableAllHooks
A Claude Code settings key, read out of the shipped bundle. It was in the build from v2.1.138 and was gone by v2.1.284.
Turn off hooks, a custom status line, and a custom @ file suggestion command at once
Anthropic's own wording. Read off All settings, captured 2026-10-22.
In the changelogs
25Releases whose published page names disableAllHooks.
-
v2.1.300
Hooks now give a separate reason when managed settings haven't loaded yet
If your organization's managed settings haven't been read yet, Claude Code now says it can't yet tell whether hooks are allowed
found in this entry's text
-
v2.1.300
Cowork cloud keeps strict managed policy settings once they are set
In Cowork cloud, once certain managed policy settings are tightened, a later settings update can no longer loosen them
found in this entry's text
-
v2.1.296
Claude Code now explains why your hooks are not running
Claude Code shows notices saying why hooks are off, covering unreadable managed settings, bare mode, safe mode, managed policy and
--settingsfound in this entry's text
-
v2.1.295
Your own hooks can keep running when
disableAllHooksis setWith
disableAllHooksset, Claude Code can now still run hooks from your own settings under certain conditionsfound in this entry's text, named in this entry
-
v2.1.283
Plugins in a per-session folder can load and reload live while you work
Once you agree, Claude Code can watch a per-session folder and load plugins from it, reloading them as their files change
found in this entry's text
-
v2.1.283
Write live mods for Claude Code that reload inside your session
A new bundled skill writes mods (plugins adding panes, status lines, toasts or hooks) that reload live once you agree for the session
found in this entry's text
-
v2.1.282
Skills and plugin commands can no longer grant themselves tools under managed-only permission rules
When policy restricts permission rules to managed settings, tool grants written into skills and plugin commands are ignored
found in this entry's text
-
v2.1.281
Rewritten 'hooks disabled' screen
The /hooks screen shown when all hooks are disabled now explains what that turns off
found in this entry's text, named in this entry
-
v2.1.280
Hooks modules (plugin tests) early-access gate and messages
Plugin hook tests now give a specific reason when they can't run: rollout off, or disabled locally
found in this entry's text
-
v2.1.280
disableAllHooks setting description clarified to scope hooks only
disableAllHooks setting now explains it only turns off custom hooks and statusLine, not Claude Code's built-in features
found in this entry's text, named in this entry
-
v2.1.280
Hooks-module skip reasons now surface to the plugin author via a notification channel, not just debug logs
Plugins are now notified directly when their hooks module is skipped, not just via a debug log line
found in this entry's text
-
v2.1.277
Hooks-module-not-loaded diagnostics reformatted to identify the module, not just the plugin name
Log messages about skipped plugin hooks now name the specific hooks module, not just the plugin
found in this entry's text
-
v2.1.271
New
claude plugin testCLI command for function-hooks pluginsNew
claude plugin testcommand runs a plugin's hook tests in a sandboxed environment that mimics the real runtimefound in this entry's text
-
v2.1.259
Plugin hooks as JS modules — gated off by default
Plugins can load hooks from real JS modules with per-action permission checks, but the rollout gate defaults off.
found in this entry's text, named in this entry
-
v2.1.246
Clearer reason when an administrator has blocked plugin hooks
When managed settings block plugin hooks, the message now says that explicitly.
found in this entry's text
-
v2.1.242
Administrators and --bare can block plugin hooks from loading
Two managed settings can block plugin hooks entirely or allow only managed plugins.
named in this entry, found in this entry's text
-
v2.1.242
Managed hook skip message now says SDK callback hooks still run
The disableAllHooks notice now says SDK callback hooks still run while configured hooks are skipped.
named in this entry, found in this entry's text
-
v2.1.233
Status line moved out of React into a standalone store
The status line is now driven by its own store with its own refresh and debounce timers.
found in this entry's text
-
v2.1.229
Self-hosted runner can install launcher hooks sent by the server
The self-hosted runner writes server-supplied hook scripts for a session and deletes them afterwards.
found in this entry's text
-
v2.1.229
Repositories can declare that all hooks are off
A repo settings file can set disableAllHooks to turn every hook off.
named in this entry, found in this entry's text
-
v2.1.213
Hook System:
policySettingsSourcefound in this entry's text
-
v2.1.169
/goalError Message Updatedfound in this entry's text
-
v2.1.140
/goalNow Blocked byallowManagedHooksOnlyfound in this entry's text
-
v2.1.76
Hooks UI Redesigned as Read-Only Viewer
found in this entry's text
-
v2.0.54
Enterprise Hook Control:
allowManagedHooksOnlyPolicy Settingfound in this entry's text
First cited
4The earliest release whose published evidence quoted disableAllHooks was v2.1.213, 17 Jul 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
2Build by build
149One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the settings key does. All settings keys.