Notification:permission_prompt hook does not fire in v2.1.226

Status Open
Reported on v2.1.226
Maintainer reply None cached
Activity 0 comments · opened Aug 9, 2026

Claude Code version: 2.1.226 (darwin-arm64)
Platform: macOS (Apple Silicon)

Observed behavior

The Notification hook event with notification_type: "permission_prompt" does not fire in any of 8+ test sessions across multiple Claude Code runs.

Hook registered via --settings:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [{"type": "command", "command": "/path/to/probe.sh", "timeout": 10}]
      }
    ]
  }
}

Expected behavior

Per the hooks documentation, Notification with notification_type: "permission_prompt" should fire when a tool requires permission in an interactive TTY session.

What does fire instead

PermissionRequest fires correctly when a tool requires permission in TTY mode:

SessionStart → UserPromptSubmit → PreToolUse → PermissionRequest

Notification:permission_prompt is never observed despite PermissionRequest firing within ~76ms before it.

Scenarios tested

  • Interactive TTY mode (claude launched via expect)
  • Multiple sessions with permission-requiring tools (Bash write to out-of-scope path)
  • Other Notification types (idle_prompt, auth_success, agent_completed) also not observed across all test runs

Prior report

This appears to be a continuation of #58909 ("Notification:permission_prompt hook stops firing during active thinking"), reported at v2.1.141. Unclear whether that was resolved and regressed, or was never fully fixed.

Impact

Hooks relying on Notification:permission_prompt as the primary blocked-state signal will not fire. PermissionRequest is a functional substitute for detecting the permission-blocked state.

View original on GitHub ↗