Terminals — procurement report
ProductArena · rankings as of 2026-09-16 · evidence as of 2026-09-16 · 6 products · 54 judged requirements · 324 judged cells
Methodology: Every product is judged against a shared taxonomy of user stories using cited evidence — hands-on probes > repository code > independent community sources > vendor claims — never opinion. Full writeup: https://ultrametric.ai/productarena/methodology
Leaderboard
| # | Product | PA Score | Coverage score | Applicable cells | Confidence |
|---|---|---|---|---|---|
| 1 | Warp | 53.0 | 40.7 | 53/54 | C |
| 2 | iTerm2 | 18.8 | 34.5 | 52/54 | B |
| 3 | WezTerm | 17.5 | 30.8 | 43/54 | B |
| 4 | kitty | 13.0 | 37.0 | 44/54 | C |
| 5 | Alacritty | 7.5 | 13.7 | 40/54 | C |
| 6 | Ghostty | 5.7 | 18.8 | 41/54 | B |
PA Score = agent-readiness blend (see methodology). Coverage score = weighted share of judged requirements met. Confidence = how much of the score rests on tested vs claimed evidence (A–D).
Uncertainty note
The current #1/#2 gap in this arena is not close enough to qualify for the multi-judge uncertainty pass (or the pass has not covered it yet) — no extra caveat applies beyond the per-product confidence grades above.
Buyer checklist (RFP)
The arena's 54 judged user stories as requirements, grouped by theme. Priorities mirror the story weights our scoring uses (3 = must-have, 2 = should-have, 1 = nice-to-have). Interactive version with per-requirement verdicts for the top products: /arena/terminals/checklist
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
- ai-native userPlug MCP servers into this product so it can use their toolsmust-have
- ai-native userConnect an agent via an official MCP servermust-have
- ai-native userDrive the product through a documented public APImust-have
- ai-native userDelegate tasks to a built-in AI assistant inside the productmust-have
- ai-native userPoint an agent at llms.txt or agent-oriented docsshould-have
- ai-native userRun the product headlessly / in CI for automationshould-have
- ai-native userUse an official CLIshould-have
- ai-native userIssue scoped/least-privilege API credentials for an agentshould-have
- ai-native userBuild against official SDKsshould-have
- ai-native userSubscribe to events via webhooksshould-have
- ai-native userGet AI-generated insights and suggestions from my data inside the productshould-have
- ai-native userSet up automations that run autonomously in the backgroundshould-have
- ai-native userOperate the product with natural-language commandsshould-have
- ai-native userExplore an interactive API reference with runnable examplesshould-have
- ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)should-have
- ai-native userRely on versioned APIs with a documented deprecation policyshould-have
- ai-native userTest against a sandbox environment without touching production datanice-to-have
Ai assistance — stories about ai assistance in this arenaAi assistance
Stories about ai assistance in this arena
- ai-native userDelegate terminal tasks to a built-in AI agent that plans and executes commands with my approvalmust-have
- ai-native userGet AI explanations and suggested fixes when a command failsshould-have
- ai-native userType natural language and get the right shell command generated in placeshould-have
- ai-native userUse or fully disable AI features with clear control over what session data leaves my machine, without a forced loginshould-have
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
- ai-native userDefine rules that trigger actions automatically on eventsmust-have
- ai-native userPerform bulk operations across many items at onceshould-have
- ai-native userSchedule recurring jobs or workflowsshould-have
- ai-native userVersion, review, and roll back my automationsnice-to-have
Config theming — stories about config theming in this arenaConfig theming
Stories about config theming in this arena
- power-userKeep the terminal's full configuration as plain-text files in my dotfiles and sync it across machinesmust-have
- developerUse programming fonts with ligatures, fallback fonts, and fine-grained font tuningshould-have
- power-userApply color schemes and themes, including automatic light/dark mode switchingshould-have
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
- ai-native userExport all of my data in open formats and leavemust-have
- ai-native userSelf-host the core productmust-have
- ai-native userDo everything through the API that I can do in the UIshould-have
- ai-native userRead the product's source under an open licenseshould-have
Panes multiplexing — stories about panes multiplexing in this arenaPanes multiplexing
Stories about panes multiplexing in this arena
- developerSplit windows into panes and organize work across tabs without an external multiplexermust-have
- developerRestore my windows, tabs, and working directories after a restart or crashshould-have
- power-userSummon the terminal instantly with a global hotkey or quake-style dropdown windownice-to-have
Performance rendering — stories about performance rendering in this arenaPerformance rendering
Stories about performance rendering in this arena
- developerRely on GPU-accelerated rendering that stays fast and responsive under heavy outputmust-have
- power-userSee published benchmarks or measured latency/throughput numbers backing the terminal's performance claimsshould-have
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
- ai-native userPrevent my data from being used to train AI modelsmust-have
- ai-native userChoose where my data is stored (region/residency)should-have
- ai-native userControl data retention and deletionshould-have
- ai-native userOpt out of telemetry and usage trackingshould-have
Protocols media — stories about protocols media in this arenaProtocols media
Stories about protocols media in this arena
- developerDisplay inline images and rich graphics via a documented terminal graphics protocolshould-have
- developerRun the same terminal with the same config on macOS, Linux, and Windowsshould-have
Remote ssh — stories about remote ssh in this arenaRemote ssh
Stories about remote ssh in this arena
- developerSSH to remote hosts with the terminal's own integration carrying my terminfo, shell integration, and config alongshould-have
- developerUse tmux inside the terminal, or a documented native tmux integration/control modeshould-have
Scriptability control — stories about scriptability control in this arenaScriptability control
Stories about scriptability control in this arena
- ai-native userLet a coding agent programmatically drive the terminal itself — create panes, run commands, read output — through a documented control protocol or APImust-have
- developerScript and control the terminal from the command line — open windows, send text, query state — via a documented CLI or IPC interfacemust-have
- developerExtend the terminal with scripts or plugins in a real language (Lua, Python, kittens) beyond built-in optionsshould-have
- power-userDefine startup sessions and window layouts in config or scripts so a project workspace opens in one commandshould-have
Shell integration — stories about shell integration in this arenaShell integration
Stories about shell integration in this arena
- developerI get command-aware features from shell integration, like exit status, duration, and notifications when long commands finishshould-have
- developerJump between prompts and command marks in my scrollback thanks to shell integrationshould-have
Workflow ergonomics — stories about workflow ergonomics in this arenaWorkflow ergonomics
Stories about workflow ergonomics in this arena
- developerOpen URLs and file paths from output by clicking them or selecting them from the keyboardshould-have
- developerSearch my scrollback quickly and jump between matchesshould-have
- power-userDiscover and run terminal actions from a searchable command palettenice-to-have
Appendix: recorded probes
Hands-on probe recordings — transcripts/videos a human can replay, the strongest evidence tier. Watch them at https://ultrametric.ai/productarena/proofs
- Ghostty
ghostty +list-actionsterminal · recorded 2026-09-04 · exit 0 - Ghostty
ghostty --versionterminal · recorded 2026-09-04 · exit 0 - kitty
kitty --versionterminal · recorded 2026-09-04 · exit 0 - kitty
kitten @ --helpterminal · recorded 2026-09-04 · exit 0 - kitty
kitty --detach -o allow_remote_control=socket-only --listen-on unix:/tmp/pa-kitty-probe && kitten @ --to unix:/tmp/pa-kitty-probe ls && kitten @ ... send-text "echo PA_PROBE_OK\n" && kitten @ ... get-text && kitten @ ... close-window --match allterminal · recorded 2026-09-04 · exit 0 - WezTerm
wezterm cli --helpterminal · recorded 2026-09-04 · exit 0 - WezTerm
wezterm --versionterminal · recorded 2026-09-04 · exit 0 - WezTerm
wezterm-mux-server --daemonize && PANE=$(wezterm cli spawn --new-window -- /bin/zsh -l) && wezterm cli send-text --pane-id $PANE --no-paste "echo PA_PROBE_OK" && wezterm cli get-text --pane-id $PANE && wezterm cli listterminal · recorded 2026-09-04 · exit 0
Cite as: ProductArena by Ultrametric Inc, Terminals arena, rankings as of 2026-09-16 — https://ultrametric.ai/productarena/arena/terminals
License: © 2026 Ultrametric Inc. Brief quotation of individual verdicts, scores, or evidence excerpts is permitted with attribution to "ProductArena by Ultrametric Inc (ultrametric.ai/productarena)", as is use of the data to evaluate, contest, or contribute corrections. Bulk copying, redistribution, or use to build competing datasets requires prior written permission (see DATA-LICENSE in the repository).
No liability: rankings, verdicts, and scores are research outputs derived from the cited evidence at a point in time, provided "as is", without warranties. Ultrametric Inc accepts no responsibility for procurement, purchasing, or other decisions made in reliance on them — verify against the cited evidence before acting (https://ultrametric.ai/productarena/terms).