Skip to content

Interactive Mode

Vinh Nguyen edited this page Aug 5, 2026 · 1 revision

Interactive Mode

The VT Code terminal UI is keyboard-first. Press ? on an empty input line to open a quick shortcut overlay.

General Controls

Shortcut Description
Ctrl+C Cancel the current generation or command (twice to exit)
Ctrl+D Exit interactive mode
Ctrl+L Clear the terminal screen, keep history
Ctrl+T Toggle verbose tool output
Alt+G Toggle the TODO task panel
Ctrl+O Copy last agent response as markdown
Alt+O Open/close fullscreen transcript review
Ctrl+R Reverse-search command history
Up/Down Navigate command history
Tab Accept inline suggestion; cycle primary agents when idle
Ctrl+Enter Process now / steer the active turn
Shift+Tab / Alt+M Cycle primary agents
Esc + Esc Open the rewind picker for checkpoint restore / summarize

Input Prefixes

Prefix Action
# Pick and run a custom prompt
/ Issue a slash command
! Bash mode — run a shell command directly
@ Open the file picker / reference files
@agent-<name> Insert a subagent mention
Alt+P Inline prompt suggestion (ghost text, Tab accepts)

Multiline Input

  • \ + Enter — quick escape (works everywhere)
  • Option+Enter — macOS default
  • Shift+Enter — native in Ghostty, Kitty, WezTerm, iTerm2, Warp; run /terminal-setup in VS Code, Alacritty, or Zed
  • Ctrl+J — insert a line feed

Fullscreen Mode

When running in alternate-screen mode, the transcript uses a fixed fullscreen layout (like vim or less).

  • PgUp / PgDn — scroll half a page
  • Ctrl+Home — jump to oldest content
  • Ctrl+End — jump to newest, resume auto-follow
  • Mouse wheel scrolls when mouse capture is enabled (ui.fullscreen.mouse_capture)

Alt+O opens the transcript review surface with search (/, n, N), paging (Ctrl+U/D, Ctrl+B/F), export to terminal scrollback ([), and opening in your editor (v).

Inside tmux, enable set -g mouse on for wheel scrolling. Avoid fullscreen mode in tmux -CC (iTerm2 control mode).

Slash Commands

Command Description
/help, /slash-commands List available commands
/model Switch model or provider (auto-compacts on switch)
/theme <id> Switch the active theme
/agents Create/inspect/edit subagent definitions
/agent Inspect delegated child threads
/plan Start or continue the planning workflow
/compact Compact session history now
/fork Fork the archived session
/continue, /resume Resume archived sessions
/tasks Toggle the TODO panel
/jobs Manage background/PTY jobs
/pause, /resume, /stop Steer an active run
/local Manage local inference servers
/mcp Manage MCP connections
/skills Manage agent skills
/vim, /vim on/off Toggle Vim prompt editing for the session
/statusline Generate a custom status-line command
/secret add <provider> Store an API key in the OS keyring

Vim Mode

Set ui.vim_mode = true in vtcode.toml to enable Vim-style prompt editing. Supports INSERT/NORMAL modes with motions, change/delete/yank operators, text objects, p/P, J, and . repeat. No visual mode, macros, or multiple registers.

Background Bash

  • Ask VT Code to run a command in the background, or press Ctrl+B mid-command to background it.
  • Background tasks return an ID and stream updates via BashOutput; they auto-cleanup at session end.
  • Great for build systems, package managers, test runners, and dev servers.
  • ! prefix runs a command without agent interpretation and streams output into the chat.

Active Run Steering

While a turn is running:

  • Ctrl+Enter — steer the active turn with your current draft
  • /pause — pause at the next model/tool/approval boundary
  • /stop — cancel immediately
  • Ctrl+B — start/stop the configured default background subagent

Related

Clone this wiki locally