[BUG] /hooks omits hooks from managed-settings.json even though they execute
Preflight Checklist
- [x] I searched existing issues and did not find this exact report.
- [x] This is a single bug report.
- [x] Reproduced on the latest Claude Code release.
What's Wrong?
A PreToolUse hook loaded from the macOS file-based managed settings executes successfully, but the interactive /hooks browser reports 0 hooks configured and says no hooks are configured for PreToolUse.
This makes active organization-managed hooks impossible to inspect from the UI.
What Should Happen?
/hooks should count and display managed hooks, with their source identified as Managed.
Steps to Reproduce
- Add a Bash
PreToolUsecommand hook to:
/Library/Application Support/ClaudeCode/managed-settings.json
- Start Claude Code 2.1.215 and open
/hooks. - Observe
0 hooks configured. - Trigger a Bash tool call and inspect hook events with
--include-hook-events.
Actual runtime result:
{"hook_name":"PreToolUse:Bash","outcome":"success","rewritten_command":"rtk git status --short"}
The managed hook therefore loads and executes; only the /hooks browser omits it.
Environment
- Claude Code: 2.1.215
- API platform: Anthropic API
- OS: macOS 26.4, arm64
- Terminal: interactive PTY
- Regression: unknown
Additional Information
The hooks documentation lists managed policy settings as a supported hook location and describes /hooks as a browser for configured hooks.
Related: #33824 reported managed hooks not executing. Runtime execution now works in this reproduction, but UI discovery remains broken.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗