ctrl+L default binding destroys typed input (chat:clearInput) — breaks terminal muscle memory
Status Open
Reported on v2.1.218
Maintainer reply None cached
Workaround ✓ Mentioned in description ↑
Activity 0 comments · opened Jul 24, 2026
What
In the Chat context, ctrl+l is bound by default to chat:clearInput, which erases the current input buffer.
Why it's a problem
Every terminal binds ctrl+L to "clear screen" — a non-destructive redraw that leaves the text already typed at the prompt intact. Anyone with that muscle memory hits ctrl+L in Claude Code expecting a screen clear and instead loses whatever they'd typed. Unlike a real terminal — where both scrollback and the current command line survive — the wiped input here is unrecoverable.
Request
- Change the default so
ctrl+lis non-destructive. There's already anapp:redrawaction (a plain repaint) that has no key bound — mappingctrl+lto it by default would match terminal convention exactly. - Surface the rebind escape hatch more prominently in the docs. It's easy to miss that
~/.claude/keybindings.jsoncan already remap this.
Workaround
Rebind ctrl+l to the non-destructive redraw in ~/.claude/keybindings.json:
{
"bindings": [
{ "context": "Chat", "bindings": { "ctrl+l": "app:redraw" } }
]
}
Environment
- Claude Code 2.1.218
- macOS 26.5.2
🤖 Generated with Claude Code