A macOS terminal app for running and monitoring multiple coding agents, with sessions kept alive by a daemon and an iPhone companion.
gnachman/iTerm2
A macOS terminal emulator that replaces the built-in Terminal app with tmux integration, shell awareness, inline images and session restoration.
Open-source alternative to:Terminal.app
- Stars
- 18,200
- Forks
- 1,528
- Open issues
- 76
- Last commit
- 10 hours ago
What is it?
iTerm2 is a terminal emulator for macOS intended as a replacement for the built-in Terminal app. It adds window, tab and pane management, along with features aimed at day-to-day shell work such as profiles, triggers, smart selection and a searchable session list.
A notable feature is tmux integration: running tmux in control mode turns tmux windows into native macOS windows and tabs. Sessions run in long-lived server processes, so shells survive iTerm2 crashes or upgrades and reconnect when the app restarts. Shell integration tracks commands, directories and hostnames, enabling per-host history, file transfer via SCP and drag-and-drop uploads.
Other capabilities include inline image display (including animated GIFs), automatic profile switching based on host or directory, a hotkey window that drops down from a screen edge, an instant replay of terminal history, a configurable status bar, and a Python scripting API for automation and customization. The project is written in Swift and licensed under GPL-2.0.
Key features
- 01Native macOS windows and tabs for tmux sessions via tmux -CC
- 02Shell integration with click-to-download via SCP and per-host command history
- 03Inline image display, including animated GIFs, through imgcat
- 04Automatic profile switching based on hostname, directory or running command
- 05Hotkey window that slides in from a screen edge
- 06Instant replay of terminal history with timestamps
- 07Python scripting API for custom status bar components and triggers
Use cases
- Managing remote servers over SSH with per-host profiles and history
- Keeping long-running tmux sessions visible as native macOS windows
- Quickly summoning a terminal from anywhere with a global hotkey
- Scripting custom terminal automation with Python
Quick start
- 1
Download the latest version from the downloads page
- 2
Clone the repository
git clone https://github.com/gnachman/iTerm2.git - 3
Run first-time setup (interactive)
make setup - 4
Build and run iTerm2
make run
Things to know
- macOS only.
- Building from source requires a lengthy setup that installs Xcode, Homebrew and Rust.
- Development builds may be less stable than official releases.
- Licensed under GPL, which carries copyleft obligations.
Topics
FAQ
- What is iTerm2?
- A macOS terminal emulator that replaces the built-in Terminal app with tmux integration, shell awareness, inline images and session restoration. iTerm2 is a terminal emulator for macOS intended as a replacement for the built-in Terminal app. It adds window, tab and pane management, along with features aimed at day-to-day shell work such as profiles, triggers, smart selection and a searchable session list.
- Is iTerm2 free to use? What license does it have?
- iTerm2 is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
- Is iTerm2 still maintained?
- Actively maintained. The last commit to iTerm2 was on Oct 20, 2026.
- What can I use iTerm2 for?
- Managing remote servers over SSH with per-host profiles and history Keeping long-running tmux sessions visible as native macOS windows Quickly summoning a terminal from anywhere with a global hotkey Scripting custom terminal automation with Python
- How do I install iTerm2?
- Download the latest version from the downloads page Clone the repository: git clone https://github.com/gnachman/iTerm2.git Run first-time setup (interactive): make setup Build and run iTerm2: make run
- Where can I get iTerm2?
- The source code and installation instructions are on GitHub: https://github.com/gnachman/iTerm2
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A cross-platform, GPU-accelerated OpenGL terminal emulator that relies on other tools like tmux for tabs and splits.
A user-friendly interactive command line shell for macOS, Linux and other Unix-like systems, with syntax highlighting and autosuggestions out of the box.
A native macOS terminal built on libghostty, with vertical tabs, agent-aware notifications and a scriptable CLI for running AI coding agents in parallel.
A GPU-rendered terminal emulator in Rust whose background server keeps shells and panes alive after the window closes, with agent-aware sessions and SSH remote work.
A native macOS terminal workspace with projects, tabs, split panes, a Git-aware file tree, and browser panes.