Preflight Checklist
Problem Statement
When a user denies a tool call at the permission prompt, the model receives no context about why it was denied. This causes the model to repeatedly attempt workarounds or similar tool calls, essentially "going rogue" trying to bypass the denial without understanding the intent. The user then has to separately explain the reason or desired alternative, adding extra steps and breaking the autonomous workflow.
Proposed Solution
Allow users to attach a short message/instruction when denying a tool call, similar to how permission rules can include instructions (e.g. ["Bash(pnpm:*)", "Use npm instead"]). For example, when the permission prompt appears and the user selects "No", they could type a reason like "Use npm command instead" or "Don't modify this file, change X instead". This message would be passed to the model as context for the denial, so it can adjust its approach immediately.
Before: Claude Code is going rogue...
{"permissions": {"deny": ["Bash(pnpm:*)"] } }
After: Claude Code works well!
{"permissions": {"deny": [["Bash(pnpm:*)", { "reason": "Use npm instead" }] ] } }
Alternative Solutions
Currently, after denying, the user must type a follow-up message explaining the reason, or preemptively set up hooks/rules. This adds friction and delays autonomous operation.
Priority
High - Significant impact on productivity
Feature Category
Configuration and settings
Use Case Example
- Claude attempts Bash(pnpm install ...)
- User denies with reason: "Use npm, not pnpm"
- Claude immediately understands and runs npm install ... instead
- No extra back-and-forth needed
Additional Context
No response
Preflight Checklist
Problem Statement
When a user denies a tool call at the permission prompt, the model receives no context about why it was denied. This causes the model to repeatedly attempt workarounds or similar tool calls, essentially "going rogue" trying to bypass the denial without understanding the intent. The user then has to separately explain the reason or desired alternative, adding extra steps and breaking the autonomous workflow.
Proposed Solution
Allow users to attach a short message/instruction when denying a tool call, similar to how permission rules can include instructions (e.g.
["Bash(pnpm:*)", "Use npm instead"]). For example, when the permission prompt appears and the user selects "No", they could type a reason like "Use npm command instead" or "Don't modify this file, change X instead". This message would be passed to the model as context for the denial, so it can adjust its approach immediately.Before: Claude Code is going rogue...
{"permissions": {"deny": ["Bash(pnpm:*)"] } }After: Claude Code works well!
{"permissions": {"deny": [["Bash(pnpm:*)", { "reason": "Use npm instead" }] ] } }Alternative Solutions
Currently, after denying, the user must type a follow-up message explaining the reason, or preemptively set up hooks/rules. This adds friction and delays autonomous operation.
Priority
High - Significant impact on productivity
Feature Category
Configuration and settings
Use Case Example
Additional Context
No response