VCode home

Switch the model for a tab

Agents: claude, codex, opencode, cursor, devin, copilot, muse · On: phone, desktop

Each tab runs one model. Change it by tapping the model button under the composer, or by typing /model.

Why you would use it

The tab was opened for a quick question on the cheap model and has turned into real work. Or the reverse: you are on the expensive model and about to ask something trivial. The model is per tab, so one tab can grind on a big refactor while another answers quick questions.

How to use it

  1. Tap the model button (#modelpick) in the row under the composer, between the agent's name and the effort. It shows the model this tab runs, or auto.

  2. The slash panel opens on its Models slot: a search bar reading Search models and Claude · 5, and the list of models under the agent's name, with a green tick on the one this tab is already using. Tap another, or type in the search bar to filter. A search also lists the matching models of every other agent on this box, each under its agent's name, and the count reads All. Tapping one hands the tab to that agent on that model, at auto effort. On a model with effort levels, the Effort slider sits over the search bar; see set the effort. On a model with fast mode, the Fast switch sits under it; see fast mode.

    The panel open above the composer on the Models slot, with the Effort slider and the Fast switch over the search bar and Opus (1M context), Fable, Sonnet, Haiku and auto, each with the note its CLI gives, a green tick on Opus and a house and a star on every model but auto.

  3. Choose the model and effort, then star the model to save its harness, model and effort in Favourites. Your favourites lead the Models list under Favourites, from every harness, so one tap restores a saved configuration. The Favourites slot lists them too. Each favourite shows its effort on the right: the level's name and five rising bars, grey for low up through green, yellow and orange to red for max. auto leaves the bars unlit. A star on another model saves it at auto effort. The house beside the star makes a model the one new tabs open on; see default-start. See the slash menu.

The list is what the agent's own CLI offers on this machine, so a new model shows up without an update to VCode. Type /refresh-models to ask the CLIs again now; see update-from-a-tab.

Or, by typing:

  1. Type /model. The menu becomes the same list of models as soon as the word is finished (no space needed) and keeps filtering as you type a value, across every agent the same way. Typing /model while the panel is already open from the model button hands the panel to the draft. It works at the end of a message already written: picking a model there sets it and takes /model out of the draft, leaving the message.
  2. Send /model on its own to see what the tab is on instead.
  3. Type /model sonnet and send it to set it directly. The name the menu shows works too: /model Sonnet resolves to sonnet.

Both the picker and the typed command go through the same place, so they cannot mean different things.

What you see

Options and settings

Every agent's list comes from its CLI on this machine, as the account it is logged into sees it. Each list ends with auto (whatever the agent is configured for), which sends no model and leaves the choice to the CLI.

Agent Where the list comes from
claude The models the CLI offers this login, with the names and notes it gives them (opus[1m] is Opus (1M context))
codex The models the CLI lists for this account; hidden ones are left out
opencode The models of the providers it is logged into
Cursor The model IDs and names ACP advertises; the picker sends the exact ID, and auto uses ACP's default[]
devin The models devin models list names, narrowed to the ones your account's session allows. Each effort is a variant of the model, and the picker sends the variant's ID
copilot The models in the model section of copilot help config, with Auto first. Every model but Auto takes the efforts none, minimal, low, medium, high, xhigh and max
muse The models model/list names on a muse serve of its own, with each model's efforts as its variants. Logged out, Muse lists none

The box asks each CLI once and keeps the answer for an hour. After that the next look at the list is served the old answer while the box asks again in the background. /refresh-models asks at once. Devin's list is kept until /refresh-models asks again; the list of Devin's families is kept for 10 minutes.

Limits and known gaps