[BUG] Permission prompt explanation feature broken: Ctrl+E does nothing, hint missing (regression in 2.1.143)
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?
Ctrl+E (mapped to confirm:toggleExplanation in the Confirmation context) no longer toggles a permission explanation on Bash permission prompts. The "Press Ctrl+E to explain" hint that previously appeared in the prompt UI is also no longer shown.
Pressing the bound key produces no visible change — no panel opens, no text appears, the prompt UI is unchanged. Rebinding the same action to a different key (?) and pressing that also does nothing, indicating the action itself is silently a no-op rather than a key-routing collision.
The keybinding registration is still present and not flagged by /doctor.
What Should Happen?
Pressing Ctrl+E on a permission prompt should toggle an explanation panel describing what the tool will do and its risk (the behavior that existed in earlier versions). The prompt should also display the "Press Ctrl+E to explain" hint.
Error Messages/Logs
Steps to Reproduce
- Start Claude Code v2.1.143 in a project with no permission overrides for
Bash. - Confirm
~/.claude/keybindings.jsonhas the default binding: in theConfirmationcontext,"ctrl+e": "confirm:toggleExplanation". - Confirm permission mode is
default(not auto / accept-edits / dangerously-skip). - Ask Claude to run a destructive Bash command not on any allowlist, e.g.
rm /tmp/some_file_that_does_not_exist. - When the Bash permission prompt appears:
- Observe: no "Press Ctrl+E to explain" hint is shown.
- Press
Ctrl+E. Nothing happens.
- As a control, add
"?": "confirm:toggleExplanation"alongsidectrl+ein the same context. Reload keybindings (auto-detected per docs). Re-trigger the prompt and press?. Nothing happens — confirms the action is the issue, not the key.
Confirmation that the keystroke reaches the process: running cat and pressing Ctrl+E echoes ^E, ruling out terminal interception.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Unknown — feature was visibly present in an earlier 2.x.x release where the "Press Ctrl+E to explain" hint was rendered in the prompt UI. No changelog entry between 2.1.130–2.1.143 mentions removal of confirm:toggleExplanation or its hint.
Claude Code Version
2.1.143 (Claude Code)
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
WSL (Windows Subsystem for Linux)
Additional Information
~/.claude/keybindings.jsonConfirmation block (default binding preserved):
``json``
{
"context": "Confirmation",
"bindings": {
"y": "confirm:yes",
"n": "confirm:no",
"enter": "confirm:yes",
"escape": "confirm:no",
"up": "confirm:previous",
"down": "confirm:next",
"tab": "confirm:nextField",
"space": "confirm:toggle",
"shift+tab": "confirm:cycleMode",
"ctrl+e": "confirm:toggleExplanation"
}
}
- Related: #24150 describes a UX collision between
Ctrl+Efor explanation and the "Tab to amend" flow. That issue presumes the explanation feature is still functional; the present report is that the action itself is now a no-op. - 2.1.116 changelog: "
Ctrl+AandCtrl+Enow move to the start/end of the current logical line in multiline input" — repurposesCtrl+Eat the chat-input level. May or may not be related; the no-op behavior persists even with an alternate key bound toconfirm:toggleExplanation, which suggests the action is independently broken/removed. - 2.1.132 changelog: "Bash permission prompts showing an internal parser diagnostic instead of a user-readable explanation" — implies a recent fix touched Bash explanation rendering. Possibly the same code path is now no-op.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗