Running a fleet of coding agents surfaces an uncomfortable truth: the terminal itself becomes part of your latency budget. Before arguing about which emulator makes a better agent cockpit, it helps to settle the narrower, measurable question first — is Ghostty actually faster than iTerm2, and by how much?
Where Ghostty pulls ahead of iTerm2

Ghostty is faster than iTerm2 on raw text throughput, and the gap is large enough to matter when agents stream output continuously. Mitchell Hashimoto's February 2024 devlog ran time cat japanese-bible.txt (5.4 MB, averaged over 10 runs) and measured Ghostty at 73 ms against iTerm2 3.4.23 at 470 ms — roughly a 6× ratio on that one plain-text IO path . A more realistic community test in February 2026 — tailing a 100 MB log — put Ghostty at about one-third of iTerm2's time, the ~3× figure most reviewers now cite as the headline .
Quick Answer: Ghostty renders plain-text output roughly 3× faster than iTerm2 on a 100 MB log-tail test, with keystroke latency near 1.2 ms versus iTerm2's ~4.1 ms and idle RAM around 45 MB versus 120 MB. The speed is real — but it is not the agent-supervision bottleneck.
2026 review blogs report the same direction across other metrics: about 1.2 ms keystroke latency versus iTerm2's ~4.1 ms, startup under 70 ms versus 300 ms+, idle memory near 45 MB versus 120–185 MB, and scrolling up to 144 fps against a 60 fps cap — with the margin widening on Apple M-series silicon .
| Metric | Ghostty | iTerm2 |
|---|---|---|
| time cat 5.4 MB (2024 devlog) | 73 ms | 470 ms |
| Keystroke latency | ~1.2 ms | ~4.1 ms |
| Startup | <70 ms | 300 ms+ |
| Idle RAM | ~45 MB | ~120–185 MB |
This is architecture, not a config tweak. Ghostty renders on Metal (macOS) or OpenGL (Linux), gives each terminal dedicated read, write, and render threads, and ships as a shared Zig library, libghostty, with a native Swift/AppKit GUI on macOS . Ghostty's README frames it plainly:
"Ghostty and Alacritty are usually within a few percent of each other, but both are something like 100x faster than Terminal.app and iTerm," — Ghostty project README (source: ghostty-org/ghostty).
One caveat before reading too much into any single number: the 2024 devlog is explicitly a "contrived" plain-text IO test, and the 2026 figures are community measurements, not a first-party or independent controlled harness . Treat the direction — Ghostty faster and lighter — as reliable, and each exact multiple as approximate.
The pane-sprawl problem emulator IO can't solve

Raw throughput helps you read output faster; it does nothing to tell you which agent needs you. That is the core limitation the seed video identifies: run eight tmux panes of agents in parallel and you become the dashboard, scanning window by window for the one that is blocked, waiting on input, or already finished. A faster renderer repaints those panes more smoothly, but there is still no global surface reporting session state.
Practitioner write-ups now frame the stack as four layers: the emulator (Ghostty, iTerm2, Alacritty), the multiplexer (tmux, Zellij), the orchestrator (cmux, Conductor, Superset), and the shell wrapper (source). Emulator IO — the thing Ghostty wins on — only touches layer one. Coordination lives two layers up.
Anthropic partly moved that job into the CLI. Claude Code Agent View, a Research Preview launched May 11 2026 requiring v2.1.139+ , opens a status surface with claude agents: rows show needs-input, working, or done, and /bg backgrounds a session. For Claude-only setups that shrinks the terminal's coordination role — but it does nothing for mixed Codex, Aider, or Gemini CLI fleets, which still need an orchestrator.
And scaling has a cost renderers never touch. Rate limits apply per session, so ten parallel Claude Code agents burn quota roughly 10× faster . The real ceiling on fan-out is quota, not milliseconds.
Two cockpit configurations: cmux for Ghostty, tmux CC for iTerm2

To turn either emulator into an agent cockpit you add a coordination layer, and the two ecosystems take opposite routes. Ghostty gets there through cmux, a new app that embeds the renderer; iTerm2 gets there through tmux -CC, a control-mode integration it has shipped for years. Both make parallel sessions visible as native panes — the difference is maturity versus reach.
cmux (manaflow-ai/cmux) is the first app to ship on libghostty, embedding Ghostty's GPU rendering "the same way apps use WebKit for web views" . It launched in January 2026 and reached v0.64.20 on July 19, 2026 . A CLI and socket API creates workspaces, splits panes, sends keystrokes, and even drives an embedded browser, so each sub-agent — Claude Code, Codex, Aider, Goose — runs in its own visible native pane instead of a buried tmux window .
You do not strictly need cmux. Ghostty 1.3.0 (March 9, 2026) added an AppleScript automation preview that can drive windows, tabs, and splits, broadcast commands, and jump to a terminal by working directory . Its notify-on-command-finish option fires after a configurable idle threshold — the release note example uses 30 seconds — and marks completed sessions without polling, provided OSC 133 shell integration is active .
iTerm2's path is tmux -CC, which maps tmux sessions into native windows and tabs. Sessions survive an iTerm2 quit or an SSH drop and reopen on tmux -CC attach, and native close, split, and resize actions route straight to tmux . Its shell integration adds marks, command status, and "Alert on next mark"; combining both requires ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX=1 . Ghostty 1.3.0 notes confirm VT-layer tmux control-mode parsing landed but is "not hooked up to the GUI yet" — so for control-mode multiplexing, iTerm2 remains the more mature choice in mid-2026.
Sharp edges: tearing, OSC 9;4 keepalives, and iTerm2's tmux advantage
Ghostty's speed carries trade-offs worth knowing before you commit a fleet of agents to it. Its own synchronized-output documentation names Claude Code explicitly as a CLI that repaints large regions without the synchronized-output protocol, and a fast renderer can expose flicker or tearing until the CLI adopts it . If you see artifacts, enable synchronized output per session as a workaround.
Version matters too. Ghostty 1.3.0 (March 9, 2026) fixed a major memory leak triggered at scale by Claude Code output patterns — if you benchmarked on an earlier build, upgrade before drawing conclusions about memory footprint.
The per-split progress bar is conditional. Ghostty renders ConEmu OSC 9;4 progress as an integer 0–100 across five states, but the protocol has a hardcoded ~15-second stale timeout . The emitting CLI must send keepalive updates or the bar freezes — and it only helps when the agent actually emits progress events, which most coding agents do not yet do.
On the iTerm2 side, its shell integration does not work with tmux by default. You must set ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX=1, and even then it works with tmux -CC but not the regular tmux UI . Without that flag, marks and "Alert on next mark" are unavailable in the standard multiplexed view — the exact place a supervisor most wants them.
Where to go from here: Ghostty 1.3, Warp, and cmux
Pick the layer that matches your bottleneck. For raw IO throughput on Apple silicon, Ghostty 1.3.1 (March 13, 2026) is the current release; the 1.3.0 fix for a memory leak triggered by Claude Code output patterns alone justifies upgrading from any 1.2.x install . For in-terminal LLM command generation without a subscription, Warp re-licensed AGPL-3.0 in April 2026 and now positions itself as an "Agentic Development Environment" with a built-in AI plugin .
To coordinate many sub-agents on one repo, add cmux on the Ghostty path (libghostty embedding, socket API) or tmux -CC on the iTerm2 path, then layer Claude Code Agent View on top for Claude-specific session visibility . Windows users should wait: Ghostty's Windows support remains planned but unshipped as of mid-2026, and cmux's community port (wmux) is in progress — neither is production-ready . The takeaway: speed is table stakes; choose your orchestration layer first, then let the emulator serve it.
Frequently asked questions
Is Ghostty actually 3× faster than iTerm2?
On plain-text IO throughput, yes — with caveats. Mitchell Hashimoto's benchmark reading a 5.4 MB text file measured Ghostty at 73 ms versus iTerm2's 470 ms, roughly a 6× gap . A community 100 MB log-tail test in February 2026 clocked Ghostty at about one-third of iTerm2's time — the ~3× headline figure . Both are directional benchmarks that vary by hardware and version, not a controlled third-party harness, so treat the direction as reliable and any single multiple as approximate.
Will switching to Ghostty make my multi-agent setup noticeably faster?
For rendering dense log output from a single session, yes — Ghostty's GPU-accelerated pipeline handles high-volume text streams faster and with lower idle memory than iTerm2 . For the core supervision problem — knowing which of eight parallel sessions needs your attention right now — no. That constraint lives in the coordination layer above the emulator, not in IO throughput. A faster renderer draws a blocked agent's prompt more crisply; it does not tell you the agent is blocked.
What is libghostty and how does cmux use it?
libghostty is Ghostty's shared Zig rendering library, separate from the native macOS Swift/AppKit GUI, so other applications can embed Ghostty's terminal engine without reimplementing a renderer. cmux is the first app to ship on it, embedding libghostty's GPU-accelerated rendering the same way an app embeds WebKit for web views . That gives cmux native, GPU-drawn terminal panes inside a coordination-focused host app, turning subagents into visible panes rather than tmux windows you cycle through manually.
Does Ghostty support tmux control mode like iTerm2?
Not yet as of 2026. Ghostty 1.3.0 (March 9, 2026) added significantly more tmux control-mode parsing at the VT layer, but the release notes state it is "not hooked up to the GUI yet" . iTerm2's tmux -CC integration — mapping tmux sessions into native tabs that survive app restarts and dropped SSH connections — remains its most concrete practical advantage over Ghostty for multiplexed agent supervision.
Does Claude Code Agent View replace a terminal multiplexer?
For Claude-only workflows, partly. Claude Code Agent View, introduced May 11, 2026 and requiring Claude Code v2.1.139+, is opened with claude agents and surfaces which sessions need input, are working, or are done, with background attach/detach that keeps sessions running without a terminal open . It does not help with Aider, Codex, Goose, or other CLIs, and it does not provide pane-level output visibility — so it narrows the terminal's role rather than removing the emulator or multiplexer entirely.
Enjoyed this article? Subscribe to get new stories by email whenever they're published.