[BUG] Double Ctrl+L no longer runs /clear: the double-press gate was removed in 2.1.238, leaving no key path to clear the conversation

Status Open
Reported on v2.1.237
Maintainer reply None cached
Activity 1 comment · opened Aug 21, 2026

Summary

Up to and including 2.1.237, pressing ctrl+l twice within 2 seconds submitted /clear, with a footer hint Press ctrl+l again to /clear after the first press. In 2.1.238 the gate is gone: both presses are no-ops beyond a redraw, no hint appears, and the conversation is retained.

Since no action in the Chat action list maps to /clear, the double press was the only way to clear a conversation from the keyboard. There is now none.

Repro

  1. claude on 2.1.237, send one message, press ctrl+l twice quickly. Footer shows Press ctrl+l again to /clear, second press clears the conversation.
  2. Same steps on 2.1.238. No hint, no clear, conversation intact.

Evidence

Both handlers in 2.1.238 resolve to the same callback, which only bumps a redraw counter:

// 2.1.238
{"chat:clearScreen": dT, "chat:clearInput": dT}
dT = useCallback(() => { JT(x => x + 1) }, [])

2.1.237 wired the same two actions through a 2 second double-press gate whose second press submitted /clear:

// 2.1.237
PV  = useCallback(o => { ... je({show:!0, key:Ej.current, action:"clear"}) ... })  // arms the hint
LEe = useCallback(() => { gt.current?.("/clear", !0) })                            // second press
Z3  = bfe(PV, LEe, void 0, 2000)                                                   // 2s window
UC  = useCallback(() => { uVe(o => o + 1); Ej.current = pJ; Z3() })                 // chat:clearInput
HEe = useCallback(() => { Ej.current = dJ; Z3() })                                 // chat:clearScreen

The hint renderer was removed with it. In 2.1.237:

const T8e = Ihs.action === "clear" ? "/clear" : ...
<Text dimColor>Press {Ihs.key} again to {T8e}</Text>

In 2.1.238 the action === "clear" branch is absent, and the remaining action:"clear" strings belong to unrelated footer chords.

Counts over the installed bundles:

| Version | ,void 0,2000) gates | action:"clear" | "/clear" literals |
| --- | --- | --- | --- |
| 2.1.236 | 1 | 11 | 5 |
| 2.1.237 | 1 | 11 | 5 |
| 2.1.238 | 0 | 10 | 3 |

Impact

chat:clearInput and chat:clearScreen are now the same redraw and neither does what its name says. The Chat action list (cancel, killAgents, cycleMode, modelPicker, fastMode, thinkingToggle, workflowKeywordToggle, submit, newline, undo, externalEditor, stash, imagePaste, clearInput, clearScreen) contains nothing that clears the conversation, so rebinding cannot recover the behavior. The only remaining route is typing /clear manually, or a terminal-level "send text" mapping outside Claude Code.

Request

  1. Either restore the double-press path, or, if the removal was deliberate, say so in the changelog and the keybindings docs, which still describe neither the old gate nor its removal.
  2. Expose a bindable chat:clearConversation action, as asked in #57600 (closed by the inactivity bot). With the double press gone, that request is no longer a convenience, it is the only path.

Related: #83528 documents the gate as it behaved in 2.1.220 and asks for a side-effect-free clearInputText; its premise is now stale on 2.1.238. #55350 asked to make the double press separately disablable.

Environment

Claude Code 2.1.238, macOS (Darwin 25.5.0), iTerm2 3.6.11, native installer at ~/.local/share/claude/versions/. Verified against the 2.1.236 and 2.1.237 bundles on the same machine.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗