anthropics / anthropics/claude-code

[Feature Request] Keyboard text selection in the prompt input: Shift+Arrow to start and extend, Cmd+Shift+Arrow to the line ends

Ouverte
#93,978 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area:tui duplicate keybindings platform:macos
Langage dominant
Python
Étoiles
145k
Forks
23.1k
Métriques de merge des PR
Métriques de PR en attente

Description

### 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)

1. In the prompt input, Shift+Left/Right/Up/Down and Shift+Home/End do nothing. The `Chat` keybinding context has no `selection:*` action, and there is no `input:select*` action to bind.
2. The `selection:extendLeft/Right/Up/Down/LineStart/LineEnd` actions exist only in the `Scroll` context, and their handler returns early unless a mouse selection already exists, so they cannot start a selection in the transcript either.
3. 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

1. 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.
2. Cmd+C or Ctrl+Shift+C copies the selection, Backspace deletes it, typing replaces it, any unshifted movement clears it.
3. Expose the actions (`input:select*`, or `selection:*` in the `Chat` context) 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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.