Skip to main content
A block is the fundamental unit of the Warp terminal. Every time you run a command, Warp wraps the input you typed and the output it produced into a single, structured block. Instead of a continuous scrollback buffer where output from different commands blends together, each block is visually and programmatically distinct — you can select, copy, share, or bookmark it independently of everything else on screen.

Anatomy of a block

Each block contains four parts:
PartWhat it shows
PromptThe shell prompt at the moment the command was run (user, host, working directory, git branch)
InputThe command you typed
OutputEverything the command printed to stdout or stderr
Exit metadataExit code, timing, and any inline AI annotations
Warp maintains these parts with precise padding controlled by the BlockPadding model — separate values for the top of the block, between the prompt and command, between the command and output, and below the output. The spacing mode (normal or compact) scales all of these at once.

Selecting and copying a block

Click anywhere inside a block to focus it. Once a block is focused, a block toolbar appears at the top right. From the toolbar you can:
  • Copy output — copies the output text to your clipboard.
  • Copy command — copies just the input command.
  • Copy block — copies both command and output together.
  • Select text — click and drag within the output area to select a range of text, then copy it with Cmd+C / Ctrl+C.
You can also right-click anywhere inside a block to access the context menu with the same copy options, plus additional actions like searching for the command in your history.

The block toolbar

When you hover over a block or click into it, the toolbar appears at the upper-right corner of that block. The toolbar provides quick access to the most common block actions without using a menu.
The toolbar exposes separate buttons to copy the command, copy the output, or copy both at once. This is useful when the output is long and you only need the command for your clipboard.
Click the Share button in the toolbar to open the share modal. From there you can generate a shareable permalink (see below) or copy a formatted representation of the block.
Click Save as Workflow to promote the command in this block into a reusable workflow stored in Warp Drive. The workflow editor opens pre-populated with the command text. You can then give it a name, add a description, and define parameterized arguments before saving.
Click the Find button (or press Cmd+F / Ctrl+F while a block is focused) to open an inline search bar that highlights matches in the block’s output.
Warp can render any block as a hosted, publicly accessible permalink. This is useful for sharing terminal output with teammates who may not have Warp installed.
1

Open the share modal

Click the Share button in the block toolbar, or right-click the block and choose Share block.
2

Set a title (optional)

Type a title for the shared block. If you leave it blank, Warp uses the command as the title. Warp can also generate a title automatically using AI if the Generate block title feature is enabled.
3

Configure visibility

Choose whether the output should be visible in the shared view. Sensitive output can be hidden while still sharing the command itself.
4

Copy the link

Click Copy link to get a permalink you can paste anywhere. The link points to a rendered view of the block hosted by Warp’s servers.
Shared block permalinks are publicly accessible by anyone with the URL. Do not share blocks that contain secrets, tokens, or other sensitive information. Warp can automatically redact secrets matching common patterns (API keys, tokens, passwords) — enable secret redaction in Settings → Privacy.

Bookmarking a block as a workflow

Any block’s command can be promoted to a workflow — a reusable, named snippet stored in Warp Drive. To bookmark a block:
  1. Hover over the block to reveal the toolbar.
  2. Click Save as Workflow (the bookmark icon).
  3. Give the workflow a name, an optional description, and tags.
  4. Optionally add arguments to parameterize the command (for example, replacing a hard-coded branch name with a {{branch}} placeholder).
  5. Click Save to store the workflow locally or sync it to Warp Drive.
Once saved, the workflow appears in the workflow library and can be run from the command palette or by typing its name in the input area.

Block spacing settings

You can control how much vertical space separates blocks using the appearance.spacing setting:
[appearance]
spacing = "compact"   # or "normal" (default)
The compact mode reduces the padding above and below each block’s prompt and output, fitting more blocks into the same screen area. The normal mode is the default and gives each block more breathing room.

Scrollback and grid size

Warp keeps up to 50,000 rows in memory per session by default (configurable via terminal.maximum_grid_size). Once a session reaches the limit, older rows are discarded. Blocks near the top of a long session may lose their output if you exceed this limit.
[terminal]
maximum_grid_size = 100000   # increase the grid size limit
Full-screen terminal applications (vim, less, htop, etc.) run in an alt screen that sits on top of the block list. When you exit the full-screen app, the block list reappears with the blocks from before the app was launched intact.

Build docs developers (and LLMs) love