[BUG] /hooks omits hooks from managed-settings.json even though they execute

Status Open
Reported on v2.1.215
Maintainer reply None cached
Activity 1 comment · opened Jul 20, 2026

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

  1. Add a Bash PreToolUse command hook to:

/Library/Application Support/ClaudeCode/managed-settings.json

  1. Start Claude Code 2.1.215 and open /hooks.
  2. Observe 0 hooks configured.
  3. 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗