[FEATURE] Single-key model cycling keybinding (re-file of #38966)

Resolved 💬 3 comments Opened May 19, 2026 by rcorre Closed Jun 18, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

There is no way to bind a single keystroke that cycles the active model, analogous to how Shift+Tab cycles permission modes via the chat:cycleMode action. Existing options all break flow:

  • Alt+P / Ctrl+Y opens the model picker — a menu that must be visually scanned and dismissed.
  • /model only works from an empty prompt.
  • The only model-related keybinding actions exposed today are chat:modelPicker, modelPicker:decreaseEffort, modelPicker:increaseEffort, and modelPicker:setAsDefault. None of them cycle models from the chat input in a single keypress.

This is a re-file of #38966, which was auto-closed by the stale-bot on 2026-05-06 with \"Please open a new issue if this is still relevant.\" It is still relevant.

Proposed Solution

Add a chat:cycleModel action (bindable from the Chat context) that rotates through a user-configured list of pinned models on each keypress and wraps around.

Configuration (settings.json):

\\\json
{
\"modelCycle\": [\"opus\", \"sonnet\", \"haiku\"]
}
\
\\

Keybinding (keybindings.json):

\\\json
{
\"context\": \"Chat\",
\"bindings\": {
\"alt+m\": \"chat:cycleModel\"
}
}
\
\\

The active model is already shown in the status line, so visual feedback is in place.

Alternative Solutions

  • chat:modelPicker (existing) — opens a picker; not a one-keystroke cycle.
  • /model <name> slash command — requires typing and an empty prompt.
  • UserPromptSubmit hooks triggering on trigger words — clever workaround but not a keybinding.

Priority

Medium - Workflow improvement

Feature Category

Interactive mode (TUI)

Use Case Example

Mid-session model switching is common: Sonnet for implementation, Opus for tricky design calls, Haiku for quick lookups. Shift+Tab already gives this UX for modes; models deserve the same.

Additional Context

Prior issue: #38966 (closed NOT_PLANNED by stale-bot, 2026-05-06).

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗