VCode home

Choose where your typing goes — Agent or Shell

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

Two chips at the top of the screen decide who reads what you type: the agent, or the shell pane.

Why you would use it

The same box serves both, so before typing you want to know where it lands. The chips say, and the placeholder says again.

How to use it

  1. On a phone the chips are in the strip #send-modes, in the row under the usage meters at the top of the screen — left of Notify. The two-row shell keypad stays in the bottom band while Shell mode is selected. On a wide screen that strip is not shown: the pair sits in each pane's header instead (.pane-modes), and is that pane's own.

    The top of the screen: the usage meters, the mode strip with the two chips at its left, then the tab strip.

  2. Agent wears the agent's own mark. Shell wears a terminal icon. Neither is labelled on screen: the names are in the tooltip and the aria-label, and the selected one is brighter with a bar under it.

    The mode strip close up: the agent's starburst, selected and underlined, then the terminal glyph, then the divider and Notify.

  3. Tap one. Tapping Shell swaps the transcript out for the shell pane. Clicking Shell in a pane header focuses that pane first, then switches it.

  4. Tap the × on the shell pane's header (#panel-close) to go back to Agent.

What you see

The placeholder in #draft follows the mode and the state:

State Placeholder
Shell mode run a shell command…
Agent idle ask Claude… — the agent's own name
Agent mid-turn, steering possible use the wheel to steer
Agent mid-turn, steering not possible queues until this turn ends

The selected chip is brighter and reports aria-pressed="true".

On a wide frame the mode belongs to the pane. sendMode is the focused pane's, so moving the focus to another pane puts the composer back in the mode that pane was left in, and an unfocused pane's header shows the mode it will come back to rather than the composer's. A pane in Shell mode shows its shell inside its own box; the other panes keep their conversations.

Limits and known gaps