Run Devin in a tab
A tab can run Devin, the Devin CLI (devin). VCode drives it over the CLI's
devin acp mode, so its answers, edits, plans and approvals show in the same
transcript as the other agents.
Why you would use it
You have a Devin account and want to use it from the phone, with the same controls you use on a Claude, Codex, OpenCode or Cursor tab. This page lists what Devin does in a tab and what it does not.
How to use it
- Install the CLI if the workstation does not have it. See install-an-agent.
- Log in to Devin if the CLI is logged out. See log-in-to-an-agent.
- Start a tab with Devin as the agent, in the new-thread card or with
/new. Pick a model in the agent's menu. The list comes from the CLI, so you see only the models your Devin plan can run. - Set the effort on the same menu, when the model has effort levels. Each
model's levels are its variants in
devin models list.

What works
- Effort. The effort dial sets the variant of the model you picked. Efforts
are named after the variant label with the family name taken off, in lower case
(
high-fast). - Steering. A message you send while a turn runs joins that turn. See queue-or-steer.
- Stop. Stop ends the running turn. See stop-a-running-turn.
- Resume after a restart. The tab picks its Devin session up again when VCode restarts. See resume-after-a-restart.
- Adopting a session. A Devin session on the workstation is listed on the resume screen. Adopting it opens a tab with the session's conversation in it. See resume-a-session-from-disk.
- Fork. A fork opens a new tab with a copy of a Devin session's conversation. See the limits below for how the copy is made.
- Side questions.
/btwasks a side question. See side-questions. /compact. VCode sends/compactto Devin, and Devin compacts its own context. You seecompacting context…, thencontext compacted.- Approvals. Below Full, a request from Devin shows as a card with
AllowandDeny. See permission-levels. - Plan. Plan turns on Devin's plan mode. Devin's plan file becomes the plan
card. When Devin asks to leave plan mode, VCode says no without a card, as it
does for Claude; tap
Buildon the plan card to turn Plan off and let Devin build. See permission-levels. - Subagents. A subagent Devin starts shows in the subagent strip.
- Images. Images you attach go to Devin inline with the message.
- Context meter. The tab's context figure follows the size Devin reports.
/mcp. The sheet lists Devin's MCP servers. See mcp-servers.
The levels
Each level maps to one of Devin's session modes:
| VCode | Devin mode | What Devin does |
|---|---|---|
| Ask | accept-edits |
Asks before it runs commands. Each request is a card. |
| Auto | smart |
Devin's own judgement decides which requests it asks you about. Any request that reaches VCode is a card. |
| Full | bypass |
Asks nothing. |
| Plan (flag) | plan |
Devin's plan mode, on any level. |
Plan replaces the level's mode while it is on. Turning Plan off returns the tab to its level.
The model picker
The picker lists the models from devin models list, narrowed to the models
your account's session allows. A model your Devin plan cannot run fails with:
devin cannot run <model id> on this account; it offers <model ids>
The Free plan runs one model, so the picker offers one.
What you see
- An effort the model does not offer is refused with
model <model> does not support effort <effort>; supported: <efforts>. - A model with no effort levels refuses an effort with
model <model> has no effort levels. - When Devin changes its own mode to leave Plan, VCode stops the turn before it
edits and shows:
Devin left Plan mode on its own, so the turn was stopped before it could edit. Send the message again to keep planning, or turn Plan off. - A compaction that fails shows
compaction failed. - A message sent while Devin is logged out shows Devin's own words,
Please log in to use Devin. Use `/login` to authenticate again., on the fault line with the login button. See log-in-to-an-agent.
Options and settings
| Setting | Default | What it changes |
|---|---|---|
DEVIN_BIN (environment variable on the workstation) |
unset | The path to the devin binary. It wins over every other place VCode looks. |
Update every hour, agentUpdate.devin |
off | Runs devin update once an hour when no Devin tab works. See update-agents-automatically. |
Limits and known gaps
- No rewind. Devin has no rewind command, and a new session cannot undo the edits of the old one.
- No usage meter. Devin reports no account quota, so the usage meters have no Devin row. The context meter still works.
- Fork and side questions copy text, not the session. Devin has no fork command. VCode gives a new Devin session the conversation as text, at most 24000 characters, newest first. Older messages are left out. The copy is a new session, not the old one.
- Locked sessions refuse. A session open in another
devinprocess cannot be adopted or forked. The resume screen shows the refusal:the devin session <session id> is open in another devin process (pid <pid>); quit it there first - Adoption imports the replay. An adopted session brings in the last 200 items of its replay at most. The agent still has the whole session.
- Instructions ride in the first message. VCode's instructions go to Devin
inside a
<vcode-system>block at the top of the first message of a new session. See what-the-agent-is-told. - MCP servers outside Devin's own config cannot be turned off or removed.
Turning one off is refused with
<name> is not in Devin's own MCP config, so Devin cannot turn it off; change it where it is configured. Such a row has no Remove button. - No tool list. Devin does not report the tools of each MCP server, so a
connected row shows
connectedwith no count. - Reconnect waits for the turn. Reconnect reloads the session, so the servers
connect again. While a turn runs the reload waits, and the refusal reads
devin reconnects its MCP servers by loading the session again; wait for the turn to end. Tap Reconnect again once the turn has ended. - Resume search covers titles. A Devin row in the resume list carries only its title, so a search matches titles and not the conversation.
- The resume list is at most a minute old. VCode reads Devin's session list at most once a minute. A list that takes longer than 10 seconds keeps the rows it had.
- Binary lookup. On Linux and macOS VCode uses
DEVIN_BINif it is set, thendevinonPATH, then~/.local/bin/devin. If none exists the tab fails withdevin is not installed (looked on PATH and in <folder>). On Windows it usesDEVIN_BIN, thendevin.exein%LOCALAPPDATA%\devin\cli\bin, thendevin.exeonPath. If none exists the tab fails withdevin is not installed (looked in %LOCALAPPDATA%\devin\cli\bin and on Path).
Related
- the-three-agents: the agents and what each one can do
- permission-levels: the levels and Plan
- mcp-servers: the MCP sheet, with the Devin differences
- side-questions:
/btwon every agent - switch-the-model: the model and effort menu
- resume-a-session-from-disk: finding and adopting sessions
- install-an-agent: installing the CLI from the phone
- log-in-to-an-agent: the paste-a-code login
- update-agents-automatically:
devin updateon a schedule - muse: running a Muse tab