Notification:permission_prompt hook does not fire in v2.1.226
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
Notificationtypes (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.