Skip to content

Warp Agent CLI > Using the agent

Input and shell commands in the Warp Agent CLI

Open in ChatGPT ↗
Ask ChatGPT about this page
Open in Claude ↗
Ask Claude about this page
Copied!

Compose prompts, edit input, and run shell commands in the Warp Agent CLI, including menus, history, completions, images, voice, and interactive commands.

The Warp Agent CLI is a full terminal as well as an agent: every session runs a real shell, so you can run commands in the same place you prompt the agent. The input is a multiline editor that combines readline-style editing with inline menus for slash commands, history, and completions, plus mouse support, image attachments, and voice input. This page covers composing and editing input and running shell commands. For the complete list of flags, slash commands, and keyboard shortcuts, see the Warp Agent CLI reference.

The input accepts multiple lines and soft-wraps long lines to your terminal width. It grows up to six rows tall, then scrolls.

  • Submit - Press Enter to send a prompt to the agent or run a shell command.
  • Insert a newline - Press Ctrl+J, or Shift+Enter in terminals that support distinguishing it. Alt+Enter also works.
  • Edit with readline-style keys - The editor supports familiar bindings such as Ctrl+A and Ctrl+E (start and end of line), Ctrl+W (delete the previous word), Ctrl+K and Ctrl+U (delete to the end or start of the line), Ctrl+Y (reinsert the last deleted text), and Ctrl+Z (undo).

The full editing and selection table is in the keyboard shortcuts reference.

Type / at the start of an empty input to open the slash command menu. The menu filters as you type, and entries for toggles and pickers show their current state, for example /theme (currently auto: Dark) or /auto-approve (currently off).

  1. Type / followed by part of a command name.
  2. Press or to change the selection.
  3. Press Enter to run the selected command, or Esc to close the menu.

When a command takes an argument, the input shows a ghost-text argument hint after the full command name, for example /theme <auto|light|dark>. Type the argument after the command name, then press Enter.

Your skills also appear in the slash command menu, so you can invoke a skill by typing / followed by its name.

The full command table is in the slash commands reference.

Press with the cursor on the first row of the input to open the history menu.

  • What’s listed - In agent mode, the menu combines your previous prompts and shell commands in one list, with commands marked by a ! prefix. In shell mode, the menu lists commands only.
  • Filter - Keep typing to filter the list.
  • Preview - Moving the selection previews each entry in the input and switches the input to the matching mode: recalled commands run as shell commands, and recalled prompts go to the agent.
  • Submit - Press Enter to run the selected command or send the selected prompt.
  • Dismiss - Press Esc to close the menu and restore what you had typed. Pressing past the newest entry does the same.

Commands you run in the Warp Agent CLI are added to your command history.

In shell mode, press Tab to complete the command you’re typing, including file and directory paths.

  • If exactly one completion matches, the Warp Agent CLI applies it immediately.
  • If several completions match, the Warp Agent CLI inserts the longest shared prefix and opens a completion menu. Press Tab or to move through the suggestions, Enter to accept the selected one, or Esc to dismiss the menu.

The Warp Agent CLI runs in your terminal, but the input is fully mouse-aware:

  • Position the cursor - Click anywhere in the input to move the cursor there.
  • Select text - Drag to select. Double-click selects a word, and triple-click selects a line.
  • Scroll - Use the scroll wheel to scroll the input viewport or the conversation transcript.
  • Click controls - Interactive elements such as the Voice footer entry and the attachment bar controls respond to clicks.
  • Highlight to copy - Finishing a mouse selection in the input or the conversation transcript automatically copies it, and the footer briefly shows “copied to clipboard”.
  • Keyboard selection - Extend the selection with Shift plus the arrow keys, or select everything with Ctrl+Shift+A. Copy with Ctrl+Shift+C and cut with Ctrl+X.
  • Paste - Press Ctrl+V or Ctrl+Shift+V (also Alt+V on Windows). Your terminal’s own paste shortcut works as well.

Attach images to a prompt so the agent can analyze them:

  • Paste an image - Copy an image to your clipboard and press Ctrl+V.
  • Paste or drop a file path - Paste the path to an image file, or drag the file onto your terminal window so its path lands in the input. Absolute paths, paths relative to the working directory, and ~ paths all resolve.

Supported formats are PNG, JPEG, GIF, and WebP. Attaching an image locks the input to agent mode, since images are sent to the agent rather than the shell.

Attached images appear in an attachment bar above the input:

  1. Press Tab to focus the attachment bar.
  2. Press and (or Tab and Shift+Tab) to move between attachments.
  3. Press Backspace to remove the selected attachment.
  4. Press Esc or Enter to return focus to the input.

Dictate prompts instead of typing them:

  1. Start listening with Ctrl+S, the /voice slash command, or by clicking Voice in the footer. The footer shows Listening while recording.
  2. Speak your prompt.
  3. Press Enter, or click the footer entry again, to stop recording. The footer shows Transcribing, and the transcribed text lands in the input so you can review and edit it before submitting.

Press Esc while transcription is in progress to cancel it. /voice clears the input before recording; Ctrl+S keeps what you’ve already typed.

Voice input in the Warp Agent CLI uses the same transcription service as the Warp app. See voice input for agents for microphone setup, privacy, and usage limits.

The Warp Agent CLI surfaces its shortcuts contextually, so you rarely need to memorize them:

  • Placeholder hints - An empty input shows ghost-text hints for the current state, for example “Ask the agent anything • ? for shortcuts • ! for shell mode • / for commands” in agent mode, or “Run a shell command • ? for shortcuts • esc for agent mode” in shell mode. While a long-running command owns the input, the hint row shows “ctrl-c to interrupt”.
  • Shortcuts menu - Type ? in an empty input to open a shortcuts overview. Its contents adapt to what you’re doing: agent mode lists the menu triggers and input history, shell mode shows how to return to agent mode, and extra sections appear during multi-agent sessions or agent-controlled terminal use. Press Esc, or just start typing, to close it.

The input is agent-first: by default, pressing Enter sends your text to the agent as a prompt. Use shell mode to run a command instead:

  1. Press ! at the start of the input. The prompt marker changes from > to !, and the statusline below the input shows Shell mode.
  2. Type a command and press Enter. The command runs in the session’s shell, and the input returns to agent mode.

To leave shell mode without running a command, press Esc, or press Backspace at the start of the input. Any text you typed stays in the input.

In the transcript, each command you run is marked with a ! prefix and a highlighted row background, so shell commands stay visually distinct from prompts and agent responses. Output streams in below the command as it’s produced.

In shell mode, press Tab to complete commands and paths; see Tab completions.

Out of the box, the Warp Agent CLI never guesses what your input is: everything goes to the agent unless you enter shell mode. To type commands directly without the ! prefix, turn on natural language detection:

  • Toggle detection - Run /natural-language-detection to turn detection on or off. The statusline confirms the change, and the setting persists across sessions.
  • Automatic classification - With detection on, the Warp Agent CLI classifies your input as you type. When the input looks like a shell command (for example, git status), the input switches to shell mode, and Enter runs it as a command. Everything else is sent to the agent.
  • Biased toward the agent - Short or ambiguous input stays in agent mode, and a single word switches to shell mode only when it matches a command available in your shell.

The prompt marker and statusline always show the current mode before you press Enter. If detection classifies input differently than you intended, press Esc to switch back to agent mode, or press ! at the start of the input to force shell mode.

When a command keeps running, such as a dev server, a package install, or an interactive prompt, the Warp Agent CLI hands input over to it:

  • Input passthrough - Keystrokes and pasted text are forwarded to the running process, so password requests, confirmation prompts, and other interactive programs work as they do in a plain terminal.
  • Interrupt hint - While the command owns input, a dimmed ctrl-c to interrupt hint replaces the input. Press Ctrl+C to stop the command.
  • Type ahead - If you start typing your next command before the current one finishes, the typed characters are carried into the input when the command completes, with the cursor at the end. This matches type-ahead behavior in shells like zsh and bash.

One command runs in the session at a time. If the terminal is already busy, for example while the agent is running a command of its own, submitting a shell command shows a notice in the statusline and keeps your text in the input.

Commands that switch the terminal to the alternate screen, such as vim, htop, or less, take over the whole Warp Agent CLI view:

  • The app renders full-screen and receives keyboard, paste, scroll, and mouse input, so editors and other terminal UIs are fully usable inside the Warp Agent CLI.
  • When the app exits, the transcript returns with your conversation intact.

Ctrl+C performs one contextual action per press:

  • While a command is running - Ctrl+C interrupts the running command, as in a plain terminal. It doesn’t exit the Warp Agent CLI.
  • While the agent is responding - Ctrl+C cancels the in-progress response. Text in the input is preserved.
  • At an idle prompt - Ctrl+C clears the input if it has text.

After a press at the prompt, the statusline shows ctrl-c again to exit for about one second. Press Ctrl+C a second time within that window to exit the Warp Agent CLI. This works even while the agent is responding; while a shell command is running, Ctrl+C keeps interrupting the command instead.

There are two other ways to exit:

  • Ctrl+D - Exits immediately when the input is empty.
  • /exit - Exits from the slash command menu.

When you exit, the Warp Agent CLI prints a command you can use to pick the conversation back up later. See Managing conversations for resuming and switching conversations.