Terminal Emulator Comparison

Ghostty vs iTerm2

Compare Ghostty on Mac and Linux with iTerm2 on Mac.

Official product sites

Quick Summary

Ghostty runs on macOS and Linux and uses a text configuration file. iTerm2 runs on macOS and has profiles, triggers, scripting, and tmux control-mode integration. Both are free and open source.

Choose Ghostty if you want the same terminal configuration on Mac and Linux. Choose iTerm2 if you rely on its profiles or automation. You can use Solo alongside either terminal to manage dev servers, workers, and coding agents.

Who it is for

Who should choose each option in Ghostty vs iTerm2?

Start with your operating systems and the terminal features you use every day.

Choose Ghostty for macOS and Linux

Ghostty fits best when you want platform-native UI, GPU acceleration, shell integration, and text configuration on both macOS and Linux.

Choose iTerm2 for Mac-specific automation

iTerm2 fits best when you want hotkey windows, triggers, profiles, shell integration, scripting, and tmux control mode on Mac.

Use Solo to manage project commands

Run dev servers and workers with their own output, resource statistics, and restart settings. Launch installed coding agents in the same project.

Feature comparison

Primary purpose
Ghostty
Fast, cross-platform terminal emulator with native UI
iTerm2
Feature-rich macOS terminal emulator
Solo
Local process dashboard for agents and project commands
Replaces your terminal
Ghostty
Ghostty yes
iTerm2
iTerm2 yes
Solo
—
GPU-accelerated rendering
Ghostty
Yes — Metal on macOS, OpenGL on Linux
iTerm2
Yes — Metal renderer
Solo
N/A
Implementation language
Ghostty
Zig (core) + Swift/AppKit (macOS GUI)
iTerm2
Objective-C / Swift
Solo
Tauri + Rust + React
Shell integration
Ghostty
Auto-injects for bash, zsh, fish, elvish, Nushell — prompt marking, directory tracking, jump-to-prompt
iTerm2
Deep integration — command history, directory tracking, host tracking, remote file operations
Solo
Shell environment loading for correct PATH/toolchain
Hotkey/dropdown terminal
Ghostty
Quick Terminal (configurable size)
iTerm2
Hotkey window with dedicated profile
Solo
—
tmux integration
Ghostty
Standard tmux usage in terminal
iTerm2
Native — tmux sessions appear as iTerm2 tabs/panes without prefix keys
Solo
—
Scrollback search
Ghostty
Yes — Cmd+F (added in v1.3.0)
iTerm2
Yes — regex-capable Cmd+F with mouseless copy
Solo
Native terminal scrollback
Inline images
Ghostty
Yes — Kitty graphics protocol
iTerm2
Yes — imgcat and animated GIFs
Solo
—
Configuration
Ghostty
key=value text file; supported settings can reload at runtime
iTerm2
GUI settings, profiles, and JSON dynamic profiles
Solo
GUI + solo.yml for commands
Scripting API
Ghostty
AppleScript on macOS
iTerm2
Python API, AppleScript, and autolaunch scripts
Solo
MCP, local HTTP API, and Solo CLI
Triggers and automation
Ghostty
—
iTerm2
Yes — regex triggers, coprocesses, automatic profile switching
Solo
File-watch restarts, auto-restart, notifications
Session restore
Ghostty
Restores supported macOS window state, not running processes or terminal contents
iTerm2
Window arrangement and session restoration are available, subject to profile and system settings
Solo
Processes persist while app is running
Instant replay
Ghostty
—
iTerm2
Yes — step backward through terminal history
Solo
—
Paste history
Ghostty
—
iTerm2
Yes — all copied/pasted text stored and searchable
Solo
—
Local process dashboard
Ghostty
—
iTerm2
—
Solo
Yes — sidebar with CPU/memory stats per process
Restart after command exit
Ghostty
—
iTerm2
Profile option can restart the same command when a session ends; no rate-limited supervision policy
Solo
Automatic for command processes, with rate limiting
Process notifications
Ghostty
Command-finished notifications
iTerm2
Notification Center alerts for activity, bells, job completion, and trigger matches
Solo
Native desktop notifications, in-app toasts, and supported OSC sequences
Open source
Ghostty
Yes — MIT license
iTerm2
Yes — GPL-2.0-or-later
Solo
—
Price
Ghostty
Free
iTerm2
Free
Solo
Free (4 projects, 20 processes); Pro plan
Platform
Ghostty
macOS and Linux (no Windows yet)
iTerm2
macOS only
Solo
macOS and Windows

Platform and configuration

Ghostty

Ghostty uses platform-native application shells on macOS and Linux around a Zig terminal core. Its key=value configuration file is easy to keep in dotfiles, and supported settings can reload while the app is running. The latest release reviewed is 1.3.1.

iTerm2

iTerm2 is macOS-only. Most settings live in GUI profiles, while dynamic profiles let teams or dotfile setups provide profile definitions as JSON. The latest stable release reviewed is 3.6.11.

Solo

Solo includes interactive terminals, but its main job is keeping local agents and project commands visible in one dashboard. Teams can share command definitions in solo.yml.

Terminal workflow features

Ghostty

Ghostty provides automatic shell integration, prompt navigation, Kitty graphics and keyboard protocols, a quick terminal, key tables, scrollback search, and command-finished notifications. On macOS, AppleScript exposes application automation.

iTerm2

iTerm2 provides hotkey windows, regex triggers, profiles, instant replay, paste history, coprocesses, shell integration, and Notification Center alerts. Profiles may run a command and can restart that command when its session ends.

Solo

Solo supervises command processes separately from terminal sessions. Commands can restart after self-exit or watched-file changes, with rate limiting, CPU and memory views, and attention notifications.

tmux and automation

Ghostty

Ghostty runs tmux as a normal terminal application. Its own automation options include key tables, the command palette, and AppleScript on macOS.

iTerm2

Running tmux with control mode (`tmux -CC`) maps tmux windows and panes into native iTerm2 windows and split panes. iTerm2 also provides Python and AppleScript APIs, dynamic profiles, captured output, and smart selection.

Solo

Solo exposes process controls through MCP, a local HTTP API, and the Solo CLI. The solo.yml file shares command definitions with your team. Solo does not integrate with tmux.

Where Solo fits

Ghostty

If Ghostty is your terminal, Solo can own background services that need restart policies, resource views, notifications, and version-controlled startup definitions.

iTerm2

iTerm2 can restart a profile command and react to output with triggers. Solo adds a project-level dashboard, rate-limited command restart, file-watch restart, resource views, and solo.yml shared commands.

Solo

Solo can run alongside either terminal as a dedicated workspace for background project commands.

Test Ghostty and iTerm2 with your own setup

Open the same repository in both terminals. Use your usual shell configuration so the comparison includes your prompt, plugins, and shortcuts.

Use the same font and window size

Add the settings below to your Ghostty configuration. In iTerm2, set the same font at 12 points under Settings > Profiles > Text. Under Profiles > Terminal, set scrollback to 10,000 lines.

Ghostty measures scrollback in bytes. iTerm2 measures it in lines. These are starting settings, not equal memory limits for a benchmark.

Ghostty configuration

font-size = 12
scrollback-limit = 10000000

Run your usual commands

Run the project tests and search their output. Connect to a host over SSH. Check that your shortcuts and shell integration work as expected.

If you use iTerm2 triggers, hotkey profiles, or tmux integration, test those tasks before switching. A terminal that draws text faster may still lack a feature you use every day.

Run project commands in Solo

To manage dev servers and queue workers in Solo, define their commands in solo.yml. Launch coding agents from the agent picker. You can continue to use either terminal for shell work. Solo does not import terminal profiles.

Pricing

Pricing and scope

Ghostty and iTerm2 are both free and open source. The practical choice is macOS-and-Linux reach with text configuration or Mac-specific profiles and automation.

Ghostty

Ghostty is free and open source.

iTerm2

iTerm2 is free and open source.

Where Solo fits

Solo adds a separate workspace for agents, services, and project commands alongside either terminal emulator.

Common questions

Should I choose Ghostty or iTerm2 on Mac?

Choose Ghostty if you want one terminal and text configuration model across macOS and Linux. Choose iTerm2 if you want its Mac-specific profiles, triggers, scripting, and tmux integration.

Is Solo a replacement for Ghostty or iTerm2?

Not directly. Solo can replace part of a local terminal workflow, but its job is managing agents, services, and shared project commands in one app rather than being a pure terminal emulator.
The Verdict

If you work on both Mac and Linux, try Ghostty with your existing shell configuration. On Mac, test the iTerm2 profiles, triggers, and tmux integration you use before switching. For dev servers and workers that need restart settings and resource monitoring, try Solo alongside your terminal.

Related comparisons

Keep comparing the nearby options

If you are evaluating Ghostty, iTerm2, Solo, these are the closest next comparisons in the matrix.

Four projects, free forever.

The Free plan includes every feature, so you only need Pro after you outgrow four projects.

FreeFull-featured, with no trial or expiration.$0forever
check
Up to 4 projects
check
Up to 20 processes total
check
All features included
check
MCP integration for AI agents
check
Native notifications
check
All future updates
Get started free 
ProUnlimited projects and processes.$99/year
check
Everything in Free
check
Unlimited projects
check
Unlimited processes
check
Priority email support
check
Activate on 3 devices
check
All future updates
Get pro licenseCancel anytime with a 30-day money-back guarantee.

Team seats

Centralized billing, simple claim-link distribution

Buy seats under one Stripe subscription, then share a claim link in Slack or email. Each claimant signs in or registers and receives a normal Solo Pro license. Optional auto-grow adds prorated seats automatically when the pool is full, so your team never hits a license wall.

Buy team seats

Seats 1–3

$99/seat/yr

Seats 4–10

$89/seat/yr

Seats 11–50

$79/seat/yr

Seats 51+

$69/seat/yr

Brackets apply per seat — a 10-seat team pays $99 each for seats 1–3 and $89 each for seats 4–10.

Give every coding agent the same room to work in.

Download Solo download

Free for four projects on macOS and Windows.

Start with a terminal and add the programmable meta-harness when you need to coordinate agents with your local development stack.

“I can't live without it.”

Jesse Hanley · @jessethanley