mirror of
https://github.com/gnachman/iTerm2.git
synced 2025-12-04 04:23:59 -05:00
No description
| .github | ||
| .gitlab/issue_templates | ||
| api/library/python/iterm2 | ||
| BetterFontPicker | ||
| ColorPicker | ||
| images | ||
| Interfaces | ||
| iTerm2.xcodeproj | ||
| iTerm2ImportStatus | ||
| iTerm2SandboxedWorker | ||
| iTerm2XCTests | ||
| iTermAI | ||
| iTermBrowserPlugin | ||
| iTermServiceHelper/iTermServiceHelper.xcodeproj/xcshareddata/xcschemes | ||
| Model.xcdatamodeld/Model.xcdatamodel | ||
| ModernTests | ||
| OtherResources | ||
| pidinfo | ||
| plists | ||
| proto | ||
| pwmplugin | ||
| Resources | ||
| SearchableComboListView | ||
| ShellLauncher | ||
| SignedArchive | ||
| SignPlugin | ||
| sources | ||
| submodules | ||
| SwiftyMarkdown | ||
| tests | ||
| ThirdParty | ||
| tools | ||
| WebExtensionsFramework | ||
| .gitignore | ||
| .gitmodules | ||
| AIStreaming.png | ||
| CLAUDE.md | ||
| clock.png | ||
| CODE_OF_CONDUCT.md | ||
| command.png | ||
| CommandIcon.png | ||
| COPYING | ||
| deps.sb | ||
| document.png | ||
| flowchart.png | ||
| flowchart@2x.png | ||
| idn-chars.html | ||
| iTerm2.entitlements | ||
| iTerm2.sdef | ||
| iTerm2SharedARC-Bridging-Header.h | ||
| iTermFileProviderNightly.entitlements | ||
| iTermMinimalComposerViewController.h | ||
| iTermMinimalComposerViewController.m | ||
| last-xcode-version | ||
| LICENSE | ||
| LiquidGlassButton.swift | ||
| Makefile | ||
| prove_network_in_app.sh | ||
| README.license | ||
| README.md | ||
| sparkles.png | ||
| test-find-iframe.html | ||
| test_network_in_app.swift | ||
| version.txt | ||
About
iTerm2 is a powerful terminal emulator for macOS that brings the terminal into the modern age with features you never knew you always wanted.
Key Features
- tmux Integration - Native iTerm2 windows/tabs replace tmux's text-based interface. Run tmux -CC and tmux windows become real macOS windows. Sessions persist through crashes, SSH disconnects, and even app upgrades. Collaborate by having two people attach to the same session.
- Shell Integration - Deep shell awareness that tracks commands, directories, hostnames, and usernames. Enables click-to-download files via SCP, drag-and-drop uploads, command history per host, recent directories by "frecency," and marks at each prompt.
- AI Chat - Built-in LLM chat window that can optionally interact with terminal contents. Link sessions to get context-aware help, run commands on your behalf, or explain output with annotations.
- Inline Images - Display images (including animated GIFs) directly in the terminal. Use imgcat to view photos, charts, or visual output without leaving your workflow.
- Automatic Profile Switching - Terminal appearance changes automatically based on hostname, username, directory, or running command. SSH to production? Background turns red. Different environments get different visual contexts.
- Dedicated Hotkey Windows - System-wide hotkey summons a terminal that slides down from the top of the screen (or any edge), even over fullscreen apps. Pin it or let it auto-hide.
- Session Restoration - Sessions run in long-lived server processes. If iTerm2 crashes or upgrades, your shells keep running. When iTerm2 restarts, it reconnects to your sessions exactly where you left off.
- Built-in Web Browser - Browser profiles integrate web browsing into iTerm2's window/tab/pane hierarchy. Copy mode, triggers, AI chat, and other terminal features work in browser sessions.
- Configurable Status Bar - Per-session status bar showing git branch, CPU/memory graphs, current directory, hostname, custom interpolated strings, or Python API components.
- Triggers - Regex patterns that fire actions when matched: highlight text, run commands, send notifications, open password manager, set marks, or invoke Python scripts.
- Smart Selection - Quad-click selects semantic objects (URLs, file paths, email addresses, quoted strings). Right-click for context actions. Cmd-click to open.
- Copy Mode - Vim-like keyboard selection. Navigate and select text without touching the mouse. Works with marks to jump between command prompts.
- Instant Replay - Scrub backward through terminal history to see exactly what was on screen at any moment, with timestamps. Perfect for catching fleeting errors.
- Python Scripting API - Full automation and customization via Python. Create custom status bar components, triggers, menu items, or entirely new features.
- Open Quickly - Cmd-Shift-O opens a search across all sessions by tab title, command, hostname, directory, or badge. Navigate large session collections instantly.
Installation
Download
Get the latest version from iterm2.com/downloads
Build from Source
See our build guide for detailed instructions.
Development
Building
# Clone the repository
git clone https://github.com/gnachman/iTerm2.git
cd iTerm2
# Build with Xcode
xcodebuild -project iTerm2.xcodeproj -scheme iTerm2 -configuration Debug
Contributing
We welcome contributions! Please read our contribution guide before submitting pull requests.
Bug Reports & Issues
- File bugs: iterm2.com/bugs
- Issue tracker: GitLab Issues
Note: We use GitLab for issues because it provides better support for attachments.
Resources
| Resource | Link |
|---|---|
| Official Website | iterm2.com |
| Documentation | iterm2.com/documentation |
| Community | iTerm2 Discussions |
| Downloads | iterm2.com/downloads |
License
iTerm2 is distributed under the GPLv3 license.
Support
If you love iTerm2, consider:
- Starring this repository
- Spreading the word
- Sponsoring development
Made by George Nachman and contributors