Use a provider’s CLI
On web and desktop, use the workspace’s add-panel menu, choose Provider CLI, then select a provider. The panel opens its interactive CLI in that workspace, using the provider account configured on the connected environment. CLI panels work with local and remote environments. A new worktree must exist before you can open a CLI there.
CLI panes follow the task title reported by the provider. On web and desktop, choose Rename pane to keep a name of your own, or Use automatic title to follow the CLI again. The name is shared with your connected devices.
On mobile, open Tools, choose the environment, project, and workspace, then choose Start provider CLI. Select an installed provider to start a session on that environment. The session is also available from your other connected clients.
Choose a panel count before selecting a provider to add several panels at once. Each CLI panel starts a separate session with full access enabled, using the provider’s equivalent permission mode. This also applies when VC restarts or resumes the CLI. Restart an already-running CLI to apply this behavior.
On web and desktop, drop files into a running CLI panel to attach them. VC uploads them to the panel’s environment and inserts their paths into the CLI prompt. You can edit the prompt before sending it. Files remain available when you reopen the panel; the provider’s own file access permissions still apply. Cancel an upload from its progress notice, or remove an inserted path from the prompt before sending.
Set Settings → General → Default agent interface to Provider CLI to use it for new agent panels. You can choose VC chat in the add-panel menu for the panels you are adding, or change the default back at any time. Existing panels keep their interface.
A panel keeps its CLI or VC chat interface across web, desktop, and mobile, including when moved to another workspace. To use the other interface, create a new panel. On mobile, opening a CLI panel’s entry takes you directly to its terminal session.
The provider controls commands, permissions, and conversation history in a CLI panel. VC does not record its conversation or create turn checkpoints. Reconnecting to a running panel keeps the same CLI session.
To start a fresh conversation in the same panel, choose Reset session in its
header, or in Terminal options on mobile. Wait for the current task to finish
and leave the CLI prompt empty first. Reset sends the provider’s /new command
(/clear for Claude Code) without opening another panel. It is available for
Codex, Claude Code, Cursor, Grok, OpenCode, Devin, Kimi, Qwen, and Pi. To return to
an earlier conversation, use the provider’s own resume command.
For Codex and Claude Code, reopening a panel or restarting its CLI resumes that panel’s saved conversation, including after the environment server restarts. The saved session belongs to the environment, so web, desktop, and mobile all resume the same conversation. Its history must still exist in the provider’s configured account directory. A panel with no submitted message starts a fresh session when reopened. Reset the session for a fresh conversation in the same panel, or create another panel to keep separate conversations open together. Clearing terminal scrollback does not reset the conversation; deleting the panel removes its resume link from VC.
Other providers keep their session while the CLI is running. After the process stops, use the provider’s own resume command. Providers without an interactive CLI are unavailable in this mode.
Switch a CLI account
Exit the current CLI, then choose Switch CLI account in the panel header or Terminal options on mobile. Confirm the destination account. VC keeps the same panel, directory, and terminal history. The switch is available after the environment confirms that the old process has exited.
VC prefers a saved provider conversation for context and otherwise uses retained terminal history, which can be incomplete. When VC cannot submit context to a provider automatically, follow the instructions printed in the terminal to give the new agent its saved context. Review any incomplete-context notice before continuing. CLI panels require manual switching; chat recovery policies do not switch them automatically.
Reopen previous work
If you quit VC with panels open, VC asks whether to restore your previous session the next time you open it, including after a crash. Choose Restore session to reopen the last workspace on web or desktop, or the last thread or terminal on mobile. CLI panels use the same resume behavior described above.
Choose Later to start from the home screen. Your saved session remains available through Open previous session. This choice does not close panels or stop work on another connected device. Reconnecting to an environment or returning to the mobile app from the background does not ask again.
Select and copy text
On web and desktop, CLI panels send mouse clicks and scrolling to the running application by default. Hold Shift while dragging to select text, double-clicking to select a word, or triple-clicking to select a line. New output does not automatically clear your selection. Right-click to copy, paste, or select all retained text, including scrollback. If the CLI handles right-clicks, hold Shift while right-clicking to open the terminal menu.
Copy with Cmd+C on macOS or Ctrl+Shift+C on Windows and Linux. Select all with Cmd+A or Ctrl+Shift+A, respectively. Ctrl+A on Windows and Linux still goes to the CLI. Paste with Cmd+V or Ctrl+Shift+V; Shift+Insert also works on Windows and Linux. If a remote browser cannot read the clipboard from the menu, use the paste shortcut.
Press Escape to clear a selection; typing or pasting also clears it. These controls work with local and remote environments.
Terminal history
Each terminal keeps up to 5,000 lines and 8 MiB of scrollback on its environment server. VC removes the oldest output when either limit is reached. A long line can be shortened at the start. New terminal output is not truncated.
These limits apply when you reconnect and when VC restores saved terminal history. A client can show less scrollback than the server keeps.