VCode home

The screen on a phone

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

Two bands of controls float over the conversation: everything above it in #overhead, everything below it in #underfoot. The text scrolls underneath both. The usage meters, the mode strip and the tab strip are solid, so no text shows through them; the text fades out into the plan strip and the bottom band.

Why you would use it

This is what you are looking at. Knowing which row is which makes the rest of the docs findable: "the mode strip", "the plan strip", "the status bar" all name a row in one of these two bands.

How to use it

Nothing to operate. What sits where, top to bottom:

The whole phone screen: the top band over the conversation, the conversation, and the bottom band.

#overhead: the top band.

  1. The usage meters (#agents).
  2. The mode strip (.modestrip): Agent and Shell (#send-modes), Notify, the Tabs (#tabs-open) in the compact layout, then the folder button (#files-open), Install (#install) and the cog (#settings-open) at the right edge.
  3. The top bar (.topbar): the tab strip (#tabstrip), the new-thread plus (#new-tab) right after the last tab, and the update-ready arrow (#update-ready, only while an update is waiting).
  4. The plan strip (#planstrip), when the agent has steps to show.

The top band on its own: usage meters, mode strip, top bar, plan strip.

#underfoot: the bottom band.

  1. The offline banner (#offline-banner).
  2. The two-row shell keypad (#tray-keys), while Shell mode is selected.
  3. The subagents strip (#subs).
  4. The status bar (#statusbar).
  5. The slash menu (#slashmenu) and the attachment row (#drafts).
  6. The composer (.composer): agent, model and effort pickers, attach, the composer (#draft), mic, steer and send.
  7. The version row (.app-version): the release the tab's workstation runs, written v0.0.563. Its tooltip is the app's own build in the same form, shell v0.0.563, which the row shows instead on a workstation run from a clone. A release takes its number from the app build it was cut with, and the app takes a new build only once the workstation runs it (update to a new build), so the two match. A workstation that restarts on a new release shows the new number as soon as its threads reconnect, with no reload. Right of it the connection dot (#link-dot).

The bottom band on its own: the subagents strip, the status bar, the composer and the version row with the connection dot.

The conversation (#thread) fills the space between them; in Shell mode the terminal (#panel) fills the same slot, and the composer, the attachment row and the slash menu are hidden. From 760px up both are a pane's instead, in #panes between the bands. See wide-layout.

What you see

Limits and known gaps