[BUG] permissionDecisionReason not surfaced in the UI
Resolved 💬 3 comments Opened Oct 21, 2025 by asm89 Closed Oct 28, 2025
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
claude does not show the permissionDecisionReason in the UI anymore. Instead it shows a generic message:
● Bash(find . -maxdepth 2 -type f -o -type d | head -50) timeout: 10s
⎿ PreToolUse:Bash hook returned blocking error
⎿ Error: Hook requested permission behavior: deny
What Should Happen?
It should show the permission decision reason like it did up until 2.0.14:
● Bash(find . -maxdepth 2) timeout: 30s
⎿ Error: Bash operation blocked by hook:
- Directory tree is too large to be locally searched. Try with a more restricted path or use a different tool
Error Messages/Logs
This is the output of the hook:
> {"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"Some reason described here"}}
Steps to Reproduce
- Create a PreToolUse hook that outputs a deny with a permission reason. E.g.
{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"Some reason described here"}}
- Make
clauderun a command. - Note that the reason doesn't show in the UI.
Install claude 2.0.14 to see it worked up until then, but has been broken since.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.0.14
Claude Code Version
2.0.24
Platform
AWS Bedrock
Operating System
Other Linux
Terminal/Shell
Other
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗