Skip to content

Steer/Queue keybinding labels in picker dropdown don't match actual behavior #310962

@ulugbekna

Description

@ulugbekna

When a chat request is in progress, the queue/steer picker dropdown in the chat execute toolbar shows incorrect keybinding labels.

For example, with the default config (chat.requestQueuing.defaultAction: steer):

  • Steer with Message is labelled Alt+Enter in the dropdown
  • But pressing Enter actually steers (Alt+Enter queues)

The labels are inverted relative to the actually-bound keys.

Root cause

ActionWidgetDropdown resolves keybindings via the global IKeybindingService context. The queue/steer keybindings have when clauses requiring inChatInput and requestInProgress, which are scoped context keys not visible globally. With no matching when clause, lookupPrimaryKeybinding falls back to items[items.length - 1] — the last-registered binding for each command — which happens to be the opposite of the one currently active.

Fix in #310961.

Metadata

Metadata

Assignees

Labels

bugIssue identified by VS Code Team member as probable bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions