anthropics / anthropics/claude-code
Show a plain-English reason when a command is blocked for containing unreviewable control-character bytes
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
**Type:** UX / messaging feature request
When Claude Code refuses to run a command or tool call because it contains raw control characters — bytes that would be invisible in the permission-approval preview — the CLI surfaces only a generic tool/error message. The user can't tell whether it's a bug, a permissions denial, or a deliberate safety refusal.
**Suggestion:** Display a short, explicit reason, e.g. *"This command was blocked because it contained characters that can't be safely shown in the approval preview."*
**Why it matters:** The refusal itself is correct and desirable behaviour — it stops hidden bytes from bypassing human review of a command. But the opaque messaging caused real confusion in a working session (time lost thinking the tool was broken rather than protecting us). A one-line explanation would remove that entirely.
**Environment:** Claude Code on Windows (Git Bash tool), model Fable 5.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the blocked command in Claude Code on Windows through the Git Bash tool, then trace the existing generic tool or error message for commands containing raw control-character bytes. Done means the refusal remains in place while the CLI displays a short plain-English explanation that the command was blocked because its characters cannot be safely shown in the approval preview.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, security
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100