iTerm2 vs. Warp
Warp and iTerm2 are both popular terminals recommended by developers. iTerm2 is a very feature-rich traditional terminal whereas Warp has a more modern editing experience. Developers switching to Warp from iTerm2 often want a more intuitive experience, with less required configuration, where they can work with teammates and use AI to help them get more done.
brew install --cask warp
Features
iTerm2
Warp
Modern Editing Features
Does not allow mouse positioning in input editor.
Does not have IDE-style editing keyboard shortcuts.
NOTE: There are keyboard shortcuts like CTRL-A that allow you to navigate to the beginning of a line, but that is related to the shell and not iTerm2 itself.
iTerm2 does support vim keybindings to edit input, but this requires the developer to run a command (specific to their shell) to get it working.
Supports smart selection (clicking to automatically copy a URL, IP address, etc).
You can click anywhere in your command input with your mouse to edit.
Supports modern editing keyboard shortcuts like CMD+Z to undo, or OPT+RIGHT to navigate to the end of a word.
Supports vim keybindings to edit input. Toggle this on in the settings panel (works across all supported shells).
Supports smart selection (clicking to automatically copy a URL, IP address, etc).
AI
Offers basic AI support to generate commands in your terminal based off natural language input. Note that this is currently in beta.
UI does not support asking conceptual questions, like “Why can’t I have 2 processes running on the same port.”
Has no built-in support for debugging terminal errors using AI.
Not free. Users must provide their own OpenAI key before using this AI support within iTerm2.
Offers AI support to generate commands in your terminal based off natural language input.
Can answer conceptual questions to explain what a command does or show why a certain solution works.
Has built-in support for debugging terminal errors using AI.
Free for the first 40 requests per user per month.
Collaboration
No built-in features for collaboration.
No way to share terminal input or output.
Store and share reusable workflows that sync in real-time with a team Warp Drive.
Share blocks of terminal input and output with a permalink.
Performance
Using VTEbench, iTerm2 underperformed compared to Warp across all measured benchmarks.
Using Termbench, iTerm2 and Warp had similar performance for regular benchmark sizes but underperformed handling small test sizes.
Mostly written in Objective-C. GPU rendering on by default but can be turned off in settings.
Using VTEbench, Warp is over 90% faster at scrolling tests, 70% faster at the dense_cell benchmark, and 29% faster on the unicode benchmark.
Using Termbench, Warp was 20% faster at handling small data sizes (~1mb) and 3% faster at regular benchmark sizes.
Built with Rust and rendered directly on the GPU, optimizing for speed and responsiveness
Command Input
Delegates command completions to the shell. Additional configuration necessary for supporting third party tools like git, docker, npm and more that the shell doesn't support out of the box.
Does not support autosuggestions out-of-box. Delegates to the shell.
Does not support alias command completions out-of-box. It delegates to the shell.
iTerm2 supports command history, but it delegates to the shell’s history functionality. According to its documentation, this feature requires some configuration first.
Allows user to broadcast input across multiple different sessions.
Allow mouse positioning in input editor.
Command completion for 400+ CLI tools, out-of-the-box.
Autosuggestion support out-of-box.
Supports aliases in command completion menu.
Command history view & search out-of-box.
Allows user to broadcast input across multiple different sessions.
Command Output
Supports basic search within the terminal output.
Does not support regex in the search bar.
Does not support “bookmarking” a specific command to save it as important.
Does not automatically redact secrets in your command output (IP address, passwords).
Does not visually group command input & output into a cohesive unit.
Supports basic search within the terminal output.
Supports regex in search. For example, “.b” would highlight any word containing a letter, and then ‘b’.
Supports “bookmarking” a specific command. This allows the user to come back to important commands during a long session.
Automatically redacts secrets in your command output (IP address, passwords) so your terminal output is more secure.
Warp introduces the concept of blocks, which allows you to easily visually distinguish one command from another.
Appearance & UX
Allows you to customize font type and size.
Allows you to upload a custom background image.
Allows you to toggle window transparency.
Does not allow you to toggle where your input editor is positioned.
Allows you show important information like host name, clock, git state & more through the status bar. NOTE: iTerm2 has a couple of components more than Warp here, offering information like CPU and memory utilization as well.
Allows you to customize font type and size.
Allows you to upload a custom background image.
Allows you to toggle window transparency.
Allows you to easily toggle whether your input is positioned at the top or bottom of your terminal, for visual and ergonomic benefits.
Allows you to show important information like host name, timestamp, git state & more through the prompt. Also allows you to easily edit the default prompt using a drag-and-drop GUI.
Window & Pane Management
Allows split panes.
Allows coloring and renaming tabs.
Supports quake mode (referred to as hotkey window in iTerm2).
Supports extensibility. Allows you to access sessions, tabs, and windows through a Python API.
Supports tmux though configuring “control-mode”
Allows split panes.
Allows coloring and renaming tabs.
Supports quake mode (referred to as hotkey window in iTerm2).
Supports extensibility. Allows you to configure windows, panes, and commands-on-start using launch configurations. Edit the configs using .yaml files.
Tmux support exists but conflicts with Warp features like blocks.
Configurability
Has GUI option to configure setting (unlike other terminals, which just offer a config file).
Allows you to configure your keyboard shortcuts.
No command palette. Search through the Mac Help menu.
Has GUI option to configure setting (unlike other terminals, which just offer a config file).
Allows you to configure your keyboard shortcuts.
Offers a command palette (similar to Mac Spotlight or Raycast) to search many configurability options within the application.
Platform Support
Mac
Linux
Windows
Mac
Linux
Windows (Coming soon)
FAQs
Download Warp and follow the onboarding steps to get started. If you have any configuration settings on your .zshrc file, Warp will automatically recognize these.
The key benefits of Warp are its speed and user experience. Warp is fast and allows developers to work more quickly and more accurately on the command line. With features like a modern editor, integrated AI, and a drive to store commonly used commands, developers who use Warp can save hours every week.
Warp is designed to offer a secure terminal environment with zero configuration. Your data in Warp is secure and confidential. Paid plans for teams include features admins can use to further manage and restrict access. By default, Warp does not transmit any input or output data on the command line to any server. Console data is all local, except if a user expressly opts in to using a cloud feature like Block Sharing, Warp AI or Warp Drive.
Warp’s AI is powered by OpenAI’s enterprise-grade APIs. Data is sent to OpenAI through a proxy, encrypted in transit, and never used to train public models.