Show a plain-English reason when a command is blocked for containing unreviewable control-character bytes
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.