iTerm2 vs kitty
kitty wins · 14–16 (14 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.
kittynone0/10Probes explicitly show no llms.txt (404), no markdown-flavored docs endpoint, and no OpenAPI/agent-discovery spec; all documentation is standard human-oriented HTML with no agent-oriented onboarding artifact for pointing an AI agent at.
- [probe] “PROBE llms.txt: HTTP 404 at https://sw.kovidgoyal.net/llms.txt”
- [probe] “PROBE docs-md: HTTP 404 at https://sw.kovidgoyal.net/kitty/overview/.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://sw.kovidgoyal.net/openapi.json, https://sw.kovidgoyal.net/swagger.json, https://sw.kovidgoya…”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to kittyiTerm2none0/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.)
Kitty documents and hands-on-verifies a scripts/remote-control interface (kitten @ commands) and supports launching in `--detach` mode with a listening socket, which enables automation-style control loops (open, send-text, read-text, close) as verified in the runtime probe. However, kitty is fundamentally a GUI terminal emulator; there is no documentation of a true headless/no-display mode for CI pipelines (e.g., Xvfb-free operation) or CI-specific guidance. Missing for 10: explicit CI/headless-without-display documentation, and independent confirmation of running in a CI pipeline environment.
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
- [probe] “official CLI documented at https://sw.kovidgoyal.net/kitty/remote-control/”
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 kittyiTerm2 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…”
kitty ships an official `kitty @` remote-control CLI (kitten) documented and hands-on verified to list windows, send text, read output, and close windows via JSON — a full scriptable automation loop suitable for AI-native agent control. missing for 10: independent third-party corroboration beyond the single hands-on probe and official docs.
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [probe] “official CLI documented at https://sw.kovidgoyal.net/kitty/remote-control/”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
ai-native userDrive the product through a documented public API
weight 3 · round to kittyiTerm2 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…”
kitty ships a well-documented remote-control API (`kitty @` / `kitten @`) allowing scripts/agents to open windows, send text, read output, and manage layout, and this was independently verified hands-on with a full agent-control loop (list, send-text, get-text, close-window). Missing for 10: no formal OpenAPI/machine-readable schema (probe shows 404s for openapi.json/llms.txt), so discovery is documentation-only rather than a structured API spec.
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
- [probe] “official CLI documented at https://sw.kovidgoyal.net/kitty/remote-control/”
- [probe] “PROBE openapi: all candidate paths 404 (https://sw.kovidgoyal.net/openapi.json, https://sw.kovidgoyal.net/swagger.json, https://sw.kovidgoya…”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round drawniTerm2none0/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…”
kittynone0/10kitty's remote-control feature allows scripts to control the terminal, but there is no evidence of scoped or least-privilege credential issuance — the remote control model uses a single unix socket/password with allow/deny options, not per-agent scoped API keys or tokens. No documentation or probe evidence shows credential scoping, permission tiers, or revocable least-privilege tokens for agents.
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 …”
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…”
kittynone0/10No evidence of an interactive API reference with runnable examples; probes explicitly show no OpenAPI/llms.txt and only static docs pages for remote-control, which is documentation, not an interactive/runnable API explorer.
- [probe] “PROBE llms.txt: HTTP 404 at https://sw.kovidgoyal.net/llms.txt”
- [probe] “PROBE openapi: all candidate paths 404 (https://sw.kovidgoyal.net/openapi.json, https://sw.kovidgoyal.net/swagger.json, https://sw.kovidgoya…”
- [claimed-docs] “Control kitty from scripts”
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.”
kittynone0/10Probes explicitly checked for a machine-readable API spec (OpenAPI/swagger/llms.txt) and all returned 404s; kitty's remote-control API is documented only in prose docs, not as a downloadable machine-readable spec.
- [probe] “PROBE llms.txt: HTTP 404 at https://sw.kovidgoyal.net/llms.txt”
- [probe] “PROBE docs-md: HTTP 404 at https://sw.kovidgoyal.net/kitty/overview/.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://sw.kovidgoyal.net/openapi.json, https://sw.kovidgoyal.net/swagger.json, https://sw.kovidgoya…”
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…”
kittynone0/10Kitty documents a remote-control API and graphics protocol, but there is no evidence of API versioning or a documented deprecation policy for these interfaces; probes for machine-readable API specs (openapi.json, llms.txt) returned 404s. Missing for 10: any versioning scheme, changelog-based deprecation policy, or stability guarantees for the remote-control/graphics protocols.
- [probe] “PROBE openapi: all candidate paths 404 (https://sw.kovidgoyal.net/openapi.json, https://sw.kovidgoyal.net/swagger.json, https://sw.kovidgoya…”
- [probe] “PROBE llms.txt: HTTP 404 at https://sw.kovidgoyal.net/llms.txt”
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “Terminal graphics protocol”
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 drawniTerm2 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 …”
Kitty's remote-control API (`kitty @`) lets scripts list all windows/tabs (`ls`) and act on them (`send-text`, `close-window`, etc.), and the runtime probe confirms this loop works end-to-end, which enables scripting bulk actions across many windows/tabs. However, there's no first-party example or evidence of a built-in bulk/batch command (e.g., 'send to all windows' or looped multi-item operation) — it would require the user to write the looping logic themselves. Missing for 10: documented bulk/batch primitives operating on many items in one call, and independent evidence of someone actually scripting bulk operations at scale.
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
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.”
kittynone0/10Evidence covers remote-control scripting, kittens, shell integration, and SSH kitten, but none describe a rule/event-trigger system that automatically fires actions on defined events (e.g., window open, output pattern, OS event) without manual invocation. Missing for 10: any documented 'on-event' hook/watcher/trigger mechanism and evidence of automatic action execution tied to specific events.
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 kittyiTerm2none0/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.
kitty.conf is a plain-text config file format (kitty-docs-5, kitty-docs-15) that is well-documented and designed to be human-edited and portable, and community users confirm editing/config workflows (kitty-comm-1, kitty-comm-11, kitty-comm-18), consistent with typical dotfiles syncing across machines. missing for 10: no explicit first-party or community mention of dotfiles-repo syncing workflows or 'include' directives for multi-machine config management.
- [claimed-docs] “kitty.conf - kitty”
- [claimed-docs] “kitty.conf”
- [community] “Not affiliated, but recently switched to Kitty from iTerm 2 on OS X on my main at-work MacBook Pro and I've been very impressed. It's snappy…”
- [community] “Kitty is indeed great and I can corroborate the high performance by joining at the macOS activity monitor. Almost zero even with high speed …”
- [community] “I'm also a macOS Kitty user. The config did take a minute to get used to... My favorite feature though is the auto layout... One thing I nev…”
Fonts
developerUse programming fonts with ligatures, fallback fonts, and fine-grained font tuning
weight 2 · round to kittyiTerm2none0/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.
kitty documents dedicated font configuration (Changing kitty fonts, kitty.conf font options for family/bold/italic/fallback fonts and font_features tuning) and community reports strongly corroborate best-in-class ligature support (e.g., FiraCode ligatures cited as reason to switch from iTerm/Alacritty). Missing for 10: no first-party doc excerpt detailing per-font fallback selection algorithm or advanced font_features syntax beyond title listing, and no independent benchmark of fallback font correctness.
- [claimed-docs] “Changing kitty fonts”
- [claimed-docs] “kitty.conf - kitty”
- [community] “I've switched to kitty a few months ago and it works REALLY well. It's very fast and has the best support for ligatures I've seen in a termi…”
- [community] “I've been using Kitty for a month now. I really like it... I prefer it to iTerm because it's so. Damn. Fast... I know iTerm recently added a…”
- [community] “I liked Alacritty well enough, but it doesn't support ligatures. Kitty does, so that's what I use.”
Theming
power-userApply color schemes and themes, including automatic light/dark mode switching
weight 2 · round to kittyiTerm2none0/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.
Docs explicitly cover changing kitty colors/themes (kitty-docs-9) and automatic OS light/dark theme switching (kitty-docs-21), plus general kitty.conf theming support (kitty-docs-5, 15, 18). Missing for 10: independent hands-on corroboration of the auto light/dark switching feature specifically, and details on theme ecosystem/community theme packs.
- [claimed-docs] “Changing kitty colors”
- [claimed-docs] “Change color themes automatically when the OS switches between light and dark”
- [claimed-docs] “kitty.conf - kitty”
- [claimed-docs] “Wide gamut color formats”
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 to kittyiTerm2'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…”
kitty's remote-control API (kitten @) exposes a broad surface — opening windows, sending text, reading text, changing layouts/tabs/titles, closing windows — verified hands-on via a runtime probe showing a full external agent-control loop working. However, this is a CLI/socket protocol rather than a formal documented 1:1 mapping guaranteeing full UI parity (e.g., no OpenAPI spec, and some UI-only interactive features like mouse-driven config or certain kitten interactions aren't confirmed as scriptable). Missing for 10: an explicit enumerated parity list or spec proving every UI action has an API equivalent, and independent third-party confirmation beyond the single runtime probe.
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
- [probe] “official CLI documented at https://sw.kovidgoyal.net/kitty/remote-control/”
ai-native userExport all of my data in open formats and leave
weight 3 · round to kittyiTerm2none0/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.
kitty's configuration lives in plain-text kitty.conf files that users own directly and the project itself is open-source, so there's no vendor lock-in and settings can be copied/ported freely, and remote-control scripting exposes window/session state as JSON. However there's no dedicated 'export my data' feature (e.g., session history, scrollback, or theme export as a documented bulk-export tool) beyond the inherent plain-text config files. missing for 10: explicit documented export/import of scrollback or session data, migration tooling, and independent confirmation that users treat config portability as a full data-export solution.
- [claimed-docs] “kitty.conf - kitty”
- [claimed-docs] “kitty.conf”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
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 …”
ai-native userSelf-host the core product
weight 3 · round drawniTerm2none0/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.)
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…”
Kitty natively supports windows, tabs, and multiple layouts with programmable splits, documented in first-party docs and confirmed by community users praising its window organization/auto layout — no external multiplexer needed. missing for 10: independent hands-on comparison specifically benchmarking pane/tab workflows against tmux/screen.
- [claimed-docs] “Arrange windows”
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [community] “Kitty is indeed great and I can corroborate the high performance by joining at the macOS activity monitor. Almost zero even with high speed …”
- [community] “I'm also a macOS Kitty user. The config did take a minute to get used to... My favorite feature though is the auto layout... One thing I nev…”
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.”
kittynone0/10kitty's docs cover window/tab layouts, remote control, and shell integration, but there is no evidence of a global-hotkey/quake-style dropdown summon feature (kitty is a normal windowed terminal, not an OS-level overlay); no docs or community reports mention such a capability, and some OS integration issues are noted (e.g. xterm-kitty TERM problems) but nothing about instant-summon hotkeys.
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 …”
Kitty documents 'startup sessions' to specify working environments (windows/tabs/layouts), which can be used to relaunch kitty into a saved arrangement, but the evidence pack gives only a one-line mention with no detail on automatic state capture or crash/restart recovery — sessions appear to be manually authored config files, not an automatic snapshot/restore mechanism. missing for 10: evidence of automatic session save on exit/crash, working-directory persistence specifics, and any hands-on/community confirmation that restore-after-crash actually works.
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
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 to kittyiTerm2none0/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.
Kitty ships no vendor-published benchmark page, but community threads reference hardware-based latency comparisons showing kitty on par with Terminal.app and users corroborating low CPU/high speed while scrolling, giving power-users some measured performance signal outside official docs. This is thin: it's anecdotal community commentary, not a first-party benchmarks page or reproducible published methodology, and other community reports (e.g., slow cat throughput, slow startup) show the perception is inconsistent. missing for 10: an official kitty benchmarks/methodology page, first-party throughput/latency numbers, and independent reproducible benchmark data beyond single forum comments.
- [community] “kitty is much better than the rest on latency, see hardware based measurements... showing kitty has the same latency as terminal.app on maco…”
- [community] “Kitty is indeed great and I can corroborate the high performance by joining at the macOS activity monitor. Almost zero even with high speed …”
- [community] “Gpu powered terminal emulator? This performs almost 100x worse than Mac OS Terminal.app. Cat-ting a long file takes 100x longer to draw on t…”
- [community] “For me the difference was large enough to switch to st. Kitty's startup takes 5-10 times as long and it's very noticable for me. As I use te…”
Rendering
developerRely on GPU-accelerated rendering that stays fast and responsive under heavy output
weight 3 · round to kittyiTerm2none0/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.
kittydisputedcontradicted5/10Kitty's docs claim GPU-accelerated rendering (kitty-docs-24, kitty-docs-27) and many community reports corroborate snappy, low-latency performance even under heavy scrolling (kitty-comm-3, kitty-comm-11, kitty-comm-20), but other hands-on community reports concretely contradict this, citing catting a long file being '100x' slower than a non-GPU terminal, redraw/rendering glitches, GPU driver issues on many Nvidia laptops, and much slower startup vs other terminals (kitty-comm-4, kitty-comm-6, kitty-comm-9, kitty-comm-15). missing for 10: independent benchmark data reconciling these conflicting hands-on reports, official docs addressing known GPU/driver compatibility issues, and evidence of fixes for the reported rendering glitches.
- [claimed-docs] “Terminal graphics protocol: allows the program running in the terminal, hereafter called the client, to render arbitrary pixel (raster) grap…”
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [community] “I've switched to kitty a few months ago and it works REALLY well. It's very fast and has the best support for ligatures I've seen in a termi…”
- [community] “Kitty is indeed great and I can corroborate the high performance by joining at the macOS activity monitor. Almost zero even with high speed …”
- [community] “kitty is much better than the rest on latency, see hardware based measurements... showing kitty has the same latency as terminal.app on maco…”
- [community] “Gpu powered terminal emulator? This performs almost 100x worse than Mac OS Terminal.app. Cat-ting a long file takes 100x longer to draw on t…”
- [community] “This doesn't work on half of Nvidia-powered laptops: github.com/kovidgoyal/kitty/issues/456”
- [community] “I tried it on MacOS (MBP retina) and damn, it renders text awfully.”
- [community] “For me the difference was large enough to switch to st. Kitty's startup takes 5-10 times as long and it's very noticable for me. As I use te…”
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…”
kittynone0/10No documentation or setting for telemetry collection or an opt-out mechanism appears anywhere in the evidence pack; kitty's docs cover remote control, graphics, shell integration, SSH, and config but never mention data collection or telemetry toggles. A vague community remark about unspecified 'privacy and security' concerns (kitty-comm-14) is not concrete evidence of telemetry, so it cannot establish disputed status either.
- [community] “Usually I agree but the maintainer of kitty is bonkers rude. There have been several issues concerning privacy and security regarding kitty.…”
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 kittyiTerm2 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 …”
Kitty documents and ships a dedicated Terminal Graphics Protocol allowing clients to render arbitrary pixel graphics inline, plus the icat kitten for displaying images, corroborated by community praise ('The diff and icat tools are must-haves'). This is a well-documented, first-party protocol spec, not just a claim. Missing for 10: independent hands-on verification specifically of the graphics protocol (probe evidence only covers remote-control, not icat/graphics rendering).
- [claimed-docs] “Terminal graphics protocol”
- [claimed-docs] “Terminal graphics protocol: allows the program running in the terminal, hereafter called the client, to render arbitrary pixel (raster) grap…”
- [claimed-docs] “icat”
- [community] “Just tried kitty on MacOS -- Loved it. The diff and icat tools are must-haves. Won't use iTerm anymore”
Platforms
developerRun the same terminal with the same config on macOS, Linux, and Windows
weight 2 · round to kittyiTerm2none0/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.”
kitty is a cross-platform terminal emulator with official binary installers for macOS, Linux, and BSD, and documented support for Windows via WSL/other builds, using a single shared kitty.conf config file across platforms; community evidence confirms usage on macOS, Linux, and WSL2 with consistent behavior. missing for 10: no direct evidence of native Windows (non-WSL) support quality or explicit cross-platform config-parity testing, and no independent benchmark of identical config working unmodified across all three OSes.
- [claimed-docs] “Install kitty - kitty”
- [claimed-docs] “Install kitty”
- [claimed-docs] “kitty.conf - kitty”
- [claimed-docs] “kitty.conf”
- [community] “Not affiliated, but recently switched to Kitty from iTerm 2 on OS X on my main at-work MacBook Pro and I've been very impressed. It's snappy…”
- [community] “Kitty is the only thing I miss from Linux since I'm using WSL 2.”
- [community] “I'm also a macOS Kitty user. The config did take a minute to get used to... My favorite feature though is the auto layout... One thing I nev…”
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 drawniTerm2 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…”
The ssh kitten is explicitly documented to automatically set up shell integration, forward terminfo, transfer config, and reuse connections when SSHing to remote hosts, directly matching the story. Community reports mostly note a related manual workaround (TERM=xterm-kitty issues) rather than contradicting the kitten's own automatic integration feature. missing for 10: independent hands-on verification specifically of the ssh kitten (not just remote-control) and broader real-world confirmation across shells/OSes.
- [claimed-docs] “Truly convenient SSH”
- [claimed-docs] “The ssh kitten allows you to login easily to remote hosts, and automatically setup the environment there to be as comfortable as your local …”
- [claimed-docs] “Shell integration”
- [community] “Wow! Really like it. The windows organisation is well done... had to add TERM=xterm-256color to my Raspberry Pi's .bashrc to get it to play …”
- [community] “I'm also a macOS Kitty user. The config did take a minute to get used to... My favorite feature though is the auto layout... One thing I nev…”
- [community] “It's usable but i had a lot of issues. Copy pasty looses newlines, redraw issues in mutt, etc. It is absolutely 'forbidden' and unsupported …”
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.”
Kitty doesn't ship a native tmux-like multiplexer/control-mode substitute for tmux itself, but it supports running tmux inside it (community confirms zsh/tmux setups work with tweaks) and offers its own overlapping native features (windows/tabs/layouts, remote control, sessions) as an alternative to tmux, plus SSH kitten integration for remote sessions. missing for 10: documented native tmux control-mode protocol/compatibility layer, first-party guidance on using tmux inside kitty, and confirmation that kitty's own multiplexing fully replaces tmux workflows for SSH users.
- [claimed-docs] “Arrange windows”
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [claimed-docs] “Truly convenient SSH”
- [claimed-docs] “The ssh kitten allows you to login easily to remote hosts, and automatically setup the environment there to be as comfortable as your local …”
- [community] “Not affiliated, but recently switched to Kitty from iTerm 2 on OS X on my main at-work MacBook Pro and I've been very impressed. It's snappy…”
- [community] “Wow! Really like it. The windows organisation is well done... had to add TERM=xterm-256color to my Raspberry Pi's .bashrc to get it to play …”
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 kittyiTerm2 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 …”
kitty ships a documented remote-control protocol (kitty @ commands) letting scripts/agents open windows, send text, read output, and manage layouts, and this was independently verified hands-on end-to-end (ls, send-text, get-text, close-window) confirming a real programmatic control loop.
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [probe] “official CLI documented at https://sw.kovidgoyal.net/kitty/remote-control/”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
Extensibility
developerExtend the terminal with scripts or plugins in a real language (Lua, Python, kittens) beyond built-in options
weight 2 · round to kittyiTerm2 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 …”
Kitty ships a documented kittens system extensible in Python, plus remote-control scripting APIs (verified hands-on in kitty-probe-rt-1) and config/mapping extensibility, directly matching the story of extending the terminal with real-language scripts/plugins beyond built-ins. Missing for 10: independent third-party evidence of custom kitten development (community citations focus on performance/UX rather than plugin authoring).
- [claimed-docs] “Extend with kittens”
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
- [claimed-docs] “Completely customizing the matching and actions of the kitten”
Layouts
power-userDefine startup sessions and window layouts in config or scripts so a project workspace opens in one command
weight 2 · round to kittyiTerm2'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 …”
Kitty's official docs explicitly advertise startup sessions to specify working environments plus programmable tabs/splits/layouts, configurable via kitty.conf and session files, and remote-control scripting lets a single command open/arrange a full workspace. Runtime probe further corroborates the control/scripting loop working hands-on. Missing for 10: no independent community example specifically demonstrating a startup-session file opening a full project workspace in one command.
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [claimed-docs] “Arrange windows”
- [claimed-docs] “kitty.conf - kitty”
- [claimed-docs] “Control kitty from scripts”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
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 kittyiTerm2 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 …”
kitty's remote-control system is extensively documented (opening windows, sending text, querying state, changing titles) and independently verified hands-on: a probe launched kitty with remote control enabled, listed windows/state as JSON, sent text, read output back, and closed the window — confirming the full documented CLI/IPC control loop works as claimed.
- [claimed-docs] “Control kitty from scripts”
- [claimed-docs] “kitty can be controlled from scripts or the shell prompt. You can open new windows, send arbitrary text input to any window, change the titl…”
- [claimed-docs] “Control it from scripts or the shell; Extend with kittens using the Python language; Use startup sessions to specify working environments; P…”
- [probe] “official CLI documented at https://sw.kovidgoyal.net/kitty/remote-control/”
- [probe] “PROBE runtime (recorded 2026-09-04, kitty 0.48.2 via official installer): launched `kitty --detach -o allow_remote_control=socket-only --lis…”
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**”
kitty's shell-integration docs confirm prompt-aware features (jumping between prompts, viewing last command's output, cursor movement while editing) but the evidence pack never documents exit-status marking, command duration tracking, or notifications when long commands finish — the specific command-aware signals the story asks about. Missing for 10: exit status display evidence, duration/timing tracking evidence, and completion notification evidence for long-running commands.
- [claimed-docs] “Shell integration”
- [claimed-docs] “Shell integration with zsh, fish and bash enables features such as jumping to previous prompts in the scrollback, viewing the output of the …”
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.”
Kitty's official shell integration docs explicitly state it enables jumping to previous prompts in scrollback, viewing last command output, and command-mark-based navigation for zsh/fish/bash. This is a first-party documented core feature directly matching the story. Missing for 10: independent hands-on community confirmation specifically of prompt-jumping/scrollback navigation (community evidence covers other features like speed/ligatures but not this one).
- [claimed-docs] “Shell integration”
- [claimed-docs] “Shell integration with zsh, fish and bash enables features such as jumping to previous prompts in the scrollback, viewing the output of the …”
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.”
kittynone0/10Kitty's evidence covers remote control, kittens, shell integration, and hints/selection features, but nothing describes a searchable command palette UI for discovering and running actions—kitty's action system is configured via keybindings in kitty.conf, not an interactive palette.
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.”
kitty ships a dedicated 'Hints' kitten (kitty-docs-17) that is documented to let users select URLs/paths/etc. from terminal output via keyboard, and kitty's kittens system (kitty-docs-8) enables extensibility like this, supporting the story's core capability. However, the evidence pack only lists a title reference with no detail on mouse-click behavior, configuration, or independent confirmation from users. Missing for 10: detailed docs excerpt on hints/URL-click behavior, mouse-click-to-open-url specifics, and community/hands-on corroboration of this exact feature.
- [claimed-docs] “Hints”
- [claimed-docs] “Extend with kittens”
Scrollback
developerSearch my scrollback quickly and jump between matches
weight 2 · round to iTerm2Docs 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.”
Kitty's shell-integration docs mention jumping to previous prompts in the scrollback and viewing the last command's output via a pager (which supports searching), giving partial support for quick scrollback navigation, but there's no explicit documentation of a dedicated 'search scrollback and cycle through matches' feature (e.g., a search kitten or highlighted match navigation) in the evidence pack. Missing for 10: explicit docs on search-in-scrollback UI/keybindings, match highlighting/cycling, and independent user confirmation of this specific workflow.
- [claimed-docs] “Shell integration with zsh, fish and bash enables features such as jumping to previous prompts in the scrollback, viewing the output of the …”
Not comparable on these axes
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…”
kittyn/aKitty is a terminal emulator; it has no data ingestion, analytics, or AI-generated insight/suggestion feature over user data. The evidence covers remote control, graphics protocol, shell integration, and performance/config feedback — none relate to AI-generated insights from data, which is a category mismatch for a terminal emulator.
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…”
kittyn/akitty is a terminal emulator, not an AI assistant product; it has no built-in AI/agent feature to delegate tasks to. Its remote-control and scripting capabilities allow external tools/agents to control kitty, but that's the reverse relationship — this is a category mismatch, not a missing feature.
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…”
kittyn/akitty is a terminal emulator; it offers scriptable remote-control and shell integration but no natural-language/AI command interface is claimed or evidenced. This axis concerns operating via NL commands, which is a category mismatch for a low-level terminal emulator rather than a missing feature of its type — no evidence contradicts this to flip it applicable.
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.
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 …”
kittyn/akitty is a terminal emulator, not an AI/LLM-integrated shell or agent; there is no evidence of any built-in AI explanation or auto-fix feature for failed commands, and this capability is not a fair expectation of a terminal emulator's core feature set (as opposed to a shell/AI-CLI wrapper).
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…”
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…”