VCode home

Run shell commands in the tab

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

Switch the composer from the agent to a shell. What you type runs in a real shell on the machine, in this tab's folder, and the output fills the screen where the transcript was.

Why you would use it

You are on a phone and you want to run git status, start a dev server, or read the output of a build the agent is not going to run for you. You also want it in the tab's own folder, without telling an agent to do it and hoping it does.

How to use it

  1. Tap Shell in the strip above the composer (#send-modes, the chip with the >_ mark). The transcript is replaced by the shell pane (#panel). On a wide screen the same button is in each pane's header, and the shell fills that pane alone, under its header; the other panes keep their conversations.

    The shell pane filling the screen with ls, a test run, git status and a dev-server URL.

  2. Type a command in the composer (#draft) — the placeholder now reads run a shell command… — and tap send (#send).

    The composer with "npm run dev" typed and the send arrow lit.

  3. Read the output in the pane. It refreshes on its own every 2 seconds while the pane is showing and you are online.

  4. In Shell mode the two-row keypad stays open in the bottom band. Tap a key to send it to the pane.

  5. Tap Agent in the same strip, or the ✕ in the pane header (#panel-close, "Back to the agent"), to go back to the transcript. On a wide screen a pane that loses the focus shows its transcript again, and comes back to the shell when it is focused.

What you see

Options and settings

Option Default What it changes
VCODE_SHELL_SESSION v-code-shell (v-code-shell-prod in the unit) Name of the tmux session the panes live in
VCODE_SHELL_COLS 120 Width the session is created at
VCODE_SHELL_ROWS 40 Height the session is created at

Limits and known gaps