Skip to main content
Warp is a terminal emulator that replaces the traditional scrolling-text model with a structured blocks interface, where every command and its output form a discrete, selectable unit. Under the hood, Warp renders using wgpu, a cross-platform GPU graphics API, which keeps the interface fast and responsive even with large amounts of output. You get all the power of a standard shell — bash, zsh, fish, or PowerShell — plus AI assistance, team collaboration, and smart input tools built directly into the terminal window.

How Warp differs from traditional terminals

Traditional terminals like iTerm2 or a plain bash/zsh window treat the terminal as one continuous stream of text. Warp separates each command into a block: a self-contained element with a clearly delineated input area (where you type) and an output area (what the command printed). This structure unlocks features that are impossible in a raw scrollback buffer — you can copy, share, or bookmark any block independently.

Blocks

Structured command output with copy, share, and bookmark support

Completions

Tab completions and autosuggestions powered by the warp_completer engine

Workflows

Save and reuse commands as parameterized snippets in Warp Drive

SSH

Bring Warp’s UI to remote sessions with warpify and tmux integration

GPU-accelerated rendering

Warp renders its UI using wgpu, the same cross-platform GPU abstraction layer used in modern game engines and browsers. This means:
  • Text and output are rendered on the GPU rather than through a system text-drawing API, avoiding the slowdowns that affect CPU-rendered terminals with high-volume output.
  • The rendering pipeline is built in Rust with the warpui_core and warpui crate families, which are open source under the MIT license.
  • A dedicated grid_renderer module handles the low-level cell grid, while a higher-level blockgrid_renderer composes blocks on top of it.

Tabs, panes, and sessions

You can manage multiple terminal sessions inside a single Warp window using tabs and pane splitting:
  • Tabs — open a new tab with Cmd+T (macOS) or Ctrl+T (Linux/Windows). Each tab runs its own independent shell session.
  • Pane splitting — split the current pane horizontally or vertically to view two sessions side by side. Panes resize dynamically as you drag the divider.
  • Session restore — when the general.restore_session setting is enabled, Warp reopens your previous tabs and panes the next time you launch the app.
Warp tracks terminal size per pane. The number of rows is always derived from the pane’s pixel height and font metrics, so programs that rely on TIOCGWINSZ (for example, vim, htop, or tmux) always see the correct dimensions.

Spacing and appearance

Warp’s block list supports two spacing modes:
ModeDescription
normalStandard padding around each block’s prompt, command, and output
compactReduced padding — useful on smaller screens or when reviewing many commands
You can switch between them in Settings → Appearance → Spacing or by setting appearance.spacing in your configuration file. Full-screen terminal applications (like vim, htop, or less) run in an alt screen that overlaps the block list. By default, alt-screen apps use zero padding (appearance.full_screen_apps.alt_screen_padding = { custom = { uniform_padding = 0 } }), but you can match it to the block list padding or set a custom value.

Supported platforms

Warp runs natively on macOS (Apple Silicon and Intel). Download from warp.dev/download or install via Homebrew:
brew install --cask warp

Building from source

Warp’s client is open source. To build and run it locally:
./script/bootstrap   # platform-specific setup (installs Rust toolchain, etc.)
./script/run         # build and launch Warp
./script/presubmit   # run fmt, clippy, and tests before submitting a PR
See WARP.md in the repository for the full engineering guide.
OpenAI is the founding sponsor of the open-source Warp repository. The agentic management workflows are powered by GPT models, and the Warp client codebase is licensed under AGPL-3.0.

Build docs developers (and LLMs) love