[DOCS] `disableAllHooks` documentation does not reflect managed policy precedence
Documentation Type
Incorrect/outdated documentation
Documentation Location
https://code.claude.com/docs/en/settings
Section/Topic
disableAllHooks setting description and hook disable guidance across hooks pages.
Current Documentation
The docs currently imply that disableAllHooks disables hooks globally:
disableAllHooks | Disable all hooks and any custom status line
To temporarily disable all hooks without removing them, set "disableAllHooks": true in your settings file...
...To disable all hooks at once, use the toggle at the bottom of the/hooksmenu or set"disableAllHooks": truein your settings file.
What's Wrong or Missing?
In Claude Code v2.1.49, behavior changed so non-managed settings can no longer disable managed hooks set by policy.
Current docs still read as unconditional behavior, which is now inaccurate in managed environments.
Suggested Improvement
Update disableAllHooks docs to explain precedence clearly:
- Managed hooks cannot be disabled by non-managed
disableAllHookssettings. - Add a short precedence table showing managed vs user/project/local settings.
- Clarify whether this affects only hook execution or also status line behavior.
Impact
High - Prevents users from using a feature
Additional Context
Affected Pages:
| Page | Line(s) | Context |
|------|---------|---------|
| https://code.claude.com/docs/en/settings | 152 | disableAllHooks described as disabling all hooks |
| https://code.claude.com/docs/en/hooks | 378 | Says disableAllHooks disables all hooks without managed-policy caveat |
| https://code.claude.com/docs/en/hooks-guide | 484 | Repeats unconditional disable guidance |
Total scope: 3 pages affected
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗