[FEATURE] Single-key model cycling keybinding (re-file of #38966)
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+Yopens the model picker — a menu that must be visually scanned and dismissed./modelonly works from an empty prompt.- The only model-related keybinding actions exposed today are
chat:modelPicker,modelPicker:decreaseEffort,modelPicker:increaseEffort, andmodelPicker: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).
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗