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_coreandwarpuicrate families, which are open source under the MIT license. - A dedicated
grid_renderermodule handles the low-level cell grid, while a higher-levelblockgrid_renderercomposes 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) orCtrl+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_sessionsetting 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:| Mode | Description |
|---|---|
normal | Standard padding around each block’s prompt, command, and output |
compact | Reduced padding — useful on smaller screens or when reviewing many commands |
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
- macOS
- Linux
- Windows
Warp runs natively on macOS (Apple Silicon and Intel). Download from warp.dev/download or install via Homebrew: