Warp Terminal Review: Running Claude Code and Codex CLI Inside It

Warp went open-source in late 2025 and reframed itself as an agentic terminal. I use it as my primary shell, with Claude Code and Codex CLI running inside it most of the day. This is a working review: what Warp does well in that context, where it gets in the way, and how it compares to iTerm2 and Ghostty on the things that matter when you run coding agents.

What Warp actually is

Warp is a GPU-accelerated terminal written in Rust. The foundation is fast: on long build outputs or streaming logs, the rendering difference from iTerm2 is visible.

The core structural choice is blocks. Every command and its output becomes a discrete unit. You ran a command, the output below it is one block, and you can select or copy that block independently of everything around it. For most workflows this is a genuine quality-of-life improvement. If you are used to selecting arbitrary regions by dragging, it takes a few days to adjust.

Warp has a built-in AI layer called Warp AI, which generates shell commands from plain-language descriptions and explains unfamiliar ones. It is useful for the same things a colleague is useful for when you are stuck on a flag or a pipeline. It is not a replacement for Claude Code; it does not read your codebase or maintain session context.

Alongside going open-source, Warp introduced agentic terminal features for running multi-step workflows from a description. In practice, most users running Claude Code inside Warp leave Warp's AI layer off during coding sessions. The two tools overlap, and the prompts compete for attention.

Running Claude Code inside Warp

Claude Code installs and runs in Warp exactly as it does in any other terminal. There is nothing Warp-specific about the setup. Once you have Claude Code installed and authenticated, you open Warp, navigate to your project, run claude, and you are in a session.

Where Warp helps:

Long output from Claude Code sessions stays navigable. When the agent runs a test suite or a build and produces several screens of output, the block structure keeps each command and its results bounded. You can scroll back to a specific result without hunting through a continuous stream.

The keyboard handling is smooth. When you are switching between a Claude Code session and an editor, low-latency rendering and reliable keyboard passthrough reduce the friction of that cycle. Claude Code's interactive mode works correctly inside Warp's raw mode handling without special configuration.

Warp Workflows let you define repeatable command sequences in a YAML file. If you have a setup ritual before starting a Claude Code session (clearing environment variables, sourcing a config, running a health check), you can reduce it to one invocation. The workflow files live in .warp/workflows/ or your user config directory.

Where Warp gets in the way:

Warp AI and Claude Code occupy overlapping space. When you are mid-session in Claude Code, Warp's command suggestions are noise. You can turn off Warp AI globally or per-session, but the defaults assume you want it active. If you primarily use Claude Code, you will configure Warp to get out of the way.

The block UI breaks on a handful of interactive CLI tools. Claude Code's interactive mode is mostly fine, but there are edge cases where the cursor position behaves unexpectedly or block grouping splits where it should not. In regular use this happened rarely and resolved on session restart.

Warp pushed cloud sync and collaboration features, and for a time required an account to access them. Since going open-source that dependency is more optional, but some sync features still point toward the account. Not a blocking issue, but worth knowing before you invest time in configuration.

Comparison with iTerm2

iTerm2 is the default serious-terminal choice for macOS developers. It is mature, documented, and integrates with most tools. If Claude Code runs well in iTerm2 today and you have no specific friction, there is no strong case for switching.

What Warp has over iTerm2: the block output structure, the built-in AI layer if you use it, Warp Workflows, and noticeably faster rendering on large output.

What iTerm2 has over Warp: deeper configuration, better compatibility with edge-case terminal applications that expect standard xterm behavior, and no account or cloud layer in the default flow. iTerm2 is simpler in the sense that it adds nothing on top of the terminal primitive.

For running Claude Code, both work. Warp's advantage shows on long output and if you use Workflows.

Comparison with Ghostty

Ghostty was released in late 2024 and built its reputation on being fast, correct, and minimal. It is GPU-accelerated, with a small configuration surface and no AI layer. If you want a terminal that stays out of the way, Ghostty is worth trying.

Against Warp, Ghostty wins on simplicity. No account, no AI layer, no blocks. You get a fast terminal and nothing else. Warp wins if you actively use the block structure or Workflows. For hosting Claude Code sessions, both work equally well. The choice is whether you want Warp's added features or prefer the smaller surface area.

Verdict

Use Warp if: you find the block output structure useful, you plan to use Warp Workflows, or you run long builds and care about rendering speed.

Consider the alternatives if: you want the simplest possible Claude Code host, or you have compatibility requirements that depend on exact xterm behavior.

I use Warp as my primary terminal and have not looked for a replacement. The block structure became a habit faster than expected, and Workflows handles setup steps I was previously typing by hand. The AI layer I leave off during Claude Code sessions.

If you want to try it: Warp is at warp.dev.


When the AI editor stops being enough and the shape of the work needs real engineering to finish, you can bring in a senior engineer for a week.

enjoyed this? follow me!

X / Twitter LinkedIn GitHub

share this!

← Back to blog