iTerm2 is a powerful terminal emulator for macOS that brings the terminal into the modern age with features you never knew you always wanted.
Get the latest version from iterm2.com/downloads
For the bleeding edge without building, try the nightly build.
Note: Development builds may be less stable than official releases.
make setup will install Homebrew, Xcode, Rust, and all other dependencies, prompting for confirmation before each privileged step.git clone https://github.com/gnachman/iTerm2.git
make setup
make setup is interactive and will prompt for confirmation before any privileged or security-sensitive operation. It performs the following steps:
xcode-select, installs xcodes (via Homebrew) and aria2 (for faster downloads), then either selects an existing /Applications/Xcode*.app or downloads the latest Xcode automatically. Prompts before running sudo xcode-select and before accepting the Xcode license.curl | sh installer if not already present. Prompts before executing the script.brew link python@3 would overwrite existing symlinks, prompts for confirmation before proceeding..pkg installer that requires sudo). Prompts before attempting the install; continues without it if declined.To skip all confirmation prompts, use make dangerous-setup instead.
After setup, compile native dependencies and build:
make paranoid-deps # compile OpenSSL, libsixel, libgit2, Sparkle, etc. (sandboxed)
make # build iTerm2
Re-run make paranoid-deps whenever your active Xcode version changes -- the file last-xcode-version tracks which version was last used.
If your Xcode version differs from the one committed in last-xcode-version (e.g. you're on an older machine), suppress the noise without committing your local version:
git update-index --skip-worktree last-xcode-version
To undo: git update-index --no-skip-worktree last-xcode-version
make Development
make run
Builds target your native architecture by default. To produce a universal (arm64 + x86_64) binary:
UNIVERSAL=1 make Development
Code signing is disabled by default to keep contributor builds simple. To enable it with the project's signing identity:
SIGNED=1 make Development
If you prefer building from Xcode instead of the command line:
Complete the Clone and Setup steps above.
Configure code signing with your team ID:
tools/set_team_id.sh YOUR_TEAM_ID
This script updates DEVELOPMENT_TEAM in all Xcode project files (iTerm2 and its dependencies like Sparkle, SwiftyMarkdown, etc.) so code signing works with your identity.
To find your team ID: Open Keychain Access, find your "Apple Development" or "Developer ID" certificate, and look for the 10-character string in parentheses (e.g., "H7V7XYVQ7D").
No Developer account? Skip this step and select "Sign to Run Locally" in Xcode's Signing & Capabilities tab.
Open iTerm2.xcodeproj in Xcode.
Edit Scheme (Cmd-<) and set Build Configuration to Development.
Press Cmd-R to build and run.
We welcome contributions! Please read our contribution guide before submitting pull requests.
Note: We use GitLab for issues because it provides better support for attachments.
| Resource | Link |
|---|---|
| Official Website | iterm2.com |
| Documentation | iterm2.com/documentation |
| Community | iTerm2 Discussions |
| Downloads | iterm2.com/downloads |
iTerm2 is distributed under the GPLv3 license.
If you love iTerm2, consider:
Made by George Nachman and contributors