[BUG] v2.1.94 silently changed Ctrl+L default from app:redraw to chat:clearInput

Status Fixed / completed
Reported on v2.1.92
Maintainer reply ✓ Yes — claude[bot]
Activity 5 comments · opened Apr 8, 2026 · closed May 1, 2026
💡 Likely answer: A maintainer (claude[bot], contributor) responded on this thread — see the highlighted reply below.

Bug Description

v2.1.94 changed the default keybinding for Ctrl+L from app:redraw (screen refresh) to chat:clearInput (wipe prompt text) without any mention in the release notes.

This is a breaking change to muscle memory — Ctrl+L has meant "redraw/refresh" in every terminal, shell, and REPL for decades. Silently changing it to a destructive input action (clearing what you've typed) is a serious regression.

Verification

Confirmed by searching the binaries directly:

$ strings ~/.local/share/claude/versions/2.1.92 | grep -o '"ctrl+l":"[^"]*"'
"ctrl+l":"app:redraw"

$ strings ~/.local/share/claude/versions/2.1.94 | grep -o '"ctrl+l":"[^"]*"'
"ctrl+l":"chat:clearInput"

In v2.1.92, ctrl+l was bound to app:redraw in the Global context. In v2.1.94, a new ctrl+lchat:clearInput binding was added in the Chat context, which takes precedence over the Global binding.

Expected Behavior

Ctrl+L should remain bound to app:redraw, matching its behavior in v2.1.92 and every other terminal application.

Workaround

Simply rebinding ctrl+l to app:redraw in the Chat context doesn't work — app:redraw is registered in the Global context and does nothing when invoked from Chat. You need to both null out the Chat binding and restore the Global one in ~/.claude/keybindings.json:

{
  "bindings": [
    {
      "context": "Global",
      "bindings": { "ctrl+l": "app:redraw" }
    },
    {
      "context": "Chat",
      "bindings": { "ctrl+l": null }
    }
  ]
}

Environment

  • Version: 2.1.96 (regression introduced in 2.1.94)
  • Platform: Linux (WSL2)

View original on GitHub ↗

5 Comments

elibarzilay · 4 months ago

Filed by an AI, but suffered by a human.

elibarzilay · 4 months ago

One more note: something that I left too implicit is that changes like that -- even if intentional -- should absolutely be mentioned in any form of release notes, since it's a very visible and very breaking change.

StefanKarpinski · 4 months ago

Omg, please prioritize fixing this. I've lost several long inputs to this. Especially when writing a long input, I will reflexively type ctrl-L to clear the screen and move the input to the top of the terminal. Now, this IRREVOCABLY DELETES EVERYTHING YOU'VE TYPED. Very unfortunate bug.

claude[bot] contributor · 4 months ago

This issue was fixed as of version 2.1.126.

github-actions[bot] · 3 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.