anomalyco / anomalyco/opencode
Windows: select-all bound to super+a (OS-reserved) and word-selection missing ctrl+shift+arrow
@Hona is already working on this.
Since Jul 24, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Summary
On Windows, two prompt-input selection defaults are effectively unreachable:
-
input_select_alldefaults tosuper+a. On Windows, Win+A is reserved by the OS (it opens Quick Settings / Action Center) and never reaches the terminal. Combined withctrl+abeing taken byinput_line_home, there is no reachable select-all in the prompt at all until you rebind. -
Word-selection is bound only to
alt+shift+left/right.input_select_word_backward/input_select_word_forwarddo not include Ctrl+Shift+Arrow, which is the standard word-selection chord on Windows, so that chord silently does nothing.
Environment
- opencode 1.17.15
- Windows 11 Pro (26200)
- Windows Terminal 1.24.11911.0, Windows PowerShell 5.1
The chords are delivered correctly — this is a keymap default, not input parsing
To rule out the terminal layer, I logged the actual ConsoleKeyInfo events at the prompt. The chord arrives intact, with both modifiers:
Ctrl+Shift+LeftArrow key=LeftArrow mods=Shift,Control
Ctrl+Shift+RightArrow key=RightArrow mods=Shift,Control
So Windows Terminal is encoding and delivering CSI 1;6D / CSI 1;6C correctly; opencode simply has nothing bound to it.
Suggestion
- Make
input_select_allreachable on Windows —ctrl+aorctrl+shift+a, or a platform-aware default.super+ais unusable there. - Add
ctrl+shift+left/ctrl+shift+rightto theinput_select_word_*defaults alongside the existingalt+shiftchords.
Both are workaroundable in tui.json, and I've done so locally. Filing because the defaults are surprising on Windows: select-all appears entirely missing rather than merely rebound, which reads as "the prompt has no selection support" to a user who hasn't gone through the keybinds reference.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.