microsoft / microsoft/vscode

Bug / UX Flaw: workbench.action.openAgentsWindow breaks default text editing binding (Toggle Block Comment)

Open
#326,962 0 comments 1 reaction 1 assignee Claimed by @ulugbekna View on GitHub
agents-window bug
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

Type: Bug

### Summary
The keybinding `Ctrl+Shift+A` assigned to `workbench.action.openAgentsWindow` conflicts directly with core text-editing functionality and user expectations. Furthermore, its `when` context clause is overly broad, capturing keystrokes even while `editorTextFocus` is active.

### Problem Description
1. **Context Overlap:** When editing code, pressing `Ctrl+Shift+A` invokes `workbench.action.openAgentsWindow` instead of block commenting or user-customized editor actions, because the new Agent/Chat conditions take precedence over editor scope.
2. **Keybinding Space Exhaustion:** Finding an unassigned `Ctrl` + `Shift` + `[Letter]` shortcut is mathematically and practically constrained due to:
- Operating System reserved global shortcuts (Windows/Linux/macOS).
- International keyboard layout incompatibilities with non-alphanumeric keys.
- High density of existing default shortcuts in VS Code.

Because of this, assigning a single-stage primary shortcut (`Ctrl+Shift+A`) to a secondary feature like the Agents Window inevitably breaks core workflows for developers.

### Probabilistic & Combinatorial Issue
Assuming standard 26-letter layouts:
- A large percentage of direct `Ctrl+Shift+[A-Z]` combinations are already mapped by either the host OS, accessibility features, or core editor actions.
- Assigning new AI/Chat features to primary single-stage hotkeys creates a high-probability collision risk for non-English layouts or existing user bindings.

### Suggested Solution
- **Option A (Recommended):** Change `workbench.action.openAgentsWindow` to a chord shortcut (e.g., `Ctrl+K Ctrl+A` or `Ctrl+Cmd+A`), which is the established standard in VS Code for secondary or feature-specific panels.
- **Option B:** Restrict the `when` clause of `workbench.action.openAgentsWindow` so it explicitly yields when `editorTextFocus` is `true`.

### Environment
- **VS Code Version:** [Tu versión actual de VS Code]
- **OS:** [Tu sistema operativo, e.g., Windows 11 / Linux / macOS]

VS Code version: Code 1.129.1 (8a7abeba6e03ea3af87bfbce9a1b7e48fed567b8, 2026-07-17T15:35:09Z)
OS version: Linux x64 7.0.0-28-generic snap
Modes:

System Info

|Item|Value|
|---|---|
|CPUs|Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 x 1800)|
|GPU Status|2d_canvas: disabled_software
GPU0: VENDOR= 0x0000, DEVICE=0x0000
Machine model name:
Machine model version:
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: disabled_software
multiple_raster_threads: disabled_off
opengl: disabled_off
rasterization: disabled_software
raw_draw: disabled_off_ok
skia_graphite: disabled_off
trees_in_viz: disabled_off
video_decode: disabled_software
video_encode: disabled_software
vulkan: disabled_off
webgl: disabled_off
webgpu: disabled_off
webgpu_on_vk_via_gl_interop: disabled_off
webnn: disabled_off|
|Load (avg)|2, 1, 1|
|Memory (System)|18.94GB (14.26GB free)|
|Process Argv|--no-sandbox --force-user-env --ozone-platform=x11 --crash-reporter-id 247072ac-735d-4b7b-97a1-d7d24ab77b0b|
|Screen Reader|no|
|VM|0%|
|DESKTOP_SESSION|ubuntu|
|XDG_CURRENT_DESKTOP|ubuntu:GNOME|
|XDG_SESSION_DESKTOP|ubuntu|
|XDG_SESSION_TYPE|wayland|
Extensions (1)

Name|Identifier|Author|Version
---|---|---|---
Live Server|ritwickdey.liveserver|ritwickdey|5.7.10

A/B Experiments

```
vsliv368cf:30146710
pythonvspyt551:31249599
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
6518g693:31463988
aj953862:31281341
6abeh943:31336334
envsactivate1:31551504
cloudbuttont:31379625
3efgi100_wstrepl:31403338
56b7f661:31457055
ec5jj548:31422691
cp_cls_t_966_ss:31526232
4je02754:31466945
c3h7c220:31478652
cp_cls_c_1081:31454833
conptydll_true:31498968
e9c30283:31461165
test_treatment2:31471001
c9b86496:31447327
capico_bxe_098a3278:31551525
idci7584:31464702
e3e4d672:31494082
ei9d7968:31496641
chat:31457767
8hig5102:31480529
89g7j272:31518289
7e187181:31503455
i2gc6536:31499202
52612955:31516516
ghj88844:31499326
ddid_t:31478206
hmra_i5g22:31518061
7df3h592:31512476
cp_cls_t_1082:31535311
logging_enabled_new:31498466
j0d79568:31499440
jb_cp_cls_t_632:31543129
56dj4588:31512888
32d76977:31512328
ha629193:31508444
cdk-lw-on:31524445
f9bf7985:31543584
a1ije391_t:31540920
41836166:31537719
jbcp_cls_pctr_t:31531130
61138546:31518536
cp_intellij_t_nes:31548657
jf4hg949:31526829
nes-curr-leftover-1500:31538366
8hjh2968:31552050
h561g132:31533256
sessions_5:31532894
ihg5j128:31534457
f412h606:31551416
7g2b5551:31542111
max-result-100:31551154
sandbox-ui-on-2:31543161
nes-ex-cf-euporie-03:31542868
5fe6f778:31554331
allow-none:31553854
fd5dc207:31551400
nes-gb3-nf-6k:31554346
0dg73464:31554319

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.