Chat input has no text selection: shift+arrow, shift+home/end, ctrl+shift+arrow all do nothing

Status Open
Maintainer reply None cached
Activity 1 comment · opened Jul 24, 2026

Summary

The chat input supports cursor movement (Home, End) and word-wise deletion (Alt+D), but appears to have no text-selection capability at all. Shift+Home, Shift+End, Shift+Arrow, and Ctrl+Shift+Arrow all do nothing in the input.

The selection:* actions — selection:extendLeft, selection:extendRight, selection:extendLineStart, selection:extendLineEnd, selection:copy — exist only in the Scroll context (the scrollable view in fullscreen layout), not in the Chat context. There is no chat-context selection action to rebind them to in ~/.claude/keybindings.json, so this isn't reachable via user configuration.

Impact

Revising a long prompt means deleting word-by-word with Ctrl+Backspace / Alt+D, or reaching for the mouse. There's no keyboard way to select a range and type over it, which is standard behavior in essentially every other text input.

Environment

  • Windows 11 Pro (26200)
  • Windows Terminal 1.24.11911.0, Windows PowerShell 5.1

Not a terminal-layer issue

I logged the actual ConsoleKeyInfo events at the prompt to rule out the terminal. Every chord is delivered intact:

Shift+Home              key=Home        mods=Shift
Shift+End               key=End         mods=Shift
Shift+LeftArrow         key=LeftArrow   mods=Shift
Shift+RightArrow        key=RightArrow  mods=Shift
Ctrl+Shift+LeftArrow    key=LeftArrow   mods=Shift,Control
Ctrl+Shift+RightArrow   key=RightArrow  mods=Shift,Control

For contrast, opencode running in the same terminal does implement prompt selection (shift+left/right, shift+home/end, alt+shift+arrow for word-wise), so the sequences are usable by a TUI in this environment.

Request

Text selection in the chat input — at minimum Shift+Arrow, Shift+Home, Shift+End; ideally Ctrl+Shift+Arrow for word-wise selection and a select-all binding. Exposing these as bindable Chat-context actions would also let users remap them.

View original on GitHub ↗

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