VCode home

The four agents and what each one can do

Agents: claude, codex, opencode, cursor · On: phone, desktop

A tab runs one agent: claude, codex, opencode or cursor. They answer in the same transcript and take the same controls, but they do not support the same things, and VCode turns a control off rather than let you press something that would fail.

Why you would use it

You are choosing which agent to open a tab with, or you pressed a control on one agent and it was missing or disabled on another. This page is the table of what each one supports.

How to use it

  1. Open the agent picker beside the composer (#agentpick). It shows the agent's mark and name, and the menu header says agent for this tab · now: <agent>.
  2. Pick an agent. Picking a different one hands the tab over — see hand-a-tab-to-another-agent.
  3. To start a tab on a given agent instead, use the new-thread form or /new.

The agent menu listing Claude, Codex, OpenCode and Cursor, each with its own mark and a line saying what picking it does.

What you see

Each agent has its own mark, used in the tab strip, the usage meters, the assistant cards and the agent picker. The names the server sends are Claude, Codex, OpenCode and Cursor. A fifth agent, Mock, is marked synthetic: it exists for tests, is kept selectable, and is left out of the usage meters. Claude, Codex and Cursor show · log in in the new-thread picker when their CLI is not logged in; see Log in to Claude or Codex from your phone and Log in to Cursor from your phone.

An agent only appears if the server has its adapter configured.

Options and settings

Capability claude codex opencode cursor What it means for you
liveModelSwitch no yes no no Whether a model change applies without restarting the agent process
effort yes yes yes no The effort dial does something
steerMidTurn yes yes no no A message can join the turn already running
interrupt yes yes yes yes Stop ends the turn
resume yes yes yes yes The vendor session is picked up again after a restart
fork no yes no no Whether a vendor session can fork into a new tab
realDiffs no yes yes yes Edits arrive as patches instead of being synthesized
plan yes yes yes yes The plan strip is fed by the agent's own todo tool
usage yes yes no no The agent has account usage windows to meter
compact yes yes yes no Auto compact can run on this tab
approvals yes yes yes yes Approval requests are answered (always automatically)
subagents yes yes no yes Subagents reach the subagent strip
attachments yes yes yes yes Images and files can ride with a message

Other per-agent differences:

Thing Behaviour
Images claude and opencode take them inline as base64; codex takes a file path (localImage), so a large screenshot costs nothing on the wire
Compaction channel claude and opencode get a /compact prompt; codex uses thread/compact/start
/compact typed by you Sent through to claude and opencode. On codex VCode answers: codex does not compact over this channel — /clear starts the agent fresh instead.
Session adoption claude, codex and cursor. Cursor resumes its ACP session and imports no old cards; adopting an opencode session is refused with resume does not support opencode sessions
Usage meters No row for opencode: it reports no account windows
Steering opencode refuses: opencode cannot steer mid-turn; the message runs when the turn ends

Limits and known gaps