How to Use Warp: The Agentic Development Environment (2026 Guide)
Warp is no longer "just" a modern terminal. As of April 28, 2026 it bills itself as the agentic development environment — a Rust-based, GPU-accelerated client whose source is now public on GitHub (dual-licensed MIT and AGPL v3), paired with Oz, Warp's cloud orchestrator for background agents. The terminal is what you see; the agent platform is the product.
For web developers who already lived in Warp for the blocks UI and AI command generation, the bigger story in 2026 is what landed underneath: first-class MCP server support, Active AI suggestions wired into your shell history and exit codes, and Cloud Agents that can react to webhooks, CI events, or Slack messages without anyone sitting at a keyboard. This guide walks through installing Warp on every supported OS, configuring it for serious deployment work, and pairing it with DeployHQ's automated Git deployments so your local AI workflow and your production pipeline reinforce each other.
Why Warp Matters for Web Developers in 2026
Warp groups every command and its output into a discrete block — a selectable, copyable, shareable unit with its own exit code, duration, and timestamp. Around that primitive Warp has built an environment that, in 2026, includes:
- A GPU-rendered Rust client that stays smooth at 60fps on multi-megabyte build logs and Docker output where iTerm2, Terminal.app, and GNOME Terminal stutter.
- Active AI: contextual prompt suggestions, next-command recommendations, and auto-suggested code diffs for compiler errors and merge conflicts — all driven by your shell history, current branch, exit codes, and recent block I/O.
- Agent Mode for multi-step tasks ("set up a TypeScript project with ESLint and Prettier, init Git, write a sensible
.gitignore") with step-by-step approval. - MCP server support so Warp's local agent can talk to Linear, Sentry, Postgres, your internal docs, or any custom server that speaks the Model Context Protocol.
- Cloud Agents on Oz that run in containerized cloud environments triggered by webhooks, schedules, or chat — useful for autonomous bug-fix runs, scheduled maintenance, or "an agent that drafts a PR every time Sentry reports a new exception."
- An open-source client: the
warpuiandwarpui_coreUI crates ship under MIT; the rest of the client is AGPL v3. The server-side and AI/cloud components remain proprietary. Repo: github.com/warpdotdev/Warp. OpenAI is the founding sponsor.
If you spend a measurable share of your day in the terminal, those aren't cosmetic improvements — they compound into hours per week saved and a sharply reduced context-switch tax between editor, browser, and shell.
Step 1: System Requirements
Warp is GA on all three major desktops; the Linux and Windows builds reached parity with macOS in 2024-2025 and the engineering investment continues into 2026.
macOS (most mature surface):
- macOS 10.14 (Mojave) or later — Warp officially supports back to Mojave, but practical use targets macOS 12+
- Apple Silicon (M1 through M4) and Intel Macs supported; Apple Silicon builds are universal
- ~200MB disk
Linux:
- Debian/Ubuntu (
.deb), Red Hat/Fedora (.rpm), SUSE (.rpm), Arch (AUR), or distro-agnostic AppImage - X11 and Wayland both supported
- GPU with Vulkan (preferred) or OpenGL 3.3+ — important on minimal cloud VMs and headless rigs where you might not have a GPU at all
Windows:
- Windows 10 build 1903+ or Windows 11
- Native x64 and ARM64 builds (added in 2025)
- Integrates with PowerShell, Command Prompt, and WSL — works inside a WSL session as well
A free Warp account is required for first launch. Modern terminal features are free; AI features run on a credit system (more on pricing below) and team features sit behind paid plans.
Step 2: Install Warp
macOS
brew install --cask warp
Or grab the .dmg from warp.dev and drag it into Applications.
Linux
Debian / Ubuntu:
sudo apt-get install -y wget gpg
wget -qO- https://releases.warp.dev/linux/keys/warp.asc | gpg --dearmor > warpdotdev.gpg
sudo install -D -o root -g root -m 644 warpdotdev.gpg /etc/apt/keyrings/warpdotdev.gpg
sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/warpdotdev.gpg] https://releases.warp.dev/linux/deb stable main" > /etc/apt/sources.list.d/warpdotdev.list'
sudo apt update && sudo apt install warp-terminal
Fedora / RHEL / SUSE:
sudo rpm --import https://releases.warp.dev/linux/keys/warp.asc
sudo sh -c 'echo -e "[warpdotdev]\nname=warpdotdev\nbaseurl=https://releases.warp.dev/linux/rpm/stable\nenabled=1\ngpgcheck=1\ngpgkey=https://releases.warp.dev/linux/keys/warp.asc" > /etc/yum.repos.d/warpdotdev.repo'
sudo dnf install warp-terminal
Arch:
yay -S warp-terminal
Or grab the AppImage from releases.warp.dev for any distro.
Windows
Download the installer from warp.dev and run it. ARM64 Windows machines (Surface Pro X, Snapdragon X Elite laptops) get a native build — no emulation overhead.
Building from source
Because the client is open source under MIT + AGPL v3, you can also build it yourself from github.com/warpdotdev/Warp. The repo is ~98% Rust and ships a CONTRIBUTING.md plus the standard cargo build workflow. Bear in mind: only the client is open. Warp AI, Active AI, Cloud Agents (Oz), Warp Drive, and account/billing services remain closed-source — a self-built client still talks to Warp's hosted backend for AI features.
Verify Installation
echo $SHELL # /bin/zsh, /bin/bash, /usr/bin/fish, etc.
warp --version
Step 3: Configure Warp
Warp keeps configuration under ~/.warp/ on macOS and Linux and %APPDATA%\warp\ on Windows. Most settings are exposed through Settings (Cmd+, on macOS, Ctrl+, on Linux/Windows), but understanding the on-disk layout helps when you're checking your dotfiles into Git.
Shell integration
Warp auto-detects Bash, Zsh, Fish, PowerShell, and Nushell. For Zsh in particular, keep aggressive prompt frameworks (Powerlevel10k, Starship, Oh My Zsh themes) compatible by gating them on TERM_PROGRAM:
if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then
source ~/.zsh/p10k.zsh
fi
Verify the integration is active:
echo $WARP_IS_LOCAL_SHELL_SESSION # prints "1" inside Warp
Themes
Warp ships with a curated theme set (Settings > Appearance > Themes). Custom themes are YAML files under ~/.warp/themes/:
# ~/.warp/themes/deployhq-dark.yaml
accent: '#4A90D9'
background: '#1A1B26'
foreground: '#C0CAF5'
details: darker
terminal_colors:
normal:
black: '#15161E'
red: '#F7768E'
green: '#9ECE6A'
yellow: '#E0AF68'
blue: '#7AA2F7'
magenta: '#BB9AF7'
cyan: '#7DCFFF'
white: '#A9B1D6'
bright:
black: '#414868'
red: '#F7768E'
green: '#9ECE6A'
yellow: '#E0AF68'
blue: '#7AA2F7'
magenta: '#BB9AF7'
cyan: '#7DCFFF'
white: '#C0CAF5'
Key bindings worth memorising
| Action | macOS | Linux/Windows |
|---|---|---|
| Command palette | Cmd+P |
Ctrl+P |
| Open AI / Agent input | Ctrl+\` (back-tick) |
Ctrl+\` |
| Search history | Ctrl+R |
Ctrl+R |
| New tab | Cmd+T |
Ctrl+T |
| Split right | Cmd+D |
Ctrl+D |
| Split down | Cmd+Shift+D |
Ctrl+Shift+D |
| Navigate blocks up/down | Cmd+Up/Cmd+Down |
Ctrl+Up/Ctrl+Down |
| Copy block output | Cmd+Shift+C |
Ctrl+Shift+C |
| Workflows panel | Ctrl+Shift+R |
Ctrl+Shift+R |
Remap anything in Settings > Keybindings or by editing the JSON directly.
Pricing tiers (so you know what you're getting)
Warp moved to an AI-credit pricing model in 2025 and refined it for 2026. The terminal itself is free forever; AI is metered:
| Plan | Price | AI credits | Notable inclusions |
|---|---|---|---|
| Free | $0 | 150/mo for the first 2 months, then 60/mo | Modern terminal, limited Cloud Agents and codebase indexing |
| Build | from $18/mo | 1,500/mo | Frontier models (OpenAI, Anthropic, Google), 20 concurrent Cloud Agents, MCP support |
| Max | from $180/mo | 18,000/mo | 40 concurrent Cloud Agents, same model access as Build |
| Business | from $45/user/mo (≤50 seats) | Build credits per seat | Zero data retention, SAML SSO |
| Enterprise | Custom | Custom | Custom compute, BYOK LLMs, self-hosted Cloud Agents, dedicated support |
If you're a solo developer doing serious agentic work, Build is the realistic floor. The Free tier is fine for the terminal-as-terminal but burns through credits inside a single Agent Mode session.
Step 4: Core Features
Blocks-based output
Warp's defining primitive. Every command produces a block containing the command, output, exit code, duration, and a stable ID you can link to. Practical wins:
- Click a block,
Cmd+Shift+C, you have only that command's output on the clipboard — no more dragging across a wall ofnpm installchatter trying to grab one stack trace. - Bookmark blocks during incident debugging so they survive long sessions of subsequent diagnostics.
- Share a block via Warp Drive: recipients get the command, output, and shell context as a structured artifact, not a screenshot.
- Search inside blocks with
Cmd+F. - Jump between blocks with
Cmd+Up/Cmd+Downinstead of scrolling.
Command search and autocompletion
Warp ships fuzzy file/path completion, subcommand completions for hundreds of CLIs (with descriptions), flag completions (docker run -- lists every flag), and history-aware suggestions — so you don't need zsh-autosuggestions or fzf glued on top.
The command palette (Cmd+P) is a universal search across settings, actions, Warp features, and recent commands.
Split panes
Cmd+D -> split right
Cmd+Shift+D -> split down
Cmd+Option+Arrow -> move between panes
A common deployment-debugging layout: top-left running npm run dev, top-right tail -f over SSH on production, bottom for ad-hoc git and curl.
Modern text input
The input area is a real text editor — multi-line with Shift+Enter, click-to-position cursor, multi-cursor with Option+Click, undo/redo, word-level navigation. After the third or fourth time you mistype a character mid-curl and don't have to Ctrl+B your way back across 200 columns, this stops feeling cosmetic.
Step 5: Active AI and Agent Mode
Warp's AI is the reason most developers switch. In 2026 it's organized into three layers.
Active AI (always-on suggestions)
Active AI watches your shell — current directory, recent commands, exit codes, branch, recent block input/output — and surfaces:
- Prompt suggestions: a contextual banner offering an Agent Mode prompt when you hit a recognizable scenario (a failing test, a merge conflict, an SSH connection refused).
- Next command recommendations: predicts the next command based on your history and recent output.
- Suggested code diffs: when a compiler error or merge conflict is detected, Warp drops an inline diff you can accept, edit, or dismiss.
Agent Mode (interactive, multi-step)
Open the AI input with Ctrl+\(or prefix a normal prompt with#`) and describe a goal in natural language. Single-command examples:
# find all JavaScript files modified in the last 24 hours larger than 100KB
Generates:
find . -name "*.js" -mtime -1 -size +100k
For multi-step goals, Agent Mode plans, narrates, and executes a sequence with confirmation at each step. A real example we use during DeployHQ project setup:
Set up a TypeScript Node service with ESLint, Prettier, Vitest, and Husky.
Init git, add a sensible .gitignore, and stub out a Dockerfile for production.
Agent Mode walks through npm init -y → install dev deps → tsconfig.json → .eslintrc → .prettierrc → vitest.config.ts → Husky hooks → .gitignore → Dockerfile. Each step shows what it's about to run; you approve, edit, or skip. The whole thing leaves a trail of blocks you can replay or share.
MCP servers (the underrated 2026 capability)
Warp implements the Model Context Protocol — the same standard used by Claude Code, Cursor, and Codex. MCP servers extend Warp's local agent with custom tools or data sources: Linear issues, Sentry errors, Postgres schemas, internal API specs, your team's runbooks.
Configure MCP servers four ways:
- Settings UI: Settings > Agents > MCP servers
- Warp Drive: Personal > MCP Servers (and team-shared via Warp Drive on Build+)
- Command palette: search "Open MCP Servers"
- JSON snippet: paste configurations directly
Two server flavors:
// CLI-based server (stdio MCP)
{
"Linear": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.linear.app/sse"]
}
}
// SSE-based server (URL)
{
"Sentry": {
"url": "https://mcp.sentry.dev/sse"
}
}
Warp also auto-discovers existing MCP configs from ~/.claude.json, .mcp.json, or .codex/config.toml, so you don't reconfigure servers per tool — Claude Code, Codex, and Warp can share the same set.
Cloud Agents (Oz)
Cloud Agents — branded Oz — are the genuinely new product in 2026. They run in containerized cloud environments triggered by webhooks, cron, or manual start, and they record everything for audit. Examples in the wild:
- A "fix flaky test" agent triggered when CI reports a flake more than twice in a week.
- A "draft a PR" agent triggered by a Sentry alert: pulls the stack trace, finds the file, proposes a fix, opens a PR with the diff.
- A scheduled "dependency hygiene" agent that runs every Friday evening and opens a Renovate-style PR with patch updates.
Cloud Agents need at least 20 credits to run; team triggers (Slack/Linear webhooks) require Build or higher. Bring-your-own-key isn't supported on Oz — only on the local agent. Enterprise customers can self-host Oz.
The combination of local Agent Mode with MCP plus background Cloud Agents is what lets Warp credibly call itself an "agentic development environment" instead of an AI terminal.
Warp's agent makes commands smarter, but production deployments are still the riskiest part of the loop. DeployHQ takes over the moment your branch is ready: build pipeline runs, atomic file transfers with zero-downtime cutover, and one-click rollback when something does go wrong. Sign up at the end of this guide to try it free.
Step 6: Advanced Features
Warp Drive
Warp Drive is the cloud sharing layer — version-controlled and sync'd across your machines and team:
- Workflows: parameterised, multi-step command sequences with documentation.
- Notebook blocks: command + output + prose, shareable as a link with full execution context.
- Environment profiles: shell aliases, env-var sets, and configurations.
- MCP server libraries (on Build+): a team-shared list of MCP servers everyone gets automatically.
A practical pattern: your deployment runbook lives as a Warp Workflow in Drive, parameterised by environment and branch. Anyone on the team can launch it; revisions track in version history. No more "check the wiki for the staging deploy steps."
To create a Workflow:
Cmd+Shift+R(macOS) orCtrl+Shift+Ropens the Workflow panel- Click Create Workflow
- Add commands, descriptions, and parameter placeholders
- Save to Warp Drive (team) or locally (just you)
# Workflow: Post-Deploy Verification
name: verify-deployment
parameters:
- name: environment
description: Target environment (staging/production)
default: staging
steps:
- command: "curl -s -o /dev/null -w '%{http_code}' https://{{environment}}.example.com/health"
description: "Health endpoint"
- command: "curl -s https://{{environment}}.example.com/api/version | jq '.version'"
description: "Verify deployed version"
- command: "ssh deploy@{{environment}}.example.com 'tail -n 50 /var/log/app/error.log'"
description: "Check for recent errors"
SSH integration
Warp's SSH experience preserves blocks, AI, and completions when you're connected to a remote host — provided shell integration is installed on the remote. Without it, you still get blocks and basic enhancements; with it, you get full Warp UX over the wire.
# Install Warp shell integration on a remote host
ssh deploy@production.example.com 'curl -s https://releases.warp.dev/install-shell-integration.sh | bash'
# Then connect normally
ssh deploy@production.example.com
For deployment work, this matters: you can ask Agent Mode "find the largest log files in /var/log and show their growth rate" while SSH'd into the server, and Warp will compose the exact find, du, and awk it needs against the remote shell.
Subshells and environment switching
nvm use 20, Python venvs, docker exec sessions, kubectl exec into a pod — Warp keeps blocks, AI, and completions working through them, and shows the active context (Node version, virtualenv name, container ID) in the prompt area. This is a meaningful upgrade for anyone whose workflow involves jumping between language versions or containerised environments.
Step 7: Best Practices
Use blocks like a professional, not like a beginner
- Navigate, don't scroll.
Cmd+Up/Cmd+Downbetween blocks. On long CI logs this saves real seconds per investigation. - Bookmark the first failing block during incident debugging. Subsequent commands clutter the buffer; the bookmark is your anchor.
- Share blocks, not screenshots. A Warp Drive block link gives a teammate the full command, env, and output; a screenshot makes them retype.
Prompt Agent Mode like a coworker, not Google
# Good: specific, contextual, specifies acceptance criteria
# find all TypeScript files importing from @/utils that don't have a sibling .test.ts file,
# print them as a checklist, sorted by line count descending
# Less useful: vague
# find some untested files
For deployment work, prefix intent and constraints:
# generate an rsync command to sync ./build to deploy@prod:/var/www/app,
# excluding node_modules, .git, .env*; verbose, dry-run first, with --delete
Layer MCP for high-leverage agents
Plug in Linear, Sentry, your Postgres staging DB, and your internal docs. Then prompts like "find the most recent Sentry error from production, locate the file and line, and propose a fix as a code diff" become a single Agent Mode invocation instead of five tools and ten copy-pastes.
Standardise team Workflows
Build Workflows for repetitive operations — deployments, DB migrations, environment bootstrap, on-call diagnostics. Parameterise environment and branch. Share via Warp Drive. The result: tribal knowledge becomes executable, audited, and version-controlled.
Step 8: Pair Warp with DeployHQ for Git-to-Production
Warp tightens the local edit-debug-test loop. DeployHQ tightens the production loop — what happens after git push. The two are complementary, not competing.
Use Agent Mode to bootstrap your DeployHQ setup
When you're wiring up a new deployment in DeployHQ, Agent Mode is faster than fishing through docs:
# generate an ed25519 SSH key pair for DeployHQ server access, no passphrase,
# named deployhq_<servername>, then print the public key for me to paste into DeployHQ
Generates and runs:
ssh-keygen -t ed25519 -f ~/.ssh/deployhq_production -N "" -C "deployhq-production"
cat ~/.ssh/deployhq_production.pub
Or to test connectivity:
# test SSH to deploy@203.0.113.50 with key ~/.ssh/deployhq_production,
# 10s timeout, print server hostname on success
ssh -i ~/.ssh/deployhq_production -o ConnectTimeout=10 deploy@203.0.113.50 'hostname'
When a deployment fails, ask Agent Mode to interpret the error:
# explain why npm ci failed with EACCES errors during the DeployHQ build step
# and suggest a fix
Organise post-deploy debugging with blocks
When a DeployHQ deployment lands but the app misbehaves, Warp's block structure keeps the diagnosis legible:
- SSH into the server (one block).
ls -la /var/www/app/currentto inspect the symlink target — DeployHQ's atomic deployments swap a symlink rather than overwriting in place, so this is your first sanity check.tail -100 /var/log/app/production.log(its own block).systemctl status your-app(separate block).curl -s -o /dev/null -w '%{http_code}' https://yoursite.com/health(block).
Five distinct blocks instead of a scrolling wall of text. Bookmark the failing one, share it with your on-call buddy via Warp Drive, and you've cut the "can you paste the full output again?" round-trip.
Save a deployment-verification Workflow
# Step 1: confirm DeployHQ build succeeded (check dashboard or webhook)
# Step 2: smoke the app
curl -s -o /dev/null -w "HTTP %{http_code}\n" https://yoursite.com
# Step 3: verify the deployed commit
curl -s https://yoursite.com/api/version | jq '.commit, .version'
# Step 4: hit the critical paths
curl -s -o /dev/null -w "/signup %{http_code}\n" https://yoursite.com/signup
curl -s -o /dev/null -w "/login %{http_code}\n" https://yoursite.com/login
# Step 5: scan for fresh errors
ssh deploy@production.example.com 'tail -50 /var/log/app/error.log | grep -i "error\|warn"'
Parameterise it and share via Warp Drive. Every team member runs the same verification, every deploy.
Use Cloud Agents for deploy guardrails
Where it gets interesting: a Cloud Agent triggered on a DeployHQ deploy webhook that watches your error rate for 10 minutes post-deploy and posts to Slack if anything spikes. That's no longer "build a custom monitor." That's "write a 6-line prompt and a webhook URL." The agent records every action it took — full audit trail in Oz.
For a deeper look at running AI agents directly inside CI/CD pipelines (including how Claude Code, Codex, and Gemini CLI compare), see our comparison of AI coding assistants for deployment workflows. If Claude Code is more your style, the DeployHQ Claude Code setup guide walks through the deployment-focused setup; for Aider users, see the Aider terminal AI guide; for Cursor IDE users, the Cursor deployment guide.
Step 9: Troubleshooting
Warp won't launch or crashes on startup
macOS — reset configuration:
cp -r ~/.warp ~/.warp.backup
rm -rf ~/.warp
open -a Warp
Linux — GPU is the usual culprit. Verify Vulkan:
vulkaninfo | head -20
Force OpenGL fallback if Vulkan is missing or broken:
WARP_ENABLE_OPENGL=1 warp-terminal
Windows — confirm you're on build 1903+ (winver) and that Hyper-V/WSL aren't interfering with the GPU device. ARM64 users: install the ARM64 build, not the x64 one (the latter runs under emulation and is noticeably slower).
Shell integration not loading
echo $WARP_IS_LOCAL_SHELL_SESSION # should print 1
grep -r "warp" ~/.zshrc ~/.zprofile ~/.bashrc 2>/dev/null
Common fixes:
- Gate Powerlevel10k or Starship on
[[ $TERM_PROGRAM != "WarpTerminal" ]]. chmod -R 755 ~/.warp/if permissions are off after a system migration.- For Fish users, ensure
~/.config/fish/conf.d/warp.fishexists; reinstall Warp's shell integration from Settings > Features > Shell Integration if not.
High CPU or memory on older hardware
- Trim scrollback: Settings > Terminal > Scrollback Lines. Default 10,000 is generous; 5,000 cuts memory noticeably on 8GB machines.
- Disable window blur: Settings > Appearance > Window > Blur. The transparency effect is GPU-expensive and adds nothing functional.
- Update GPU drivers on Linux (Mesa or proprietary). Stale drivers fall back to CPU rendering.
AI features not responding
- Connectivity:
curl -s https://api.warp.dev/health(should return 200). - Account/credit check: Settings > Account — confirm you're logged in and have credits left. The Free tier's 60 credits/month evaporates quickly under heavy Agent Mode use.
- Corporate firewalls: whitelist
*.warp.dev. Warp talks to its hosted API for AI, even when the client is built from source. - Bring-your-own-key: if you're using BYOK on Build/Max, an expired API key on OpenAI or Anthropic surfaces as silent AI failures. Re-validate in Settings > AI > Models.
MCP server can't start
- Check the server's command path is on
$PATHfor non-login shells. Warp launches MCP CLI servers in a clean environment;npx,uvx, or absolute paths work; bare commands often don't. - For SSE servers, confirm the URL is reachable:
curl -sI https://mcp.sentry.dev/sse. - Watch the MCP server's stderr in Settings > Agents > MCP servers > [your server] > Logs.
SSH blocks broken
- Install Warp's shell integration on the remote host (see Step 6).
export TERM=xterm-256colorbefore SSH if the remote misidentifies your terminal.- For jumphost setups, the integration must be installed on the final host, not the bastion.
Conclusion
Warp in 2026 is a meaningfully different product than the macOS-only AI terminal that launched in 2022. It's GA on every major desktop OS, the client is open source under MIT + AGPL v3, the AI surface has split into Active AI (always-on hints), Agent Mode (interactive multi-step), and Cloud Agents on Oz (autonomous, event-triggered). MCP support means your existing Claude Code or Codex MCP servers are reusable in Warp. And the underlying blocks model — the original good idea — is still the cleanest way to make a long, messy terminal session navigable.
For developers running serious deployment workflows, pairing Warp with DeployHQ's automated Git deployment platform is the natural shape: Warp handles the smart-terminal side of your day (writing commands, fixing errors, debugging blocks, sharing context), while DeployHQ handles the production side — running build pipelines, executing atomic deployments, supporting one-click rollback when something goes wrong, and integrating with GitHub deployments and GitLab deployments.
Sign up for a free DeployHQ account and connect Warp to your terminal-to-production workflow.
If you need help setting up DeployHQ or want to talk through pairing it with Warp, reach out at support@deployhq.com or find us on Twitter at @deployhq.