VCode home

Switch the model for a tab

Agents: claude, codex, opencode, cursor · 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 menu opens as a list of models, headed model for claude · now: Opus 5.5, with a tick on the one this tab is already using. Tap another.

    The model menu open above the composer, with Opus 5.5, Sonnet 5, Haiku 4.5, Fable 5.1 and auto, a green tick on the one in use, and the header naming it.

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. 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 opus and send it to set it directly. The product name works too: /model Opus 5.5 resolves to opus.

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

What you see

Options and settings

claude (OPTION_VALUES in public/app.js):

Value Shown as Note
opus Opus 5.5 agentic coding and long-horizon work
sonnet Sonnet 5 near-Opus quality at Sonnet cost
haiku Haiku 4.5 fastest and cheapest
fable Fable 5.1 most capable for your hardest and longest-running tasks
default auto whatever the CLI is configured for

codex: gpt-6-astra, gpt-6-sol, gpt-6-luna, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.3-codex-spark, and default. Their notes run from the most capable — complex, demanding work to ultra-fast coding.

opencode has no table. Its models come from the list of agents the server reports, because they depend on which providers it is logged into, plus default labelled whatever the agent is configured for.

Cursor's models also come from that list, using the model IDs and names advertised by ACP. The picker sends the exact ID ACP accepts (including any bracketed parameters); the single auto row uses ACP's default[] model.

Limits and known gaps