[Feature Request] Keyboard text selection in the prompt input: Shift+Arrow to start and extend, Cmd+Shift+Arrow to the line ends
Status Open
Reported on v2.1.270
Maintainer reply None cached
Activity 0 comments · opened Sep 13, 2026
Problem
Follow-up to #27561, closed as available in fullscreen with "if a specific interaction is still missing after switching, please open a focused issue for it." This is that issue: selecting text in the prompt input with the keyboard.
The habit from every macOS editor: hold Shift and press an arrow to start and extend a selection from the cursor, Cmd+Shift+Left/Right to grab to the line start or end, then Cmd+C, Backspace, or type over it.
What happens today (2.1.270, "tui": "fullscreen", Ghostty 1.3.1)
- In the prompt input, Shift+Left/Right/Up/Down and Shift+Home/End do nothing. The
Chatkeybinding context has noselection:*action, and there is noinput:select*action to bind. - The
selection:extendLeft/Right/Up/Down/LineStart/LineEndactions exist only in theScrollcontext, and their handler returns early unless a mouse selection already exists, so they cannot start a selection in the transcript either. - The terminal is not in the way. Ghostty's default shift+arrow binds are
performable, so they pass through to Claude Code whenever Ghostty has no selection of its own.
Proposed behavior
- Shift+Arrow in the prompt input starts a selection at the cursor if none exists, otherwise extends it. Shift+Home/End and Cmd+Shift+Left/Right (Cmd where the terminal reports Super, otherwise the Ctrl or Meta equivalents per the keybindings docs) extend to the line ends.
- Cmd+C or Ctrl+Shift+C copies the selection, Backspace deletes it, typing replaces it, any unshifted movement clears it.
- Expose the actions (
input:select*, orselection:*in theChatcontext) so they can be rebound in keybindings.json.
Related: #23396 (closed as a duplicate of #14789, which was closed not planned before fullscreen shipped), #21855, #52912.
Environment
Claude Code 2.1.270, macOS (Darwin 25.6), Ghostty 1.3.1, fullscreen TUI.