VCode home

Permission levels and Plan first

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

Each tab runs at a level: Ask, Auto or Full. At Ask the agent stops and asks you before it runs a command, fetches from the web or touches files outside the folder. Plan first keeps the agent read-only until you approve its plan.

Why you would use it

You want an agent to work in a folder you care about, but not run whatever it likes while you are away from the screen. Or you want to see the plan before any file changes. Pick Ask or Plan first for that tab, and answer from your phone when it asks.

How to use it

  1. Tap the level key in the composer (#permpick). It reads Ask, Auto or Full, or Plan while Plan first is on. The menu lists the levels this tab's agent has, ticks the one in use, and ends with the Plan first row.

    The level menu: Ask ticked and in use, Auto, Full, and the Plan first row reading read-only until you press Build.

  2. Tap a level. If a turn is running, the toast Applies after this turn shows and the next turn runs at the new level.

  3. When the agent asks, a card headed Needs you shows in the transcript. Tap Allow, Allow for session or Deny.

    The approval card: Needs you beside the orange waiting glyph, waiting · Bash, the curl command as its body, and the Allow, Allow for session and Deny buttons.

  4. For a plan first, tap Plan first in the same menu, then send your request. The agent reads and plans, and its plan arrives as a card tagged PLAN. Tap Build under it to start the work.

    A plan card: the PLAN tag, a three-step plan, and the green Build button.

  5. To set the level new tabs start at, open the cog (#settings-open), tap an agent in the Agents card, and pick a level under Default permissions (#agent-permission-claude, #agent-permission-codex and so on).

    The Agents card with Claude Code open: Logged in, Default permissions set to Full, and Update every hour.

What you see

The three levels, as the menu words them:

Level Menu note What happens
Ask edits in the folder run, the rest asks Reading and editing files in the tab's folder runs. Commands, web access and anything outside the folder wait for your answer.
Auto the agent's reviewer decides The agent's own reviewer approves or refuses each request, and asks you when it will not decide.
Full nothing asks The agent runs anything, as your user, without asking.

On a Copilot tab the menu says what Copilot does instead: Ask reads writes and commands ask, and Auto reads writes run, commands ask. See copilot.

A request card shows the agent's own words for the request and, under them, the command or file it asks about.

Which agent has which level:

Agent Ask Auto Full
claude yes yes, except on Haiku 4.5 and older yes
codex yes yes yes
opencode yes no yes
cursor yes yes yes
devin yes yes yes
copilot yes yes yes
muse yes yes yes

The approval card:

Plan first:

When a level changes under you:

Only a phone or browser signed in to the app can answer a card, change a level, turn Plan first on or off, or set a default. An agent, a script and the v-code CLI on the workstation cannot. v-code settings set refuses a permissions key with an agent cannot change permission levels; set them in the cog, and the workstation refuses the rest with Only a paired device can do this.

Options and settings

Option Default What it changes
Level key (#permpick) the agent's default This tab's level, from the next turn
Plan first off This tab plans read-only until you press Build
Default permissions (#agent-permission-<agent>) Full The level new tabs on that agent start at. It syncs to the other workstations on your account, like the rest of the cog's settings

Limits and known gaps

Ask stops mistakes. It does not stop an agent set on getting past it. Each agent enforces its own levels, and each has gaps: