2026-03-11

If you use a Mac and develop software, there’s a good chance iTerm2 has been your faithful terminal for years. It was the go-to terminal for over a decade: stable, customizable, reliable. But the world of terminals has evolved, and Warp arrived proposing something different: a terminal designed for the way we work today.
This post isn’t meant to convince anyone to abandon iTerm2. It’s an honest account of the differences, advantages, and things to watch out for if you’re considering (or have already decided) to make the switch.
Warp is a modern terminal written in Rust, with direct GPU rendering. Unlike traditional terminals that inherited the experience of the ’80s, it was built from scratch with the idea that the terminal can (and should) offer the same experience as a modern code editor.
It sounds like an exaggeration, but after using it, it makes sense.
This is probably the most visible change. In iTerm2, the output of all commands blends into a continuous stream of text. In Warp, each command becomes an independent block: with a beginning, an end, and the ability to copy the entire output with one click.
It seems like a detail, but in practice it completely changes how you interact with the terminal. Ran a huge git log and want to copy just the output? Click the block. Want to share it with a colleague? Warp generates a permanent link to that specific block.
In iTerm2, the command line is… a command line. No mouse-positionable cursor, no Cmd + Z to undo, no selecting text with Shift + arrow.
In Warp, the input field works like a mini editor:
| Feature | iTerm2 | Warp |
|---|---|---|
| Position cursor with mouse | No | Yes |
Cmd + Z to undo | No | Yes |
Option + arrow to navigate by word | Manual setup | Native |
Text selection with Shift | No | Yes |
Multiple lines without \ | No | Yes |
These are shortcuts you already use in any text editor, but that simply didn’t exist in the traditional terminal.
iTerm2 delegates autocomplete to the shell. It works, but depends on you configuring plugins like zsh-autosuggestions.
Warp brings over 400 native completions for CLI tools like git, docker, npm, kubectl, aws, and many more. Without installing anything. It shows a visual interface with descriptions of each option, parameters, and flags.
In iTerm2, searching for an old command involves Ctrl + R or relying on the shell. In Warp, search is integrated, with fuzzy search via Ctrl + R and the ability to filter by directory, date, or text.
Warp was written in Rust with Metal (GPU) rendering. In benchmarks using VTEbench, the numbers are impressive:
| Benchmark | Warp vs iTerm2 |
|---|---|
| Scrolling | 90% faster |
| Dense cell rendering | 70% faster |
| Unicode | 29% faster |
| Redraw time | 1.9ms |
In practice, this means that when you cat a huge file, or run a build that spits out thousands of lines per second, Warp doesn’t choke. iTerm2, even with GPU rendering enabled, falls behind in these scenarios.
A word of caution: Warp tends to consume more memory (600MB to 2GB in typical use). If you work on a machine with limited RAM, it’s worth considering.
Warp comes with built-in AI, powered by models from OpenAI and Anthropic. Press Ctrl + Space and write in natural language:
The AI generates a ready-to-run command, explains errors, suggests fixes, and even has an Agent Mode that executes multi-step tasks automatically. You get 40 free requests per month and more on the Pro plan.
iTerm2 added basic AI support in beta, but requires you to provide your own OpenAI API key. The functionality is limited to generating commands from natural language text: it doesn’t answer conceptual questions, doesn’t explain errors, and doesn’t debug terminal output.
For those just starting to program, Warp’s AI works practically as an integrated tutor in the terminal.
This is a territory where iTerm2 simply doesn’t compete.
Warp offers Warp Drive, which lets you:
If you work on a team and need to share commands, scripts, or debug sessions, Warp turns the terminal into a collaborative tool. In iTerm2, the alternative is copying and pasting text into Slack.
This is where the two terminals diverge in philosophy.
iTerm2 is a Swiss army knife of configuration. Hundreds of options: status bar with 13 components, Toolbelt sidebar, Instant Replay (a kind of “time travel” through terminal frames), 325+ community themes, advanced font control, and a full Python API for automation.
Warp follows the philosophy of working well with minimal configuration. It has a built-in theme editor with automatic palette generation, font and custom background support, and a Spotlight-style command palette to access everything quickly. Settings are in YAML.
| Aspect | iTerm2 | Warp |
|---|---|---|
| Philosophy | Total configuration | Good by default |
| Themes | 325+ from community | Built-in editor with sync |
| Automation | Python API | YAML + configs |
| Complexity | High | Low |
If you enjoy spending hours tweaking every pixel, iTerm2 is still unbeatable. If you prefer something that works well right out of the box, Warp has the edge.
Not everything is perfect. Before making the switch, consider:
Warp requires creating an account to use. iTerm2 doesn’t ask for anything: just install and use. If privacy is a top priority for you, know that Warp claims to have zero data retention and that cloud features (AI, Drive, sharing) are opt-in. But the account is mandatory.
iTerm2 is open source (GPL v2) with over 15 years of community development. Warp is proprietary, backed by $73M in funding. For many this makes no difference, but if open source is a principle for you, it’s something to consider.
If you rely heavily on tmux, pay attention: Warp has limited tmux support. Warp’s block system conflicts with how tmux renders the screen. iTerm2, on the other hand, has native tmux integration that works very well.
If tmux is essential to your workflow, this might be the reason not to migrate, or to reconsider whether Warp’s own panes and windows can replace what you used tmux for.
A unique positive point for Warp: it does automatic secrets redaction in terminal output. If a command accidentally prints an API key or token, Warp detects and masks it. iTerm2 doesn’t have this feature.
The good news is that migrating is simple. Warp respects your existing shell configurations.
brew install --cask warp
Or download directly from the official website.
On first launch, create your account (you can use GitHub or Google). It’s free.
Warp automatically recognizes your ~/.zshrc, ~/.bashrc, or whatever shell configuration you already have. Your aliases, environment variables, Oh My Zsh plugins, Powerlevel10k theme: everything works.
# Your aliases keep working
alias ll='ls -la'
alias gs='git status'
alias gp='git push'
# Your Oh My Zsh and plugins too
plugins=(git zsh-autosuggestions zsh-syntax-highlighting z)
A few things worth configuring right away:
Nobody said you have to uninstall iTerm2. A healthy approach is to use both for a few weeks. Warp as your main terminal and iTerm2 as a fallback for specific situations (like heavy tmux sessions). When you realize you haven’t opened iTerm2 in a while, the migration happened naturally.
| Aspect | iTerm2 | Warp |
|---|---|---|
| Language | Objective-C | Rust |
| GPU rendering | Optional | Native |
| Integrated AI | Basic (beta, own API) | Complete (native, free) |
| Command blocks | No | Yes |
| Autocomplete | Via shell | 400+ native |
| Collaboration | No | Warp Drive + links |
| tmux | Native integration | Limited |
| Code | Open source (GPL v2) | Proprietary |
| Account | Not required | Mandatory |
| Platforms | Mac, Linux, Windows | Mac, Linux, Windows |
| Secrets redaction | No | Automatic |
| Price | Free | Free (optional Pro) |
iTerm2 is not a bad terminal. Far from it: it served incredibly well for over a decade. But Warp represents a new generation of terminals that understands developers deserve the same experience we already have in code editors and IDEs.
The migration is painless: your shell configurations work without changes, and in a few minutes you’re already productive. The learning curve is practically zero because Warp doesn’t try to reinvent the terminal: it improves what already exists.
If you’re curious, install it and test it for a week. The worst that can happen is you go back to iTerm2 knowing exactly what each terminal offers.
Made the switch or thinking about it? Send me a shout on twitter @lauralesteves