# gnachman/iTerm2

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gnachman-iterm2).**

16,989 stars · 1,306 forks · Objective-C · gpl-2.0

## Links

- GitHub: https://github.com/gnachman/iTerm2
- Homepage: https://iterm2.com/
- awesome-repositories: https://awesome-repositories.com/repository/gnachman-iterm2.md

## Description

iTerm2 is a high-performance terminal emulator designed specifically for macOS. It functions as a programmable environment that supports advanced session management, including tabbed windows, split panes, and persistent state serialization to maintain complex workflows across application restarts.

The application distinguishes itself through deep shell integration and extensive automation capabilities. It utilizes a Python-based scripting bridge and a regex-driven trigger engine to allow users to programmatically control the terminal, automate responses to output patterns, and integrate external AI services. Users can access the terminal globally via a system-wide hotkey overlay, and the interface leverages GPU-accelerated rendering to ensure low-latency performance during intensive tasks.

Beyond core emulation, the project provides a comprehensive suite of productivity tools, including clipboard history, smart text selection, and command autocomplete. It supports rich media rendering, such as inline graphics and embedded web content, and offers observability features like instant session replay, line timestamps, and output annotation. The environment is highly configurable, allowing for custom status bars, contextual toolbelts, and profile management that adapts automatically to different host or directory contexts.

The software is distributed as a native macOS application with integrated support for secure credential management via the system keychain.

## Tags

### Operating Systems & Systems Programming

- [Terminal Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-emulators.md) — Feature-rich terminal application providing advanced session management, programmable triggers, and integrated AI assistance.
- [High-Performance Terminal Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-interface-systems/terminal-emulation/rendering-performance-engines/high-performance-terminal-emulators.md) — High-performance terminal emulator for macOS featuring GPU-accelerated rendering and deep shell integration.
- [Terminal Session Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-management/terminal-session-managers.md) — Organizes multiple command-line environments through tabbed windows, split panes, and persistent session restoration.
- [GPU-Accelerated Renderers](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-interface-systems/terminal-rendering-engines/gpu-accelerated-renderers.md) — Offloads drawing tasks to the graphics processor to improve screen update speeds and reduce CPU workload. ([source](https://iterm2.com/documentation-one-page.html))

### Artificial Intelligence & ML

- [AI Terminal Assistants](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-terminal-assistants.md) — Provides an integrated chat interface to generate, explain, and debug command-line instructions using connected language models. ([source](https://cdn.jsdelivr.net/gh/gnachman/iTerm2@master/README.md))
- [Terminal AI Assistants](https://awesome-repositories.com/f/artificial-intelligence-ml/artificial-intelligence-tooling/terminal-ai-assistants.md) — Integrates conversational language models to generate, explain, and debug command-line instructions directly within the workspace.

### Development Tools & Productivity

- [Terminal Session Managers](https://awesome-repositories.com/f/development-tools-productivity/terminal-session-managers.md) — Organizes multiple command-line environments through tabbed windows, split panes, and persistent session restoration. ([source](https://iterm2.com/documentation.html))
- [Shell Integration](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration.md) — Injects helper scripts into the shell to track command history, directory changes, and output markers for improved navigation. ([source](https://iterm2.com/documentation-preferences.html))
- [Global Hotkey Managers](https://awesome-repositories.com/f/development-tools-productivity/global-hotkey-managers.md) — Provides system-wide keyboard shortcuts to toggle the terminal interface instantly. ([source](https://iterm2.com/documentation-one-page.html))
- [Global Window Toggles](https://awesome-repositories.com/f/development-tools-productivity/global-window-toggles.md) — Maintains a system-wide overlay process that toggles terminal visibility instantly via global keyboard shortcuts.
- [Python Scripting Engines](https://awesome-repositories.com/f/development-tools-productivity/open-source-software/modular-cad-platforms/python-scripting-engines.md) — Exposes internal session state and window management APIs to external Python scripts for programmatic control.
- [Terminal Workflow Automations](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/shell-productivity-enhancements/terminal-workflow-automations.md) — Executes custom scripts and triggers to manipulate session state and integrate external tools.
- [Terminal Session Recorders](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/general-enhancements-tooling/terminal-utilities/appearance-sessions/terminal-session-recorders.md) — Records session output to allow scrubbing backward in time to review past screen states. ([source](https://iterm2.com/documentation-one-page.html))
- [Layout Persistence](https://awesome-repositories.com/f/development-tools-productivity/terminal-window-managers/layout-persistence.md) — Saves and restores complex layouts of windows, tabs, and panes to maintain consistent workspaces across sessions. ([source](https://iterm2.com/documentation-one-page.html))
- [Command-Line Autocompletion](https://awesome-repositories.com/f/development-tools-productivity/command-line-autocompletion.md) — Suggests previously used words or commands based on session history to speed up typing and reduce errors. ([source](https://iterm2.com/documentation-one-page.html))
- [Session State Serializers](https://awesome-repositories.com/f/development-tools-productivity/session-capturers/session-state-serializers.md) — Encodes window layouts, tab hierarchies, and process states into local storage to enable seamless restoration after restarts.
- [Interaction Scripting](https://awesome-repositories.com/f/development-tools-productivity/terminal-automation/interaction-scripting.md) — Allows programmatic control of windows, tabs, and sessions using external scripts to automate environment setups. ([source](https://iterm2.com/3.1/documentation.html))
- [Proprietary Sequence Support](https://awesome-repositories.com/f/development-tools-productivity/terminal-escape-sequences/proprietary-sequence-support.md) — Interprets proprietary control codes to render inline graphics, status badges, and rich media within the terminal.
- [Terminal History Tools](https://awesome-repositories.com/f/development-tools-productivity/terminal-history-tools.md) — Enables keyboard-driven navigation through history to select, copy, and search text without a mouse. ([source](https://iterm2.com/documentation-copymode.html))
- [Terminal Integration Interfaces](https://awesome-repositories.com/f/development-tools-productivity/terminal-integration-interfaces.md) — Exposes session state and output streams to external scripts for programmatic control and automation.
- [Terminal Output Monitors](https://awesome-repositories.com/f/development-tools-productivity/terminal-output-monitors.md) — Monitors incoming text streams to trigger automated actions based on regular expression patterns.
- [Terminal Profile Managers](https://awesome-repositories.com/f/development-tools-productivity/terminal-profile-managers.md) — Automatically switches terminal configurations and settings based on the current host, user, or directory context. ([source](https://iterm2.com/documentation-general-usage.html))
- [Terminal Multiplexer Integrations](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration/terminal-multiplexer-integrations.md) — Embeds remote session managers to maintain persistent connections and shared window layouts across different machines. ([source](https://iterm2.com/documentation-escape-codes.html))
- [Clipboard Managers](https://awesome-repositories.com/f/development-tools-productivity/clipboard-management/clipboard-managers.md) — Stores and retrieves recently copied or pasted text with options to persist data across sessions. ([source](https://iterm2.com/features.html))
- [Terminal Text Interaction](https://awesome-repositories.com/f/development-tools-productivity/terminal-text-interaction.md) — Identifies and selects complex strings like file paths, URLs, or email addresses based on context to simplify interaction. ([source](https://iterm2.com/documentation-one-page.html))
- [Workflow Automation Triggers](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-triggers.md) — Executes predefined commands, scripts, or alerts automatically when specific text patterns are detected in the output stream. ([source](https://iterm2.com/3.3/documentation.html))

### User Interface & Experience

- [Inline Image Renderers](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/terminal-ui-enhancements/inline-image-renderers.md) — Renders images and graphical content directly within the terminal interface using specialized protocols. ([source](https://iterm2.com/documentation.html))
- [Terminal Status Lines](https://awesome-repositories.com/f/user-interface-experience/status-bars/terminal-status-lines.md) — Displays real-time system metrics and custom data components in a per-session status bar. ([source](https://cdn.jsdelivr.net/gh/gnachman/iTerm2@master/README.md))
- [Character Encoding Support](https://awesome-repositories.com/f/user-interface-experience/character-encoding-support.md) — Renders Unicode characters, including emojis and complex scripts, to ensure proper display of global text. ([source](https://iterm2.com/features.html))

### Data & Databases

- [Regex-Driven Parsers](https://awesome-repositories.com/f/data-databases/text-processing-utilities/text-processing-tools/regex-driven-parsers.md) — Monitors incoming text streams for specific patterns to execute automated scripts and UI updates in real time.

### Security & Cryptography

- [Credential Security and Utilities](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/session-and-credential-handling/credential-security-utilities.md) — Provides secure storage and retrieval of credentials using the system keychain for terminal sessions. ([source](https://iterm2.com/documentation-one-page.html))

### Web Development

- [Window State Controllers](https://awesome-repositories.com/f/web-development/web-standards/search-engine-optimization/page-title-templates/application-header-titles/terminal-window-titles/window-state-controllers.md) — Supports proprietary escape codes to manipulate window, status bar, and session state from within a running command-line process. ([source](https://iterm2.com/documentation-escape-codes.html))
