[FEATURE] PermissionApproval hook
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
I'm using hooks to update my tmux status bar to show Claude's state:
- PermissionRequest → Yellow status (Claude needs input)
- Stop → Green status (Claude is idle)
The problem: there's no way to clear the yellow status when I approve a permission. The current hook order is:
PreToolUse→ fires before permission checkPermissionRequest→ fires when permission needed- (no hook here when user approves)
- Tool executes
PostToolUse→ fires after tool completes
For long-running commands (e.g., sleep 5), the status stays yellow for the entire execution even though I've already approved and Claude no longer needs my attention.
Proposed Solution
Add a PermissionApproval hook that fires immediately when the user clicks "Allow" or otherwise approves a permission request, before the tool starts executing.
Example config:
{
"hooks": {
"PermissionRequest": [
{ "hooks": [{ "type": "command", "command": "tmux-status.sh yellow" }] }
],
"PermissionApproval": [
{ "hooks": [{ "type": "command", "command": "tmux-status.sh clear" }] }
]
}
}
Alternative Solutions
- Using
PreToolUseto clear - doesn't work because it fires before the permission check - Using
PostToolUseto clear - works but only after tool completes, so status is stale during execution - Not using status colors for permissions - loses useful visual feedback
Priority
Medium - Would be very helpful
Feature Category
Configuration and settings
Use Case Example
- Claude needs permission to run a bash command
- PermissionRequest hook fires → tmux status turns yellow
- I see the yellow, switch to the terminal, and approve
- Currently: Status stays yellow while the 30-second build runs
- With this feature: PermissionApproval hook fires → status clears immediately on approval
- I can accurately see when Claude actually needs my attention vs just running
Additional Context
This would make external status indicators (tmux, polybar, waybar, etc.) accurately reflect Claude's state. The hook could also be useful for logging/auditing which permissions were approved.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗