[FEATURE] Open the /model picker while the agent is busy and apply the switch next turn

Status Open
Reported on v2.1.233
Maintainer reply None cached
Activity 0 comments · opened Aug 17, 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

When the agent is busy (extended thinking, streaming a response, or running tools), typing /model does not open the model picker. The command is queued like a regular message and only executes after the current turn fully completes.

However, a model change never affects the in-flight request anyway — it can only take effect on the next API request. So making the user wait for the current turn to finish before they can even select a model adds pure latency with no correctness benefit. On long agentic turns (multi-minute tool runs), this means babysitting the session just to press a key later.

The common situation: partway through a long turn I already know the next turn should run on a different model — e.g. drop from Fable/Opus to Sonnet for cheap follow-up edits, or escalate to a stronger model because the task turned out harder than expected. Right now I have to wait, watch for the turn to end, then switch, then send.

Proposed Solution

Let /model open the picker immediately, even while the agent is processing:

  1. The in-flight turn continues and finishes on the current model (unchanged behavior).
  2. The selection is stored as a pending model change and applied to the next request.
  3. Optionally, the status line indicates the pending switch, e.g. model: opus → sonnet (next turn).

This is consistent with existing UX: plain text typed mid-turn is already queued for later, and /model selections already only take effect on subsequent requests. The change is only about when the picker can be opened, not about when the switch takes effect.

Alternative Solutions

  • Wait for the turn to finish (current behavior): works, but on long turns it forces the user to sit and watch the session.
  • Press Esc to interrupt, switch, then re-prompt: switches immediately, but throws away the in-flight work and wastes the tokens already spent on that turn.

Priority

Medium - Would be very helpful

Feature Category

Interactive mode (TUI)

Use Case Example

Example scenario:

  1. Kick off a long refactor on a high-capability model; the turn runs tools for several minutes.
  2. Midway I can already tell the remaining follow-ups are mechanical and a cheaper model is enough.
  3. Today: /model sits queued until the turn ends, so I have to keep watching the terminal to switch at the right moment.
  4. With this feature: type /model, pick the cheaper model, walk away — the current turn finishes as-is and the next message automatically goes out on the new model.

Additional Context

  • Observed on Claude Code 2.1.233 (macOS, terminal).
  • Since model selection is effectively per-request, deferring the application of the switch (rather than blocking the selection UI) should be safe and require no changes to in-flight request handling.

View original on GitHub ↗