iTerm2 vs WezTerm
iTerm2 wins · 19–11 (13 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round drawniTerm2none0/10Probes explicitly show no llms.txt or machine-readable/agent-oriented docs endpoint exists (404s), and no other evidence indicates agent-oriented documentation formats are offered.
WezTermnone0/10WezTerm is a terminal emulator with no llms.txt or agent-oriented documentation endpoint; probes explicitly confirm 404s for llms.txt and markdown doc variants, and there is no mention of agent-facing docs anywhere in the docs or community evidence.
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to WezTermiTerm2none0/10The axis applies to terminal emulators as a kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/terminals-na-harmonize.ts.)
The CLI subcommand explicitly documents spawning/manipulating panes on a running instance, and a hands-on runtime probe confirms a fully headless control loop (mux-server --daemonize, cli spawn, send-text, get-text, list) with no GUI session required — directly matching the CI/automation story. Missing for 10: explicit first-party CI documentation/examples and independent community reports of using WezTerm in CI pipelines.
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “official CLI documented at https://wezterm.org/cli/cli/index.html”
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · round drawniTerm2none0/10iTerm2 has an AI chat plugin and Python scripting API, but no evidence anywhere in the pack of MCP server integration or ability to plug in MCP tools. This is a plausible axis for a terminal with AI features, but absent evidence it defaults to none.
ai-native userConnect an agent via an official MCP server
weight 3 · round drawniTerm2none0/10No evidence of an official MCP server for iTerm2; it offers an AI chat plugin (OpenAI-based) and Python/AppleScript scripting APIs, but nothing about MCP protocol support. Probes for docs/API specs also return 404s.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [probe] “PROBE llms.txt: HTTP 404 at https://iterm2.com/llms.txt”
ai-native userUse an official CLI
weight 2 · round to WezTermiTerm2 ships official automation surfaces — a Python scripting API and AppleScript support (iterm2-docs-13, iterm2-docs-14, iterm2-gh-15) — and community reports mention bundled command-line utilities like imgcat and it2dl for scripting terminal interactions (iterm2-comm-5, iterm2-comm-6), which could serve AI-native/agentic automation. However none of this constitutes a dedicated, documented 'official CLI' tool designed for agentic/AI-native control (e.g., no `iterm2` command-line binary with subcommands is described), and probes for machine-readable API docs (llms.txt, openapi.json) all 404 (iterm2-probe-1, iterm2-probe-3). Missing for 10: a first-party CLI binary/tool explicitly documented for scripting/automation, official docs framing it for AI-agent use, and independent confirmation of CLI-driven agentic workflows.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
- [community] “"Along with imgcat there's it2dl. Downloads a file from the remote system browser-style. It's much more convenient than scp, especially when…”
- [probe] “PROBE llms.txt: HTTP 404 at https://iterm2.com/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://iterm2.com/openapi.json, https://iterm2.com/swagger.json, https://iterm2.com/api/openapi.jso…”
WezTerm ships an official `wezterm cli` subcommand documented for spawning programs, sending text, reading pane content, and manipulating tabs/panes/windows, and a runtime probe confirms it works fully headless (mux-server daemonized, spawn/send-text/get-text/list all functioning without a GUI) — exactly the kind of scriptable, agent-drivable CLI an AI-native user would need. Missing for 10: no explicit first-party framing or examples for AI/agent orchestration use-cases, and no independent (non-vendor) confirmation beyond the single runtime probe.
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “official CLI documented at https://wezterm.org/cli/cli/index.html”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
ai-native userDrive the product through a documented public API
weight 3 · round to iTerm2iTerm2 documents a full Python API (iterm2 package) for scripting/controlling the app, plus AppleScript support, both with dedicated documentation pages and community corroboration of hands-on use (imgcat, it2dl, Python scripting praised as far superior to AppleScript). This constitutes a documented public API for programmatic/agentic control, though it's not a modern REST/OpenAPI-style API and no llms.txt/OpenAPI spec exists. Missing for 10: a formal OpenAPI/REST-style spec or llms.txt discoverability layer, and no evidence of AI-agent-specific SDK usage beyond scripting.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
- [probe] “PROBE llms.txt: HTTP 404 at https://iterm2.com/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://iterm2.com/openapi.json, https://iterm2.com/swagger.json, https://iterm2.com/api/openapi.jso…”
WezTerm exposes a documented CLI (wezterm cli spawn/send-text/get-text/list) and a Lua config API, and a runtime probe confirms headless scripted control works end-to-end without a GUI, which is strong evidence for programmatic/agentic driving. However this is a CLI/Lua surface rather than a formal public API spec, and explicit machine-readable API docs (llms.txt, OpenAPI) both 404. missing for 10: an official structured API spec (OpenAPI/schema) or llms.txt for machine consumption, first-party documentation framing this as an 'AI-native' or agent-facing API, and independent third-party corroboration of scripted/agentic use beyond the single runtime probe.
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “official CLI documented at https://wezterm.org/cli/cli/index.html”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [probe] “PROBE llms.txt: HTTP 404 at https://wezterm.org/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://wezterm.org/openapi.json, https://wezterm.org/swagger.json, https://wezterm.org/api/openapi.…”
ai-native userSubscribe to events via webhooks
weight 2 · round drawniTerm2none0/10No evidence of any webhook subscription mechanism; iTerm2 offers triggers and a Python scripting API for local automation but nothing about outbound webhook events or subscriptions is documented.
Agentic features
ai-native userSet up automations that run autonomously in the background
weight 2 · round to iTerm2iTerm2 supports regex-based Triggers that autonomously fire actions (highlighting, running commands, notifications, invoking Python scripts) when patterns appear, and offers a full Python scripting API for background automation and custom features [iterm2-docs-16, iterm2-gh-2, iterm2-docs-13, iterm2-gh-15]. This provides generic background automation but isn't framed around AI-agent workflows specifically. missing for 10: evidence of AI-driven or agentic automations running unattended, scheduling/cron-like persistent background tasks tied to AI features, and independent confirmation that these automations run reliably without user oversight.
- [claimed-docs] “iTerm2 supports user-defined triggers, which are actions that run when text matching a regular expression is received.”
- [github] “Triggers - Regex patterns that fire actions when matched: highlight text, run commands, send notifications, open password manager, set marks…”
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
WezTermnone0/10WezTerm provides CLI/mux scripting and headless control (spawn, send-text, get-text) that could be used as building blocks, but there is no evidence of a scheduler, trigger system, or persistent background automation framework that runs autonomously without an external orchestrator invoking it. missing for 10: any documented scheduling/trigger mechanism, autonomous background job execution, or agent-loop capability distinct from manual/CLI-invoked scripting.
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [probe] “official CLI documented at https://wezterm.org/cli/cli/index.html”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawniTerm2none0/10iTerm2 does have a Python scripting API (iterm2-docs-13) so this axis is plausible, but there's no evidence of an interactive API reference with runnable examples—probes confirm no OpenAPI/swagger docs, no llms.txt, and no docs-as-markdown endpoint, and no community or docs evidence describes an interactive/executable API playground.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [probe] “PROBE llms.txt: HTTP 404 at https://iterm2.com/llms.txt”
- [probe] “PROBE docs-md: HTTP 404 at https://iterm2.com/documentation.html.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://iterm2.com/openapi.json, https://iterm2.com/swagger.json, https://iterm2.com/api/openapi.jso…”
WezTermnone0/10WezTerm is a terminal emulator with static configuration docs and a Lua API reference, but there's no evidence of an interactive, runnable-examples API reference; probes confirm no llms.txt, no docs-md, and no OpenAPI/interactive API surface exists.
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round drawniTerm2none0/10iTerm2 offers a Python scripting API but no evidence of a downloadable OpenAPI/machine-readable API spec; explicit probes for llms.txt, docs-md, and openapi.json all returned 404.
- [probe] “PROBE llms.txt: HTTP 404 at https://iterm2.com/llms.txt”
- [probe] “PROBE docs-md: HTTP 404 at https://iterm2.com/documentation.html.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://iterm2.com/openapi.json, https://iterm2.com/swagger.json, https://iterm2.com/api/openapi.jso…”
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
WezTermnone0/10WezTerm exposes a CLI and mux protocol but no machine-readable API spec is documented; probes for llms.txt, docs-md, and OpenAPI/swagger endpoints all return 404.
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawniTerm2none0/10There is no evidence of a versioned API contract or documented deprecation policy; the Python API docs exist but no version/deprecation policy is mentioned, and probes for API discovery artifacts (llms.txt, openapi.json) all 404.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [probe] “PROBE llms.txt: HTTP 404 at https://iterm2.com/llms.txt”
- [probe] “PROBE docs-md: HTTP 404 at https://iterm2.com/documentation.html.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://iterm2.com/openapi.json, https://iterm2.com/swagger.json, https://iterm2.com/api/openapi.jso…”
WezTermnone0/10No evidence of a versioned API or documented deprecation policy; probes for llms.txt, docs-md, and OpenAPI specs all returned 404, and no docs mention API versioning or deprecation practices. WezTerm's Lua config API and CLI have no documented stability/versioning guarantees in the evidence pack.
Ai assistance — stories about ai assistance in this arenaAi assistance
Stories about ai assistance in this arena
Ai agent
ai-native userDelegate terminal tasks to a built-in AI agent that plans and executes commands with my approval
weight 3 · round to iTerm2iTerm2 ships an optional AI plugin providing a built-in LLM chat that can be linked to a session to give context-aware help, explain output, and 'run commands on your behalf' (iterm2-docs-15, iterm2-gh-6), which is a real but thin form of AI-agent delegation. However, there's no documented explicit plan-then-approve workflow (e.g., showing a command and requiring confirmation before execution), and community reports raise concerns that the AI toggle's off/on state was ambiguous, undermining confidence in a clean approval gate (iterm2-comm-1, iterm2-comm-2). Missing for 10: documented step-by-step approval/confirmation UI before command execution, evidence of autonomous multi-step planning, and independent hands-on validation that the agent respects user approval before running commands.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
- [community] “"It takes much less effort for me to simply switch back to Terminal.app." (reacting to iTerm2 adding an opt-in OpenAI-based AI feature)”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
Ai privacy
ai-native userUse or fully disable AI features with clear control over what session data leaves my machine, without a forced login
weight 2 · round to iTerm2iTerm2disputedcontradicted5/10iTerm2 ships AI chat as an optional, install-only plugin with no forced login (iterm2-docs-15, iterm2-gh-6), suggesting users can ignore or avoid it entirely. However, hands-on community reports concretely contradict 'clear control': a user found that merely putting any text (even a stray space) in the API key field silently activates data-sending to OpenAI, with no reliable way to see the feature is actually disabled (iterm2-comm-2), and another reacted by switching terminals entirely over trust concerns (iterm2-comm-1). Missing for 10: no documentation on exactly what session data leaves the machine when AI chat is enabled, no fix/acknowledgment of the toggle bug, and no independent verification that the issue was resolved.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
- [community] “"It takes much less effort for me to simply switch back to Terminal.app." (reacting to iTerm2 adding an opt-in OpenAI-based AI feature)”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
- [community] “Some users called the backlash overblown: "a feature that is inactive by default, consumes no processing power, memory or anything else" sti…”
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to iTerm2iTerm2 exposes a Python scripting API and AppleScript that can programmatically iterate over sessions/tabs, and Global Search lets users search across all tabs at once, which together imply some bulk-automation capability. However, there is no direct evidence of a dedicated bulk-operation feature (e.g., broadcast-to-all-panes) or hands-on proof that AI-driven bulk actions across many items actually work reliably. Missing for 10: explicit bulk-command/broadcast feature documentation, concrete examples of Python API performing multi-session bulk operations, independent confirmation of scale/performance.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [claimed-docs] “Search all your tabs at once with Global Search.”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
WezTerm's CLI (`wezterm cli list/spawn/send-text/get-text`) exposes scriptable primitives that let a user enumerate and act on multiple panes/tabs/windows programmatically, and the runtime probe confirms headless multiplexer control works end-to-end. However, there's no evidence of a native 'bulk operation' command that targets many items in a single call — any bulk behavior would require external shell scripting/looping over the CLI primitives, which isn't documented. Missing for 10: documented batch/multi-target commands, evidence of scaling to large numbers of panes/tabs, and any built-in bulk-action feature beyond single-target CLI calls.
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [probe] “official CLI documented at https://wezterm.org/cli/cli/index.html”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round to iTerm2iTerm2 supports user-defined Triggers that fire on regex matches from terminal output, enabling automatic actions like highlighting, running commands, sending notifications, invoking Python scripts, or opening a password manager — a documented rules-on-event automation system, further extensible via the Python API for custom triggers/behaviors. missing for 10: no independent hands-on validation of complex trigger chains, and no evidence of AI-specific event-triggering beyond generic regex triggers.
- [claimed-docs] “iTerm2 supports user-defined triggers, which are actions that run when text matching a regular expression is received.”
- [github] “Triggers - Regex patterns that fire actions when matched: highlight text, run commands, send notifications, open password manager, set marks…”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
WezTerm's docs show scripted automation hooks (CLI to spawn/manipulate panes headlessly, shell-integration user vars, and automatic config-reload on file change) that could be used to script reactive behavior, but there is no explicit documentation of a rule/event system (e.g., named event triggers or pattern-based action bindings) that fires automatically on terminal events. Missing for 10: explicit event-trigger/rule API documentation, examples of event-based automation, and independent confirmation that users define event-driven rules.
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded”
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded and the majority of o…”
- [claimed-docs] “The shell integration provides a shell function named __wezterm_set_user_var which can be used to set your own user vars.”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
ai-native userSchedule recurring jobs or workflows
weight 2 · round drawniTerm2none0/10iTerm2 offers triggers, Python scripting API, and AppleScript automation, but there is no evidence of a scheduler or mechanism for recurring/cron-like jobs or workflows; automation is event-triggered or manually scripted, not scheduled.
ai-native userVersion, review, and roll back my automations
weight 1 · round drawniTerm2none0/10No evidence of any version control, review, or rollback mechanism for automations (triggers, Python scripts, profiles). iTerm2 supports scripting and triggers, but nothing in the evidence pack shows versioning, diffing, review workflows, or rollback of these automations.
Config theming — stories about config theming in this arenaConfig theming
Stories about config theming in this arena
Dotfiles
power-userKeep the terminal's full configuration as plain-text files in my dotfiles and sync it across machines
weight 3 · round to WezTermiTerm2none0/10The evidence pack contains no mention of iTerm2's preferences file format, exporting/importing settings as plain-text/plist files, or any dotfiles-style sync workflow across machines. Without evidence for this specific capability, it cannot be credited even though it is a plausible axis for a terminal emulator.
WezTerm's config is plain Lua text (wezterm.lua) that lives in dotfiles, auto-reloads on change, and supports CLI overrides — and community evidence directly confirms this makes cross-machine syncing trivial ('it's just Lua code, easy to diff and easy to apply' vs. iTerm2 where syncing was 'next to impossible'). Missing for 10: no first-party doc explicitly discussing dotfiles/multi-machine sync workflows, only community corroboration.
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded”
- [claimed-docs] “wezterm allows overriding configuration values via the command line”
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded and the majority of o…”
- [community] “What killed iTerm2 for me was the fact that syncing settings between machines with chezmoi was next to impossible. With Wezterm it's just Lu…”
Fonts
developerUse programming fonts with ligatures, fallback fonts, and fine-grained font tuning
weight 2 · round to WezTermiTerm2none0/10The evidence pack contains no mention of font rendering, ligature support, fallback fonts, or font-tuning settings anywhere in iTerm2's docs, GitHub feature list, or community discussion; only general 'mind-boggling number of options' and color-mode claims are present, which don't address fonts specifically. Missing for 10: any mention of font selection, ligature support, fallback font configuration, or font-size/spacing tuning options.
WezTermdisputedcontradicted6/10WezTerm's docs explicitly advertise ligatures, color emoji, and font fallback with true color, and config docs mention font-size/color-scheme tuning and live-reload of config changes, supporting fine-grained font control. However, hands-on community reports concretely contradict the polish of this: one user found WezTerm 'severely lacking in font configuration department contrary to popular opinion,' and another reports it 'renders Pragmata Pro Mono Liga much worse on Linux than Tilix does,' plus a Windows user found ligature rendering came with worse input latency than alternatives. Missing for 10: first-party deep-dive docs on fallback font ordering/fine-tuning knobs beyond font_size, and independent corroboration resolving the rendering-quality complaints.
- [claimed-docs] “Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes”
- [claimed-docs] “Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes.”
- [claimed-docs] “changing the font size and color scheme.”
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded and the majority of o…”
- [community] “I live inside tmux inside alacritty running wsl. I tried wezterm after reading all the great reviews... and i found it severely lacking in f…”
- [community] “It renders Pragmata Pro Mono Liga much worse on Linux than Tilix does. Otherwise, I'd give it a shot.”
- [community] “I tried WezTerm on Windows because I was looking for a terminal with ligature support and lower input latency than Windows Terminal. Unfortu…”
Theming
power-userApply color schemes and themes, including automatic light/dark mode switching
weight 2 · round to WezTermiTerm2none0/10The evidence pack contains no mention of color schemes, themes, or automatic light/dark mode switching for iTerm2 despite this being a plausible and well-known capability for a terminal emulator; no docs, GitHub, or community citations address theming at all. missing for 10: any documentation or mention of color scheme/theme support, dark mode toggling, or automatic OS appearance syncing.
Evidence confirms WezTerm supports configurable color schemes and dynamic color scheme changes via config/live-reload, but nothing in the pack explicitly documents automatic OS light/dark mode detection or a scheme-switching mechanism tied to system appearance. Missing for 10: explicit documentation of automatic light/dark mode switching (e.g., appearance-based scheme selection), and independent confirmation it works in practice.
- [claimed-docs] “Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes”
- [claimed-docs] “changing the font size and color scheme.”
- [claimed-docs] “Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes.”
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded and the majority of o…”
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userDo everything through the API that I can do in the UI
weight 2 · round drawniTerm2's Python API is documented as controlling and extending iTerm2 behavior (custom status bar, triggers, menu items, session control), and a community hands-on review calls it able to 'touch pretty much everything' via scripting, which supports broad API-driven control. However, there's no evidence of a formal claim or documentation of full UI/API parity — no explicit list mapping every UI feature (e.g. AI chat, browser profiles, tmux integration) to API equivalents, and probes show no OpenAPI spec or llms.txt for verifying coverage. Missing for 10: explicit parity documentation, API coverage for newer UI features (AI chat, browser profiles), and independent verification that all UI actions are scriptable.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
- [probe] “PROBE openapi: all candidate paths 404 (https://iterm2.com/openapi.json, https://iterm2.com/swagger.json, https://iterm2.com/api/openapi.jso…”
WezTerm ships a genuine CLI/mux API (`wezterm cli spawn/send-text/get-text/list`) that a hands-on probe confirms works fully headless without a GUI session, covering pane/tab/window manipulation and text I/O — a strong basis for AI-native control. However, there's no evidence of full UI/API parity (e.g. scripting quick-select, font/color-scheme changes, image protocol, or search-mode equivalents via CLI), and no OpenAPI/machine-readable API surface (probes for openapi.json and llms.txt returned 404s), so many UI-only interactions remain unaddressed by the API. Missing for 10: documented CLI/Lua equivalents for all interactive UI features (quick select, scrollback search, image display, appearance changes), and any formal API spec.
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [probe] “PROBE openapi: all candidate paths 404 (https://wezterm.org/openapi.json, https://wezterm.org/swagger.json, https://wezterm.org/api/openapi.…”
- [probe] “PROBE llms.txt: HTTP 404 at https://wezterm.org/llms.txt”
ai-native userExport all of my data in open formats and leave
weight 3 · round to WezTermiTerm2none0/10No evidence of any data export feature or open-format export for iTerm2's own data (settings, session history, paste history, profiles); the evidence pack instead shows probes for llms.txt/openapi returning 404s and no mention of export/portability tooling. missing for 10: documented export of preferences/profiles/history in open formats, data portability guarantees, migration/export tooling.
WezTerm's configuration is plain-text Lua stored locally (not locked in a proprietary format or cloud service), and community evidence shows scrollback/session content can be dumped via `wezterm cli get-text`, giving a de facto path to extract your data and leave. However, there is no explicit documented 'export all data' feature, no bundled data-portability tool, and no discussion of migrating multiplexer session state elsewhere. Missing for 10: an explicit export/backup feature or documentation addressing full data portability beyond config files and scrollback dumps, and independent confirmation of leaving with all state intact.
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded”
- [claimed-docs] “wezterm allows overriding configuration values via the command line”
- [community] “One thing I was looking for just yesterday was a way to dump my terminal's scrollback - escape sequences and all - to stdout... wezterm does…”
- [community] “What killed iTerm2 for me was the fact that syncing settings between machines with chezmoi was next to impossible. With Wezterm it's just Lu…”
ai-native userRead the product's source under an open license
weight 2 · round to iTerm2The evidence repeatedly cites a public GitHub repository (github.com/gnachman/iTerm2) as the canonical source for iTerm2's features, indicating the source code is publicly hosted and readable. However, none of the evidence explicitly states or links to a specific open-source license (e.g., GPL) or license file, so the 'open license' claim is not directly confirmed. Missing for 10: explicit license identification/text, documentation page confirming licensing terms, independent confirmation of license compliance.
- [github] “Browser profiles integrate web browsing into iTerm2's window/tab/pane hierarchy. Copy mode, triggers, AI chat, and other terminal features w…”
- [github] “Session Restoration - Sessions run in long-lived server processes. If iTerm2 crashes or upgrades, your shells keep running. When iTerm2 rest…”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
WezTermnone0/10No evidence in the pack references WezTerm's source license, GitHub repository, or open-source licensing terms; all citations concern terminal features, CLI usage, and user reviews, not code openness. Missing for 10: mention of the repository/license, license type (e.g. MIT), or any statement about source availability.
ai-native userSelf-host the core product
weight 3 · round to WezTermiTerm2none0/10The axis applies to terminal emulators as a kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/terminals-na-harmonize.ts.)
WezTerm ships an embedded mux server that users can run themselves (self-hosted) and connect to via SSH domains, with docs on multiplexing and SSH domains plus a runtime probe confirming a fully headless `wezterm-mux-server --daemonize` control loop with `wezterm cli` spawn/send-text/get-text/list working without a GUI session. missing for 10: independent/community confirmation of self-hosted mux server usage specifically (most community quotes discuss desktop terminal use, not self-hosted server operation), and explicit licensing/deployment guidance for running it as a persistent self-hosted service.
- [claimed-docs] “A connection to a remote wezterm multiplexer made via an ssh connection is referred to as an _SSH domain_.”
- [claimed-docs] “wezterm uses an embedded ssh library to provide an integrated SSH client. The client can be used to make ad-hoc SSH connections to remote ho…”
- [claimed-docs] “Take a look at the multiplexing section for an alternative configuration that connects to a remote wezterm instance and preserves your tabs.”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
Panes multiplexing — stories about panes multiplexing in this arenaPanes multiplexing
Stories about panes multiplexing in this arena
Multiplexing
developerSplit windows into panes and organize work across tabs without an external multiplexer
weight 3 · round drawniTerm2 natively supports splitting tabs into multiple panes (vertical/horizontal) and organizing sessions across tabs and windows, directly replacing the need for tmux/screen for basic pane-and-tab workflows, with session restoration and profile-based organization further supporting this. missing for 10: independent hands-on verification specifically of pane-splitting workflow (community evidence focuses on other features like imgcat/scripting rather than confirming multiplexing usability directly).
- [claimed-docs] “Divide a tab up into multiple panes, each one showing a different session. You can slice vertically and horizontally”
- [claimed-docs] “Divide a tab up into multiple panes, each one showing a different session.”
- [github] “Session Restoration - Sessions run in long-lived server processes. If iTerm2 crashes or upgrades, your shells keep running. When iTerm2 rest…”
- [claimed-docs] “iTerm2 provides a taggable and searchable profiles database so you can easily find the profile you're looking for.”
- [claimed-docs] “you can define a profile that's always used when you ssh to some hostname. Or when your username is root. Or even when you're in a particula…”
WezTerm natively multiplexes panes, tabs, and windows locally and remotely with CLI control and persistent mux server, and multiple hands-on community reports confirm fast, responsive pane splitting used as a tmux replacement. missing for 10: no independent third-party benchmark comparing full multiplexer feature parity (session detach/reattach robustness) across platforms.
- [claimed-docs] “Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback”
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [community] “The main feature for me is splitting panes... The Lua configuration is very intuitive as well. I do get some indirect crashes when Xwayland …”
- [community] “I finally went back and gave wezterm a serious try... The mouse issues I was seeing go away. Splitting panes and resizing lots of panes is f…”
- [community] “I have been able to completely replace tmux with wezterm on Linux and Mac and love it. It even works on Windows.”
Quick access
power-userSummon the terminal instantly with a global hotkey or quake-style dropdown window
weight 1 · round to iTerm2Docs explicitly describe a global hotkey to bring iTerm2 to the foreground from any app, and GitHub evidence confirms a quake-style dropdown that slides down from a screen edge, even over fullscreen apps. Missing for 10: independent hands-on user testimonial specifically praising the hotkey/dropdown window feature.
- [claimed-docs] “Register a hotkey that brings iTerm2 to the foreground when you're in another application. A terminal is always a keypress away.”
- [claimed-docs] “Register a hotkey that brings iTerm2 to the foreground when you're in another application.”
- [github] “System-wide hotkey summons a terminal that slides down from the top of the screen (or any edge), even over fullscreen apps.”
WezTermnone0/10No evidence in the pack of a global-hotkey summon or quake-style dropdown window feature; documentation covers panes/tabs/multiplexing, SSH, CLI control, and scrollback but never mentions an instant-summon/dropdown mode, and no community citation confirms this capability exists.
Sessions
developerRestore my windows, tabs, and working directories after a restart or crash
weight 2 · round to iTerm2Session restoration via long-lived server processes reconnects shells (including working directories via shell integration) after crash/restart, and tmux -CC integration persists windows/tabs/panes even when iTerm2 or the SSH session drops. Missing for 10: no independent/hands-on confirmation of restoring exact tab/pane layout after a full app crash, only vendor/docs claims.
- [github] “Session Restoration - Sessions run in long-lived server processes. If iTerm2 crashes or upgrades, your shells keep running. When iTerm2 rest…”
- [github] “Sessions run in long-lived server processes. If iTerm2 crashes or upgrades, your shells keep running. When iTerm2 restarts, it reconnects to…”
- [github] “Sessions run in long-lived server processes. If iTerm2 crashes or upgrades, your shells keep running.”
- [claimed-docs] “When you run "tmux -CC", a new tmux session is created. An iTerm2 window opens and it acts like a normal iTerm2 window. The difference is th…”
- [claimed-docs] “When iTerm2 quits or the ssh session is lost, tmux keeps running. You can return to the host you were ssh'ed into and run "tmux -CC attach" …”
- [claimed-docs] “iTerm2 may be integrated with the unix shell so that it can keep track of your command history, current working directory, host name, and mo…”
- [claimed-docs] “iTerm2 can integrate with your shell so it knows where your shell prompt is, what commands you're entering, which host you are on, and what …”
WezTerm's mux-server/SSH-domain feature lets tabs and panes survive a GUI crash or restart by reconnecting to a persistent multiplexer instance, and OSC7-based cwd tracking lets new tabs inherit a working directory — but these require manually setting up a separate mux-server domain rather than being an automatic 'restore my session' feature, and there's no evidence of full window-layout or automatic state persistence on plain restart. Missing for 10: documented automatic session/workspace save-and-restore across app restarts, evidence of working-directory restoration (not just inheritance) after crash, and independent confirmation the mux-domain workflow reliably recovers full window/tab state.
- [claimed-docs] “A connection to a remote wezterm multiplexer made via an ssh connection is referred to as an _SSH domain_.”
- [claimed-docs] “Take a look at the multiplexing section for an alternative configuration that connects to a remote wezterm instance and preserves your tabs.”
- [claimed-docs] “When the current working directory has been set via OSC 7, spawning a new tab will use the current working directory of the current tab, so …”
- [claimed-docs] “wezterm uses an embedded ssh library to provide an integrated SSH client. The client can be used to make ad-hoc SSH connections to remote ho…”
Performance rendering — stories about performance rendering in this arenaPerformance rendering
Stories about performance rendering in this arena
Benchmarks
power-userSee published benchmarks or measured latency/throughput numbers backing the terminal's performance claims
weight 2 · round drawniTerm2none0/10No evidence pack item presents published benchmarks, latency/throughput numbers, or any measured performance data for iTerm2; the material covers features (panes, tmux integration, scripting) and unrelated community discussion (AI feature controversy, a security disclosure) with no performance metrics whatsoever.
WezTermnone0/10No evidence pack item shows WezTerm publishing formal benchmarks, latency/throughput measurements, or comparative performance data; docs only list features, and community comments are anecdotal impressions (some praising speed, others reporting higher latency than cmd.exe/kitty/alacritty) rather than measured numbers.
Rendering
developerRely on GPU-accelerated rendering that stays fast and responsive under heavy output
weight 3 · round to WezTermiTerm2none0/10No evidence in the pack mentions GPU acceleration, rendering architecture, or performance under heavy output/scrollback; the docs and community items cover features like panes, triggers, search, and scripting but nothing about rendering performance or GPU usage.
WezTermdisputedcontradicted4/10WezTerm's docs tout GPU-based rendering features (ligatures, true color, dynamic schemes) and community reports frequently praise it as fast/responsive (e.g., wezterm-comm-3, wezterm-comm-4, wezterm-comm-5), but multiple hands-on reports directly contradict sustained performance under heavy output — lag when scrolling long lists (wezterm-comm-11), higher input latency than Kitty/cmd.exe and blank-line rendering glitches in vim (wezterm-comm-6, wezterm-comm-12), and poor font rendering vs other GPU terminals (wezterm-comm-18). Missing for 10: explicit first-party GPU-rendering documentation/benchmarks and resolution of the latency/rendering-glitch reports.
- [claimed-docs] “Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes”
- [claimed-docs] “Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes.”
- [community] “Recently switched to WezTerm and I'm very happy... WezTerm is leaps and bounds better in terms of what comes out-of-the-box. My terminal con…”
- [community] “I finally went back and gave wezterm a serious try... The mouse issues I was seeing go away. Splitting panes and resizing lots of panes is f…”
- [community] “WezTerm is just so much faster than iTerm2, wish I had switched sooner!”
- [community] “I tried WezTerm on Windows because I was looking for a terminal with ligature support and lower input latency than Windows Terminal. Unfortu…”
- [community] “Downloaded the latest stable for macOS and still has the same problem as before - if you have long list of items you want to scroll through …”
- [community] “I really wanted WezTerm to be the best terminal on macOS. However...WezTerm's latency was noticeably higher than Kitty and WezTerm often pai…”
- [community] “It renders Pragmata Pro Mono Liga much worse on Linux than Tilix does. Otherwise, I'd give it a shot.”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userOpt out of telemetry and usage tracking
weight 2 · round to iTerm2iTerm2disputedcontradicted5/10iTerm2's AI feature is documented as an optional, install-only component (iterm2-docs-15), implying users can opt out of any AI-related data sharing by not installing/enabling it. However, hands-on community reports directly contradict this: users found that entering any text (even a stray space) in the OpenAI API key field silently activated data-sending, meaning the feature wasn't truly opt-out/disabled as claimed [iterm2-comm-2], while other users defended the feature as inactive-by-default [iterm2-comm-3]. Missing for 10: no general telemetry/usage-tracking opt-out setting is documented at all (the evidence only covers the AI plugin's data flow to OpenAI, not broader telemetry), and no vendor response addressing the toggle bug is provided.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [community] “"It takes much less effort for me to simply switch back to Terminal.app." (reacting to iTerm2 adding an opt-in OpenAI-based AI feature)”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
- [community] “Some users called the backlash overblown: "a feature that is inactive by default, consumes no processing power, memory or anything else" sti…”
Protocols media — stories about protocols media in this arenaProtocols media
Stories about protocols media in this arena
Graphics
developerDisplay inline images and rich graphics via a documented terminal graphics protocol
weight 2 · round to iTerm2iTerm2 documents a custom escape sequence for inline image display (including animated GIFs), and community hands-on evidence corroborates real-world use via imgcat working over SSH. missing for 10: a formal protocol specification page/name (e.g. explicit 'inline images protocol' spec doc) and broader third-party adoption/compatibility discussion beyond one HN thread.
- [claimed-docs] “iTerm2 has a custom escape sequence to display images right in the terminal. Even animated GIFs!”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
WezTermdisputedcontradicted6/10WezTerm documents iTerm2-compatible inline image protocol support plus a built-in imgcat CLI for outputting images to the terminal, which is a genuine documented graphics protocol implementation. However, a hands-on community report states the image support 'didn't play well with tmux,' a concrete real-world failure that led a user to switch away, contradicting a fully seamless graphics experience. Missing for 10: independent hands-on confirmation that images render cleanly outside tmux edge cases, and evidence of broader protocol support (e.g., Sixel/Kitty graphics) beyond iTerm2 compatibility.
- [claimed-docs] “Output an image to the terminal”
- [claimed-docs] “iTerm2 compatible image protocol support, and built-in imgcat command”
- [community] “The thing that made me switch to Ghostty was the image support in wez didn't play well with tmux. After testing wez, kitty, and Ghostty, I e…”
Platforms
developerRun the same terminal with the same config on macOS, Linux, and Windows
weight 2 · round to WezTermiTerm2none0/10iTerm2 is a macOS-only application; no evidence pack item claims Linux or Windows support, and a community source explicitly notes the lack of a comparable replacement on Windows or Linux, confirming it does not run cross-platform.
- [community] “"I'm a little jealous of iTerm, not going to lie. The UX is pretty nice from what I've seen, but I can't find a like for like replacement fo…”
- [claimed-docs] “iTerm2 is a replacement for Terminal and the successor to iTerm.”
WezTerm's Lua-based config is designed to be portable, with docs describing config file watching/reloading and command-line overrides, and community evidence confirms real cross-platform parity: "I have been able to completely replace tmux with wezterm on Linux and Mac... It even works on Windows" and a user reporting seamless config sync across machines via chezmoi/Lua. macOS install via brew is explicitly documented. Missing for 10: explicit first-party install docs/citations for Linux and Windows in this pack (only macOS install doc present), and no direct doc statement guaranteeing identical behavior across all three OSes.
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded”
- [claimed-docs] “wezterm allows overriding configuration values via the command line”
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded and the majority of o…”
- [claimed-docs] “WezTerm is available for brew users”
- [claimed-docs] “$ brew install --cask wezterm”
- [community] “I have been able to completely replace tmux with wezterm on Linux and Mac and love it. It even works on Windows.”
- [community] “What killed iTerm2 for me was the fact that syncing settings between machines with chezmoi was next to impossible. With Wezterm it's just Lu…”
Remote ssh — stories about remote ssh in this arenaRemote ssh
Stories about remote ssh in this arena
Ssh
developerSSH to remote hosts with the terminal's own integration carrying my terminfo, shell integration, and config along
weight 2 · round to iTerm2iTerm2 documents shell integration explicitly designed to work 'even over ssh', tracking command history, cwd, and hostname (iterm2-docs-8, iterm2-docs-31), plus automatic profile switching keyed to SSH hostname/user (iterm2-docs-10, iterm2-docs-32) and tmux -CC integration that persists sessions across SSH drops (iterm2-docs-12, iterm2-docs-19, iterm2-docs-23). Community hands-on reports corroborate SSH-aware features working in practice, e.g. imgcat rendering images 'even across SSH connections' and it2dl for remote file downloads (iterm2-comm-5, iterm2-comm-6). Missing for 10: explicit documentation of terminfo propagation itself and independent benchmarking of config/profile carry-over reliability across varied SSH setups.
- [claimed-docs] “iTerm2 may be integrated with the unix shell so that it can keep track of your command history, current working directory, host name, and mo…”
- [claimed-docs] “iTerm2 can integrate with your shell so it knows where your shell prompt is, what commands you're entering, which host you are on, and what …”
- [claimed-docs] “you can have iTerm2 switch profiles depending on what you're doing. For example, you can define a profile that's always used when you ssh to…”
- [claimed-docs] “you can define a profile that's always used when you ssh to some hostname. Or when your username is root. Or even when you're in a particula…”
- [claimed-docs] “When you run "tmux -CC", a new tmux session is created. An iTerm2 window opens and it acts like a normal iTerm2 window. The difference is th…”
- [claimed-docs] “When iTerm2 quits or the ssh session is lost, tmux keeps running. You can return to the host you were ssh'ed into and run "tmux -CC attach" …”
- [claimed-docs] “iTerm2 is integrated with tmux, allowing you to enjoy a native user interface with all the benefits of tmux's persistence.”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
- [community] “"Along with imgcat there's it2dl. Downloads a file from the remote system browser-style. It's much more convenient than scp, especially when…”
WezTerm ships a built-in SSH client and 'SSH domains' that let you multiplex tabs/panes over an SSH connection to a remote wezterm mux, and it exposes shell-integration features (OSC7 cwd tracking, user vars) for local sessions, but the evidence never explicitly confirms that terminfo, shell-integration scripts, or local config are automatically propagated/carried to the remote host on ad-hoc SSH connections (docs-9/14/18 note an 'alternative configuration' needed for full tab/pane preservation, implying the basic ad-hoc SSH mode doesn't fully carry everything). missing for 10: explicit documentation/evidence of terminfo propagation to remote host, confirmation that shell-integration scripts/config are auto-installed or carried over plain SSH (not just via the multiplexer/domain setup), and independent hands-on confirmation of this remote workflow working smoothly.
- [claimed-docs] “wezterm uses an embedded ssh library to provide an integrated SSH client. The client can be used to make ad-hoc SSH connections to remote ho…”
- [claimed-docs] “A connection to a remote wezterm multiplexer made via an ssh connection is referred to as an _SSH domain_.”
- [claimed-docs] “Take a look at the multiplexing section for an alternative configuration that connects to a remote wezterm instance and preserves your tabs.”
- [claimed-docs] “wezterm uses an embedded ssh library to provide an integrated SSH client.”
- [claimed-docs] “When the current working directory has been set via OSC 7, spawning a new tab will use the current working directory of the current tab, so …”
- [claimed-docs] “The shell integration provides a shell function named __wezterm_set_user_var which can be used to set your own user vars.”
Tmux
developerUse tmux inside the terminal, or a documented native tmux integration/control mode
weight 2 · round to iTerm2iTerm2 has a well-documented native tmux control mode (tmux -CC) that integrates tmux sessions natively into iTerm2's window/pane UI while preserving persistence across SSH disconnects and app restarts, plus standard tmux-in-terminal usage is naturally supported. Missing for 10: independent hands-on corroboration specifically of tmux -CC mode (community evidence covers other features, not tmux integration directly).
- [claimed-docs] “When you run "tmux -CC", a new tmux session is created. An iTerm2 window opens and it acts like a normal iTerm2 window. The difference is th…”
- [claimed-docs] “When iTerm2 quits or the ssh session is lost, tmux keeps running. You can return to the host you were ssh'ed into and run "tmux -CC attach" …”
- [claimed-docs] “iTerm2 is integrated with tmux, allowing you to enjoy a native user interface with all the benefits of tmux's persistence.”
- [claimed-docs] “iTerm2's tmux integration solves these problems... A terminal window opens and it acts like a normal iTerm2 window.”
WezTerm documents its own native multiplexing (panes/tabs/windows, SSH domains, mux server, cli spawn/send-text/get-text control mode verified in a headless probe) as a built-in alternative to tmux, and users can also run tmux inside it. However, this is WezTerm's own multiplexer, not a documented tmux control-mode/integration, and community evidence shows friction when combining WezTerm with actual tmux (image protocol issues causing a user to switch to Ghostty). missing for 10: explicit documentation of tmux control-mode (tmux -CC) support or a first-party statement about compatibility/integration with tmux itself, and resolution of the tmux+image-support conflict noted by a user.
- [claimed-docs] “Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback”
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “A connection to a remote wezterm multiplexer made via an ssh connection is referred to as an _SSH domain_.”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [community] “I have been able to completely replace tmux with wezterm on Linux and Mac and love it. It even works on Windows.”
- [community] “The thing that made me switch to Ghostty was the image support in wez didn't play well with tmux. After testing wez, kitty, and Ghostty, I e…”
Scriptability control — stories about scriptability control in this arenaScriptability control
Stories about scriptability control in this arena
Agent control
ai-native userLet a coding agent programmatically drive the terminal itself — create panes, run commands, read output — through a documented control protocol or API
weight 3 · round to WezTermiTerm2 ships a documented Python API explicitly for programmatic control — creating/manipulating sessions, panes, tabs, windows, reading and sending text, and building custom automation — plus AppleScript scripting, both well documented and corroborated by independent community praise calling the Python API 'basically AppleScript... but lets you touch pretty much everything.' This directly satisfies an agent programmatically driving panes/commands/output. missing for 10: no explicit example of an AI agent using the API end-to-end, and no independent hands-on report of agent-driven automation specifically (only general scripting use).
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
WezTerm documents a CLI subcommand (wezterm cli) that can spawn programs, manipulate tabs/panes, and read pane text (get-text), and a runtime probe confirms an agent-driven headless workflow: spawning panes, sending text/commands, and reading output via a mux server with no GUI required. This is a documented, hands-on-verified programmatic control protocol suitable for an AI agent to drive the terminal. Missing for 10: no formal OpenAPI/RPC schema (llms.txt and openapi probes 404) and no first-party example of an AI agent integration specifically.
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “official CLI documented at https://wezterm.org/cli/cli/index.html”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [community] “One thing I was looking for just yesterday was a way to dump my terminal's scrollback - escape sequences and all - to stdout... wezterm does…”
Extensibility
developerExtend the terminal with scripts or plugins in a real language (Lua, Python, kittens) beyond built-in options
weight 2 · round to iTerm2iTerm2 offers a documented Python API for full automation/customization (custom status bar components, triggers, menu items, new features), plus AppleScript scripting and trigger-invoked Python scripts, with community hands-on praise calling it 'basically AppleScript... but not soul-crushing to write' and noting real-world tools like imgcat/it2dl built on it. This covers 'real language' scripting well beyond built-in options, though there's no mention of Lua or 'kittens' (a kitty-terminal concept) support specifically. Missing for 10: Lua scripting support, kitten-style plugin format, independent third-party plugin ecosystem showcase.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [github] “Triggers - Regex patterns that fire actions when matched: highlight text, run commands, send notifications, open password manager, set marks…”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
WezTerm's configuration and extensibility system is Lua-based, confirmed by community reports (e.g., 'with Wezterm it's just Lua code, easy to diff and easy to apply') and supported by docs showing config-file hooks, live-reload, CLI overrides, and user-variable functions that imply a scripting surface beyond simple config. However, the evidence pack lacks direct first-party documentation explicitly describing the Lua API/plugin system, and there is no support for Python or kitten-style extensions (those are a different terminal's feature) — missing for 10: explicit docs citation of the Lua scripting/plugin API, evidence of a plugin ecosystem, and any Python/kittens equivalent.
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded”
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded and the majority of o…”
- [claimed-docs] “The shell integration provides a shell function named __wezterm_set_user_var which can be used to set your own user vars.”
- [community] “What killed iTerm2 for me was the fact that syncing settings between machines with chezmoi was next to impossible. With Wezterm it's just Lu…”
Layouts
power-userDefine startup sessions and window layouts in config or scripts so a project workspace opens in one command
weight 2 · round to iTerm2iTerm2's AppleScript scripting explicitly supports launching the app and opening multiple sessions with profiles into new tabs/windows (a scripted workspace startup), and the Python API/triggers offer additional automation of session/window setup; profiles themselves can also be tied to directories/hosts for one-command workspace opening. missing for 10: no first-party example of a saved 'window arrangement' config file format or direct hands-on community confirmation of a single-command full-layout launch.
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [claimed-docs] “you can define a profile that's always used when you ssh to some hostname. Or when your username is root. Or even when you're in a particula…”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
WezTerm's Lua-based config supports scripting startup behavior, and the documented `cli` subcommand can spawn programs and manipulate tabs/panes; a hands-on probe confirms a fully headless control loop (spawn window, send commands, enumerate panes) without GUI interaction, which is exactly the kind of single-command scripted session/layout setup the story describes. Missing for 10: explicit vendor documentation of a named 'workspace' or multi-pane layout template feature (e.g. gui-startup event) and independent community confirmation specifically of launching complex multi-window/pane project layouts via one script.
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded”
- [claimed-docs] “wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded and the majority of o…”
- [claimed-docs] “wezterm allows overriding configuration values via the command line”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
Remote control
developerScript and control the terminal from the command line — open windows, send text, query state — via a documented CLI or IPC interface
weight 3 · round to WezTermiTerm2 documents a robust Python API for scripting/controlling the terminal (open sessions, send text, query state) and AppleScript support for launching/controlling sessions, with independent community corroboration praising the Python API's power over AppleScript. missing for 10: no evidence of a CLI-only (non-Python/AppleScript) IPC socket documentation, and no hands-on demonstration of specific 'query state' calls beyond general docs.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [claimed-docs] “iTerm2 has sophisticated AppleScript support allowing one to write stand-alone scripts to launch the application and open multiple sessions …”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
WezTerm ships a documented `cli` subcommand (spawn, send-text, get-text, list, activate, etc.) that controls a running GUI or multiplexer instance, and this was independently verified headless (daemonized mux server + spawn/send-text/get-text/list roundtrip) plus corroborated by a community user dumping scrollback via get-text. Missing for 10: no first-party mention of a richer structured IPC/JSON-RPC protocol beyond the CLI wrapper, and no independent third-party write-up beyond the single HN mention.
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “The cli subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and p…”
- [probe] “official CLI documented at https://wezterm.org/cli/cli/index.html”
- [probe] “PROBE runtime (recorded 2026-09-04, wezterm 20240203 via brew cask): fully headless control loop verified — `wezterm-mux-server --daemonize`…”
- [community] “One thing I was looking for just yesterday was a way to dump my terminal's scrollback - escape sequences and all - to stdout... wezterm does…”
Shell integration — stories about shell integration in this arenaShell integration
Stories about shell integration in this arena
Command tracking
developerI get command-aware features from shell integration, like exit status, duration, and notifications when long commands finish
weight 2 · round to iTerm2iTerm2's shell integration docs confirm tracking of command history, prompts, directories, and hostnames, plus notifications for job completion/bells/activity and prompt navigation shortcuts. missing for 10: explicit documentation citing per-command exit status/duration display and independent hands-on confirmation of the notification-on-completion behavior.
- [claimed-docs] “iTerm2 may be integrated with the unix shell so that it can keep track of your command history, current working directory, host name, and mo…”
- [claimed-docs] “iTerm2 can integrate with your shell so it knows where your shell prompt is, what commands you're entering, which host you are on, and what …”
- [claimed-docs] “You can choose to receive notifications of activity, bells, job completion, and more.”
- [claimed-docs] “you can easily navigate to previous shell prompts with ⇧⌘↑ and ⇧⌘↓”
- [claimed-docs] “you can enable shell integration by enabling **Load shell integration automatically** in **Settings > Profiles > General**”
WezTermnone0/10WezTerm's shell-integration docs describe OSC 7 cwd-tracking and custom user vars (wezterm-docs-10, wezterm-docs-20, wezterm-docs-25), but the evidence pack contains no mention of exit-status tracking, command duration, or notifications when long-running commands finish — features other terminals' shell integrations advertise. Missing for 10: documented exit-status capture, command-duration timing, and completion notifications.
- [claimed-docs] “When the current working directory has been set via OSC 7, spawning a new tab will use the current working directory of the current tab, so …”
- [claimed-docs] “spawning a new tab will use the current working directory of the current tab, so that you don't have to manually change the directory”
- [claimed-docs] “The shell integration provides a shell function named __wezterm_set_user_var which can be used to set your own user vars.”
Marks
developerJump between prompts and command marks in my scrollback thanks to shell integration
weight 2 · round to iTerm2iTerm2's shell integration explicitly tracks prompts and sets marks at each command, and docs describe navigating between previous shell prompts with ⇧⌘↑/⇧⌘↓, corroborated by GitHub feature list mentioning marks at each prompt and copy mode working with marks to jump between prompts. Missing for 10: no independent hands-on account specifically confirming the prompt-jump keybinding in practice beyond docs/GitHub summaries.
- [claimed-docs] “iTerm2 may be integrated with the unix shell so that it can keep track of your command history, current working directory, host name, and mo…”
- [claimed-docs] “you can easily navigate to previous shell prompts with ⇧⌘↑ and ⇧⌘↓”
- [claimed-docs] “iTerm2 can integrate with your shell so it knows where your shell prompt is, what commands you're entering, which host you are on, and what …”
- [claimed-docs] “you can enable shell integration by enabling **Load shell integration automatically** in **Settings > Profiles > General**”
- [github] “Enables click-to-download files via SCP, drag-and-drop uploads, command history per host, recent directories by "frecency," and marks at eac…”
- [github] “Vim-like keyboard selection. Navigate and select text without touching the mouse. Works with marks to jump between command prompts.”
WezTermnone0/10Evidence pack's shell-integration docs (wezterm-docs-10, wezterm-docs-20, wezterm-docs-25) only cover OSC 7 working-directory tracking and custom user vars — there is no mention of OSC 133 semantic prompt/command marks or any keybinding/feature to jump between prompts or command outputs in scrollback. Missing for 10: documentation or evidence of prompt-jump/command-mark navigation, keybindings for 'jump to previous/next prompt', and any independent confirmation of this specific capability.
- [claimed-docs] “When the current working directory has been set via OSC 7, spawning a new tab will use the current working directory of the current tab, so …”
- [claimed-docs] “spawning a new tab will use the current working directory of the current tab, so that you don't have to manually change the directory”
- [claimed-docs] “The shell integration provides a shell function named __wezterm_set_user_var which can be used to set your own user vars.”
Workflow ergonomics — stories about workflow ergonomics in this arenaWorkflow ergonomics
Stories about workflow ergonomics in this arena
Discoverability
power-userDiscover and run terminal actions from a searchable command palette
weight 1 · round to iTerm2iTerm2's 'Open Quickly' (Cmd-Shift-O) is a searchable palette, but evidence describes it only as a search across sessions by tab title, command, hostname, directory, or badge — not a general command palette for discovering and invoking arbitrary terminal actions/menu commands. Missing for 10: evidence of listing/searching actual app commands or actions (not just sessions), evidence of executing arbitrary actions from the palette, and independent confirmation of this behaving like a true command palette.
- [github] “Open Quickly - Cmd-Shift-O opens a search across all sessions by tab title, command, hostname, directory, or badge. Navigate large session c…”
- [github] “Cmd-Shift-O opens a search across all sessions by tab title, command, hostname, directory, or badge. Navigate large session collections inst…”
- [github] “Open Quickly - Cmd-Shift-O opens a search across all sessions by tab title, command, hostname, directory, or badge.”
- [claimed-docs] “Just type the start of any word that has ever appeared in your window and then Cmd-; will pop open a window with suggestions.”
WezTermnone0/10The evidence pack documents CLI subcommands, quick-select, scrollback search, and SSH/multiplexing features, but nowhere mentions a searchable command palette for discovering/running actions. A community comment even notes that WezTerm's many features 'are not really discoverable,' reinforcing the absence of such a UI. Missing for 10: any documentation or user report of a command-palette UI, its keybinding, or its action list.
- [community] “my only complaint is that its many features are not really discoverable. Sure, the documentation is really good, and the author is very enga…”
- [claimed-docs] “The _cli_ subcommand interacts with a running wezterm GUI or multiplexer instance, and can be used to spawn programs and manipulate tabs and…”
- [claimed-docs] “Quick Select mode allows you to quickly highlight text that matches commonly copied patterns, select a match by typing a one-or-two characte…”
Hyperlinks
developerOpen URLs and file paths from output by clicking them or selecting them from the keyboard
weight 2 · round to iTerm2Smart Selection with quad-click and Cmd-click to open URLs/paths, plus keyboard-based selection (Copy Mode/vim-like navigation), are documented and corroborated by community hands-on reports (Semantic History opening files in editor via Cmd+Click). missing for 10: no independent verification of full keyboard-only 'select and open' flow beyond selection, only Cmd-click for opening.
- [github] “Smart Selection - Quad-click selects semantic objects (URLs, file paths, email addresses, quoted strings). Right-click for context actions. …”
- [claimed-docs] “iTerm2 can perform "smart selection" to highlight URLs, email addresses, filenames, and more by recognizing what is under the cursor”
- [claimed-docs] “iTerm2 can perform "smart selection" to highlight URLs, email addresses, filenames, and more by recognizing what is under the cursor.”
- [github] “Vim-like keyboard selection. Navigate and select text without touching the mouse. Works with marks to jump between command prompts.”
- [github] “Copy Mode - Vim-like keyboard selection. Navigate and select text without touching the mouse.”
- [community] “"Semantic History is pretty handy and not well-known. It lets you Command+Click on a path to open it in your editor (or associated applicati…”
- [claimed-docs] “Use the keyboard to make and modify selections.”
WezTerm's Quick Select mode lets users highlight and copy commonly-matched text patterns via keyboard shortcuts, which could cover URLs/paths, but the evidence pack never explicitly documents clickable URL/file opening or an 'open with' action, nor mouse-click-to-open behavior. missing for 10: explicit doc on clicking URLs/paths to open them, evidence of file-path recognition, independent confirmation of click-to-open working in practice.
- [claimed-docs] “Quick Select mode allows you to quickly highlight text that matches commonly copied patterns, select a match by typing a one-or-two characte…”
- [claimed-docs] “Searchable Scrollback (use mouse wheel and `Shift-PageUp` and `Shift PageDown` to navigate, Ctrl-Shift-F to activate search mode)”
Scrollback
developerSearch my scrollback quickly and jump between matches
weight 2 · round drawnDocs describe a robust find-on-page feature with instant highlighting of all matches and regex support, plus Global Search across all tabs, directly matching the story of searching scrollback and jumping between matches. Missing for 10: independent hands-on confirmation of match-jump behavior (next/prev match navigation) and details on keyboard shortcuts for cycling matches.
- [claimed-docs] “iTerm2 comes with a robust find-on-page feature. The UI stays out of the way. All matches are immediately highlighted. Even regular expressi…”
- [claimed-docs] “iTerm2 comes with a robust find-on-page feature... Even regular expression support is offered!”
- [claimed-docs] “Search all your tabs at once with Global Search.”
WezTerm documents a Searchable Scrollback feature with Ctrl-Shift-F search mode and keyboard navigation (Shift-PageUp/PageDown, mouse wheel), directly matching the story of quickly searching and jumping between matches; Quick Select mode further complements this for jumping to specific text patterns. Community evidence corroborates related scrollback tooling (get-text dump) though no direct hands-on account of search-and-jump-between-matches UX specifically. Missing for 10: independent hands-on account of the search-mode match-navigation experience (e.g., keybindings for next/prev match) and any friction/limitations reported by users.
- [claimed-docs] “Searchable Scrollback (use mouse wheel and `Shift-PageUp` and `Shift PageDown` to navigate, Ctrl-Shift-F to activate search mode)”
- [claimed-docs] “Searchable Scrollback (use mouse wheel and Shift-PageUp and Shift PageDown to navigate, Ctrl-Shift-F to activate search mode)”
- [claimed-docs] “Quick Select mode allows you to quickly highlight text that matches commonly copied patterns, select a match by typing a one-or-two characte…”
- [community] “One thing I was looking for just yesterday was a way to dump my terminal's scrollback - escape sequences and all - to stdout... wezterm does…”
Not comparable on these axes
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · not comparableiTerm2none0/10iTerm2 has a Python scripting API and an optional AI plugin, but there is no evidence of any mechanism for issuing scoped or least-privilege API credentials for agents; no auth/permission-scoping model is documented, and openapi/API-key probes return 404.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [probe] “PROBE openapi: all candidate paths 404 (https://iterm2.com/openapi.json, https://iterm2.com/swagger.json, https://iterm2.com/api/openapi.jso…”
ai-native userBuild against official SDKs
weight 2 · not comparableiTerm2 ships an official, documented Python API for scripting and automating the terminal (create triggers, status bar components, menu items, full control), which an AI-native builder could use to construct agentic integrations, and this is corroborated by community praise for the API's flexibility. However, there's no dedicated 'AI SDK' or agent-specific developer kit — the AI feature (docs-15) is a plugin/toggle for chat, not an SDK — and probes show no llms.txt, machine-readable docs, or OpenAPI spec. Missing for 10: AI/agent-specific SDK or API, multi-language SDK support, official developer docs/examples framed around AI-agent integration.
- [claimed-docs] “iTerm2 offers a Python package which makes it easy to write Python scripts that control iTerm2 and extend its behavior.”
- [github] “Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely …”
- [community] “"imgcat: you can view images without leaving your terminal. Somehow this works even across SSH connections… Python scripting API: basically …”
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [probe] “PROBE llms.txt: HTTP 404 at https://iterm2.com/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://iterm2.com/openapi.json, https://iterm2.com/swagger.json, https://iterm2.com/api/openapi.jso…”
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · not comparableiTerm2 ships an optional AI plugin providing a built-in LLM chat window that can be linked to sessions for context-aware help, command suggestions, and annotated explanations of terminal output (iterm2-docs-15, iterm2-gh-6), directly matching the 'AI-generated insights from data inside the product' story. However, the feature is opt-in, requires a user-supplied OpenAI key, and community reports noted the enable/disable toggle behaved unexpectedly (any text, even a stray space, activated data-sending), raising real caveats about robustness/trust rather than core functionality. Missing for 10: deeper first-party documentation of the AI feature's capabilities/limits, independent hands-on validation of insight quality, and confirmation the toggle bug was fully resolved.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
- [community] “Some users called the backlash overblown: "a feature that is inactive by default, consumes no processing power, memory or anything else" sti…”
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · not comparableiTerm2 ships an optional AI plugin providing a built-in LLM chat window that can read terminal context, run commands on the user's behalf, and explain output (iterm2-docs-15, iterm2-gh-6), which matches the story of delegating tasks to an in-app assistant. However, it's an opt-in add-on requiring the user's own API key rather than a fully integrated default assistant, and community reports flagged a bug where the 'disabled' toggle didn't actually stop data being sent (iterm2-comm-2), raising real trust/reliability caveats. Missing for 10: first-party documentation of task-delegation scope/limits, independent hands-on validation that the assistant reliably executes delegated actions, and confirmation the toggle issue was resolved.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
- [community] “"It takes much less effort for me to simply switch back to Terminal.app." (reacting to iTerm2 adding an opt-in OpenAI-based AI feature)”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
- [community] “Some users called the backlash overblown: "a feature that is inactive by default, consumes no processing power, memory or anything else" sti…”
ai-native userOperate the product with natural-language commands
weight 2 · not comparableiTerm2 ships an optional AI plugin/LLM chat window that can be linked to terminal sessions to provide context-aware help, explain output, and run commands on the user's behalf based on natural-language input (iterm2-docs-15, iterm2-gh-6). This is a genuine but optional, opt-in add-on requiring configuration (e.g., an OpenAI key) rather than a fully native, always-on NL interface, and community discussion flagged an early bug where the 'disabled' toggle didn't fully prevent data transmission (iterm2-comm-2), raising trust caveats without contradicting the core NL-command capability. Missing for 10: first-party documentation detailing the range/reliability of natural-language commands it can execute, independent hands-on reports confirming accurate command execution, and confirmation the toggle bug was fully resolved.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
ai-native userTest against a sandbox environment without touching production data
weight 1 · not comparableiTerm2n/aiTerm2 is a terminal emulator, not a testing/sandbox environment product; the concept of a sandbox vs. production data separation is not an axis this product category addresses.
WezTermn/aWezTerm is a terminal emulator/multiplexer, not a platform providing sandboxed environments or data-isolation guarantees; there is no evidence it offers any sandbox-vs-production separation feature, and this is a category mismatch rather than a missing capability of the product type.
ai-native userGet AI explanations and suggested fixes when a command fails
weight 2 · not comparableiTerm2 ships an optional AI plugin with a built-in LLM chat window that can link to a session, view terminal contents, and 'explain output with annotations' or run commands on your behalf, which is generic AI assistance but not documented as a specific 'command failed → suggested fix' workflow. missing for 10: explicit documentation of automatic failure detection, error-specific explanations, and suggested command fixes; independent hands-on evidence of this exact use case working.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
WezTermn/aWezTerm is a terminal emulator; it has no built-in AI assistance layer for interpreting command failures or suggesting fixes. This capability would belong to a shell, AI CLI wrapper, or assistant layered on top, not the terminal emulator itself, making this a wrong-axis question for this product category.
ai-native userType natural language and get the right shell command generated in place
weight 2 · not comparableiTerm2 ships an optional AI plugin and a built-in LLM chat window that can be linked to a session to 'run commands on your behalf' or explain output (iterm2-docs-15, iterm2-gh-6), which supports natural-language-to-command generation, but this is a separate opt-in chat pane requiring an API key rather than inline generation directly at the shell prompt. Community commentary focuses on privacy/toggle concerns (iterm2-comm-1, iterm2-comm-2) rather than confirming accuracy or in-place command insertion. Missing for 10: evidence of commands being generated and inserted directly into the terminal prompt (not just a chat window), and independent verification of command-generation quality/reliability.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
- [community] “"It takes much less effort for me to simply switch back to Terminal.app." (reacting to iTerm2 adding an opt-in OpenAI-based AI feature)”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
WezTermn/aWezTerm is a terminal emulator, not an AI assistant; no evidence of natural-language-to-shell-command generation or any AI feature is present in its docs or feature set. This capability is a wrong axis for a terminal emulator itself (would belong to a separate AI shell-assistant tool), so it is 'na' rather than 'none'.
ai-native userChoose where my data is stored (region/residency)
weight 2 · not comparableiTerm2n/aiTerm2 is a local desktop terminal emulator that runs on the user's own machine; data residency/region selection is a cloud-service concept and doesn't apply to a local application (the optional AI plugin sends data to OpenAI's API but offers no region choice, which is a separate privacy-toggle concern, not residency).
ai-native userPrevent my data from being used to train AI models
weight 3 · not comparableiTerm2disputedcontradicted4/10iTerm2's AI features are documented as optional/opt-in (an installable plugin and an LLM chat window that 'optionally' interacts with terminal contents), implying a way to keep AI features off, but hands-on community reports show the opt-in control was broken: entering any value (even a space) in the API-key field activated data-sending to OpenAI regardless of intent, meaning users could not reliably prevent their terminal data from being sent to a third-party AI provider. There is no vendor documentation addressing training-data usage or an explicit training opt-out policy at all. missing for 10: explicit training-data opt-out/privacy statement, evidence the opt-in toggle was fixed and verified reliable, independent corroboration beyond the single HN thread.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [github] “Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your …”
- [community] “"It takes much less effort for me to simply switch back to Terminal.app." (reacting to iTerm2 adding an opt-in OpenAI-based AI feature)”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
- [community] “Some users called the backlash overblown: "a feature that is inactive by default, consumes no processing power, memory or anything else" sti…”
ai-native userControl data retention and deletion
weight 2 · not comparableiTerm2disputedcontradicted3/10iTerm2's AI plugin is opt-in and framed as controllable (docs-15), but hands-on community reports show the 'disable' toggle for sending data to OpenAI is not reliable — any non-empty (even accidental whitespace) API key field activates data transmission, undermining claimed control over what data leaves the machine (comm-2). No documentation addresses retention windows, deletion of stored chat/AI data, or data lifecycle policies at all. missing for 10: explicit data retention/deletion settings, documentation on how long AI chat context or API data is stored, independent confirmation that the toggle issue was fixed.
- [claimed-docs] “This is an optional component you can install to enable generative AI features in iTerm2.”
- [community] “Users reported that iTerm2's new AI feature wasn't a true disabled toggle: "Put anything in the box for the OpenAI key, valid or not, and th…”
- [community] “"It takes much less effort for me to simply switch back to Terminal.app." (reacting to iTerm2 adding an opt-in OpenAI-based AI feature)”
- [community] “Some users called the backlash overblown: "a feature that is inactive by default, consumes no processing power, memory or anything else" sti…”
WezTermn/aWezTerm is a local terminal emulator with no cloud data storage, accounts, or telemetry service that would collect/retain user data; the story concerns a data-processing/SaaS product's retention & deletion controls, which is a category error for a terminal application. All configuration, scrollback, and logs are local files under the user's own control by default, not a vendor-managed retention policy.