[FEATURE] PermissionApproval hook

Resolved 💬 3 comments Opened Feb 1, 2026 by chrisae9 Closed Feb 1, 2026

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:

  1. PreToolUse → fires before permission check
  2. PermissionRequest → fires when permission needed
  3. (no hook here when user approves)
  4. Tool executes
  5. 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 PreToolUse to clear - doesn't work because it fires before the permission check
  • Using PostToolUse to 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

  1. Claude needs permission to run a bash command
  2. PermissionRequest hook fires → tmux status turns yellow
  3. I see the yellow, switch to the terminal, and approve
  4. Currently: Status stays yellow while the 30-second build runs
  5. With this feature: PermissionApproval hook fires → status clears immediately on approval
  6. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗