Stable Releases
Stable releases update rarely but have no serious bugs.
iTerm2 3.7.0 (macOS 13+)
This is the recommended build for most users. Built on September 8, 2026.
[▾ Hide Changelog](<javascript:hideId('5011592911330320792')>)
Version 3.7.0 was built on June 8, 2026
Major New Features:
- Companion App: a new iOS app, iTerm2 Buddy,
pairs with your Mac by scanning a QR code
(iTerm2 > Companion Device Settings) and
connects over an encrypted Noise channel so you
can interact with iTerm2 via AI chat from your
phone.
Devices connect through an encrypted relay, so
they work even when the Mac and phone are on
different
networks, and end-to-end encryption ensures that
your data is only visible to you.
First-time setup is now a guided wizard: it
installs the AI and companion plugins, turns on
both features with a single password prompt,
takes your API key, and walks you through
pairing your phone.
- There's a new kind of AI chat called
"orchestration" which can view all your
sessions and operate iTerm2 for you.
- A new Session Status system was added. Sessions
can now report status that appears on their tab
with a custom subtitle, color, and dot icon.
Status can be set by a control sequence, the it2
command, or by triggers. The Session Status tool
lets you view the status of all sessions in a
window at a glance and the new Cockpit window
lets you browse status across windows.
- Claude Code integration was added. It enables
the new Session Status feature for claude code
sessions so you can see at a glance which
instance is waiting for you. It also ties in
with the new Workflows feature to facilitate
viewing diffs and performing code reviews. It
ties in with clippings so that AI-authored code
review comments can easily be sent back to
Claude code.
- Session Notes were added: floating,
draggable, resizable, collapsible multiline
text notes attached to a session that
persist across restarts.
- The new Workgroups feature let you define how to
transform a session into a cluster of related
sessions. When a session enters a Workgroup, the
cluster of related sessions is created. They can
be in split panes, separate tabs, or "peers"
which are like tabs within a split pane.
Sessions in a workgroup have a unique name, a
custom command, a customizable toolbar, and can
even have custom behavior such as to drive AI
code review or perform in-terminal diffs of a
git repo.
When a Workgroup spawns extra tabs, they are
now collected into a tab group together with
the session you entered from, and each spawned
split or tab takes the name you gave it in the
Workgroup so its tab title is recognizable.
- Added tab groups: right-click a tab and choose
Add Tab to Group to group Chrome/Firefox-style
tabs. A named, colored chip heads each group;
right-click it to rename, recolor, duplicate,
move to a new window, ungroup, or close the
group. Drag the chip to move the whole group,
within a window or into another one; drag
single tabs into, around, or out of a group.
Groups persist their name and color with the
member tabs.
- You can now create screenshots including
highlights and redactions using the Make
Screenshot menu item.
- Session archives were added. The new Session >
Archives menu has “Save Archive of Current
Session…” and “Restore Archive…” commands, and
remembers your ten most recent archives. A
per-profile setting can automatically archive a
session to a configured directory when it
closes. Restoring an archive reopens the
session’s scrollback in a new window.
New Features in Terminal Sessions:
- Right-to-left script support (bidi
reordering plus Arabic and Persian
cursive joining) is now enabled by
default. You can turn it off in
Settings > General > Experimental.
- Double-width and double-height lines
(DECDWL, DECDHL, DECSWL) are now supported
via ESC #3, #4, #5, and #6.
- Custom in-terminal buttons with SF Symbol
icons that emit a user-defined escape code
when clicked. To add one, send
OSC 1337 ; Button=type=custom;code=N;
icon= ST. The code must be
positive. To invalidate all custom buttons,
send OSC 1337 ; Button=type=custom ST.
- A control sequence to programmatically
fold and unfold blocks of output. Send
OSC 1337 ; UpdateBlock=id=;
action=fold ST (or action=unfold) where
blockID matches a previously declared
block ID (see custom escape sequence docs
"Blocks" section for details).
- A new SetProfileProperty control sequence
lets you change profile properties at
runtime. Send
OSC 1337 ; SetProfileProperty==
[;=...] ST,
e.g. set “Cursor Type” to 2 by encoding
the JSON value 2 as base64.
- OSC 52 clipboard query responses now work
with tmux 3.6+ in tmux integration.
- Added OSC 21337 for session status. Send
OSC 21337 ; indicator=<#rrggbb> ;
status= ; status-color=<#rrggbb> ST
to set the tab’s dot indicator, subtitle,
and subtitle color. Send the same sequence
with empty values to clear.
- Smooth-typing animation for underscore and
vertical-bar cursors can be enabled in
Settings > Profiles > Text.
- Relative timestamps (set via the Set
Baseline for Relative Timestamps menu)
now use Go-style unit suffixes such as
+1m23s and +2h5m, giving sub-minute
precision in the 1m–1h range that was
previously rounded to whole minutes.
- The new Fold All menu item folds everything
(aside from folds at the very top of history).
This makes it easy to keep history around
without it getting in the way.
- Added support for the Kitty drag-and-drop
protocol (OSC 72). A program running in the
terminal can accept files, text, and images
dropped onto the window, and (when it has mouse
reporting on, e.g. a full-screen TUI) can offer
its own data to be dragged out to other apps.
For a program on a remote host, dropped files
are transferred to it over the connection. Hold
Option while dropping to use the old
paste/upload behavior instead.
- Clippings is a new side panel that contains a
list of items formatted as markdown. They're a
useful place to store text that you need
temporarily.
The Claude Code integration uses Clippings to
store code review comments so they can be shared
between related sessions in a Workgroup.
New Features in Tabs, Windows, and UI:
- Left and right tabs in the Minimal theme are now
as tall as top tabs, giving subtitles room to
render legibly. The height follows the existing
Minimal tab bar height advanced setting.
- Most window types support initial size as a
percentage of the screen (used to be only number
of rows and columns).
- Tabs can be pinned so they stay put and are
protected from reordering.
- New Lock Size menu item and per-profile
preference to prevent window resizing.
- New Lock Layout menu item (in the Window
menu, next to Lock Size) that freezes a
window’s layout: it prevents splitting,
adding or closing tabs, reordering tabs,
closing or dragging panes, and moving
panes or tabs to other windows. Resizing
panes, opening new windows, and closing
the window still work.
- Panes can be locked to prevent accidental drag
and drop.
- Tabs can now be placed on the right side
of the window.
- The control-sequence-controlled progress
indicator is now shown in the tab bar.
- An active pane border can be displayed to
highlight the focused pane.
- You can now choose to show a Proxy icon in
Compact and Minimal themes.
- The tab color menu now has a color picker,
recent colors, and an eyedropper tool.
- Asymmetrical broadcasting via a per-session
broadcast-source flag lets you prevent
accidental typing in non-designated sessions
from being broadcast.
- New key binding action to send text without
broadcasting.
- Nerd Font glyphs are now rendered in pane title
bars and tabs.
- A unified dock badge combines bell count and tab
status, and the old 999 cap on the bell count
was removed.
- Split pane icons were added to the context
menu.
- Hold Option when clicking a Split button in the
Profiles panel to open the selected profiles as
splits in a new window instead of the current
one.
- Background images can now rotate through a
folder of images at a configurable interval.
Pick a folder instead of a file in
Settings > Profiles > Window > Background.
- In the Jobs view (toolbelt and status bar
popover) hovering on a row shows the full
command as a tooltip, and pressing space
opens a popover with the full command,
process ID, start time, working
directory, environment variables, and a
list of open files and network
connections.
- The status bar can now draw a separator line
between itself and the terminal content. Enable
it in the status bar layout’s advanced settings.
- Improve tab dragging: keep Metal enabled
for normal tab drags, switch reorder
slots near tab midpoints, and stabilize
split-pane target highlights.
Triggers Improvements:
- Event-based triggers can fire on events such as
a session ending or a hostname change.
- A trigger can now match when a session variable
changes to a value matching a regex.
- Triggers can be imported and exported as
.it2triggers files.
- A regex can now be used to define word
characters for a trigger.
- Nulls are now treated as spaces in trigger regex
matching.
- You can now assign a "job" to a trigger, which
ensures the trigger is only active when that job
is running. This makes it possible, for example,
to write triggers that are only active while
Claude Code is running.
AI Improvements:
- The AI chat “View History” permission is now
“View Contents”. When it is set to provide
contents automatically, a session-bound chat
includes the terminal’s visible screen with
each message, not just on-request history
tools.
- An AI chat linked to a terminal session now
stays linked when the session's shell restarts
(which happens often with the Claude Code
integration). Previously the link, its command
permissions, and orchestrator @-mentions of the
session were lost on every restart.
- Chats in the AI chat list now get an icon
drawn by your AI model from the chat
title. Chats without one show a default
icon. The prompt can be edited in
Settings > General > AI > Prompts.
- The AI command safety check now uses your
configured AI model. It runs deterministic
terminal rules first and only asks the model
when those rules cannot decide. It can send
commands to your (possibly cloud) provider, so
it is opt-in. Users who already enabled it keep
using free on-device Apple Intelligence and are
asked once whether to switch to their model.
- AI chat can connect to LAN-hosted models
over HTTP.
- Anthropic prompt caching now also covers the
conversation history, not just the system
prompt and tools. A rolling cache breakpoint
on the latest message lets long chats reread
the prior turns from cache instead of paying
full input price every turn.
- AI models updated.
- The built-in AI model list is now data-driven
and refreshes in the background, so new models
appear without updating iTerm2.
- DeepSeek v4 thinking mode is now supported.
Toggle the lightbulb in the chat toolbar to
enable. Reasoning summaries appear live in
the conversation and round-trip correctly
on multi-turn tool calls (fixes a 400 from
the API when reasoning_content was missing).
- The “Configure AI Model Manually…” popover
now has a section for custom HTTP headers
that are appended to every AI request (chat,
vector store, and file upload). Useful for
proxy auth or routing tags. Custom headers
override built-in headers with the same
name. Values are stored unencrypted in
iTerm2’s preferences.
- PDF chat attachments now work on Anthropic.
- When AI chat types into a terminal, a newline
is now sent as Return (carriage return) so it
submits the line in programs like Claude Code
instead of inserting a literal newline. The
tool also reports how many characters were
inserted.
- Added a Zero Data Retention setting under
Settings > General > AI. Turn it on if your
OpenAI organization has Zero Data Retention
enabled. iTerm2 then stops sending
previous_response_id and sets store=false, so
chats no longer fail on the second message.
- AI chat can now restart a session for you.
The “Type for You” permission was renamed
“Control Terminal” and now also gates this.
- AI chat linked to a terminal session can now
watch that session and tell you when it reaches
a state or a described condition, without
polling. Previously only orchestration chats
could set watches. If your phone is paired it
can also push you a notification when the watch
fires.
- The manual AI model editor now offers presets
for OpenAI-compatible providers (Ollama,
OpenRouter, z.ai, Qwen, MiniMax) that fill in
the endpoint for you, plus a Test Connection
button that verifies your settings and API key
before you save.
- AI chat history entries can now be deleted
from the chat list.
- AI chats now keep the provider chosen at
creation time. Settings choose the default
provider for new chats, while existing
chats only offer models from their saved
provider.
Python API Improvements:
- Move sessions to new tabs or windows via the
Python API.
- Load URLs in browser sessions from the Python
API.
- The Open URL API now supports a per-domain
allowlist.
- App.async_apply_layout atomically reshapes
one or more tabs to a target layout in a
single transaction. Supports swapping panes,
rearranging the split tree, and moving
sessions across tabs and windows. New
sessions can be created in place with
new_session leaves.
- The API server no longer lets a client flood it
with frames to exhaust memory: it bounds how
much unparsed inbound data it buffers, and a
client that floods pings but stops reading the
pongs is disconnected as misbehaving rather than
having its pongs buffered without limit. The it2
command-line client handles a flood of ping
frames iteratively instead of recursively.
Credit to NSEcho for the find
- The Script Console has a Clear Terminated
button that removes stopped sessions from the
list, so it no longer grows without bound when
you repeatedly restart a script.
- The warning that a script’s pinned Python
version will be bumped for the new uv runtime
now has an Upgrade Now button that migrates
those scripts immediately, instead of only
when each one next runs.
Password Manager Improvements:
- Bitwarden is now a supported password manager.
- Keeper Security is also supported.
Shell Integration Improvements:
- xonsh is now a supported shell.
- Better interop with Fish 4.3, which builds in
some of shell integration.
- A new it2 command-line utility lets you perform
common actions like creating a window at the
command line. Run `it2 --help` for details.
It's automatically in your path.
SSH Integration Improvements:
- Better passphrase handling for SCP and
private keys. Wrong passphrases now retry
instead of falling through to an empty
password, and encrypted-key detection was
improved.
Tmux Improvements:
- Bracketed paste state is restored on attach
(prep for tmux’s upcoming bracket_paste_flag
format).
- The per-pane modifyOtherKeys state is now
restored on attach (using tmux 3.5+’s
pane_key_mode format), so reattaching while
nvim or another app is running keeps the
correct key reporting mode active.
- Saner defaults for which window and tab a tmux
attach uses.
- The advanced setting for where tmux windows
created outside iTerm2 open is now a three-way
choice: a new window, the focused window, or
the topmost window already hosting that tmux
session.
- A new tmux window opened with Command-T now
picks up the profile’s custom tab title, if
one is set.
Expressions and Variables:
- Arithmetic expressions and comparisons are
now supported in interpolated strings.
- You can right click on a color in settings and
choose "Bind to Expression" so that it will
takes its value from an expression (e.g., a
user-defined Variable or registered function:
see the Scripting Fundamentals section of the
documentation for details). The value should
be a string like #ff8844.
- Same for checkbox settings. The value should be
a boolean.
- A new global variable iterm2.appBundlePath
exposes the path to iTerm2.app for use in
interpolated strings.
- A new window variable window.title holds the
rendered window title, alongside the existing
session.presentationName and tab.title.
UI Improvements:
- A new setting in Settings > Appearance makes
the tab bar scrollable. When the tab bar has
more tabs than fit, instead of moving the
extras into the “More tabs” overflow menu they
stay in the bar and you scroll to reach them.
Works for top, bottom, left, and right tab
bars. A horizontal bar scrolls with a trackpad
swipe or shift + mouse wheel. On by default;
turn it off to restore the overflow menu.
The “Tab width when the tab bar is scrollable”
advanced setting sets the scrolled tab size.
- A new preference hides the session status
text from tab subtitles while keeping the
colored dot. Toggle it from the gear menu
in the Session Status toolbelt tool.
- Right-click a row in the Session Status
toolbelt tool and choose Snooze to move it
below a divider at the bottom of the list
and dim it. A snoozed entry un-snoozes
automatically the next time its status
changes.
- Contextual alternates (calt) are enabled by
default for ligature-capable fonts.
- Rename dialogs, the pane menu, and the context
menu now respect dark/light mode.
- Tab colors are written to all appearance
variants so they survive light/dark switches.
- Customizable IME color.
- Cleaner glass material on the jobs popover.
- Scroll command marks to top (instead of
centering) on Next/Previous Mark.
- A new profile setting, “Use ANSI colors
for marks” (Settings > Profiles > Colors),
draws command-prompt mark indicators using
the color preset’s ANSI blue, red, and
yellow instead of the built-in colors, so
they harmonize with any theme. Off by
default.
- ⌘-click now linkifies very long URLs in
full. Previously only the first couple
thousand characters were clickable; the
linkifier now scans onward to the next
separator so the whole URL is detected.
Input and Accessibility:
- VoiceOver now announces terminal output and
deleted characters.
- Voice dictation now works.
- A repair button was added to fix key bindings
corrupted by a 3.4.x-3.5.x migration bug.
- Ctrl/Option-modified function keys now work with
third-party global shortcuts.
- 3-finger drag is now treated like a regular drag
for mouse reporting.
- Offer to reset the key reporting mode when it
gets stuck on.
Search and Selection Improvements:
- Folded content is searched in global search.
- URL search results extend across soft boundaries
such as tmux pane dividers.
- “$” is now considered part of a URL. Used when
detecting URL boundaries for cmd-click.
- Search results refresh after window resize.
- New “Copy or Paste” pointer action. If there's a
selection, it copies. Otherwise, it pastes.
- New pointer action to copy link address.
Menus and Miscellaneous:
- New menu item to open new tabs next to the
current tab or at the end (opposite of the
default).
- New “Always show alerts with remembered
selections” option. This temporarily turns off
the "Remember my selection" feature of alert
boxes that you already saved in case you change
your mind and want to make a different
selection.
- New “Buffer input by default” profile setting
with menu item, indicator, and trigger
integration. Buffering causes text you type to
be stored until buffering is disabled by
selecting Shell > Toggle Buffer Input.
- "Copy" menu item on status bar components to
copy relevant information.
- Smart selection action URL is shown on hover.
- Offer to restore titles when an ssh session
ends.
- New "Suppress notifications from the active
session" setting.
- Undo Close now has the ⌘⇧T shortcut. Show
Tabs in Fullscreen moved to ⌘⇧U. The first
time you press ⌘⇧T in full screen, an alert
explains the change and can restore ⌘⇧T to
Show Tabs in Fullscreen with a key binding.
- Added Edit > Marks and Annotations >
Annotate Selection, so annotating a
selection can now be given a keyboard
shortcut. Previously this was only on the
right-click menu.
- The job name shown in titles, the session
icon, and automatic profile switching now
reflect the foreground job actually attached
to the terminal, hiding helper subprocesses
that run in the foreground process group but
are piped to their parent (for example an MCP
server spawned by claude, or caffeinate). The
raw deepest job is still available as the
deepestJob variable. Note that automatic
profile switching now matches the tty-attached
job, so a rule keyed on such a helper name will
no longer fire for it.
Core Improvements:
- Significant Metal rendering speedups for
non-ASCII text should result in higher frame
rates.
- Faster rendering of text with many colors (e.g.
syntax-highlighted code) by reusing attribute
dictionaries across runs instead of rebuilding
one per color span.
- Framerate is capped at 30 fps in low-power mode.
- Crash-log search was moved off the main thread
so app launch does not hang when there are a
huge number of crash logs.
- Prompt for local-network permission on launch.
- New iTerm2 menu item, Save Retrospective Debug
Logs, writes recently captured low-frequency
diagnostics to a file you choose, even when
debug logging was never turned on.
- iTerm2 now probes the local network on
every launch so macOS keeps it in the
Local Network privacy list. This recovers
the permission after a tccutil reset or an
OS upgrade, fixing commands like
“ping 10.0.0.1” failing with “no route to
host”.
- Added support for light/dark color scheme
detection and reporting (DECSET 2031 and
DSR 996/997). Programs can query whether the
terminal is light or dark and ask to be
notified when it changes, so tools like vim
and delta can adapt automatically.
- You can now run multiple concurrent
instances of iTerm2 side by side with
independent settings. Launch with
arguments:
-suite com.iterm2.unique-id-of-your-choice.
Settings Improvements:
- Window frames are remembered per-profile rather
than globally. When you open a window, the
default frame will come from a previous window
with that profile, if possible.
- Font zoom is preserved during Automatic Profile
Switching.
- User-set colors are remembered separately
from control-sequence-set colors so that they
don't get reset by control sequence.
- Special Exceptions has a new Add Preset
button with common Unicode ranges such as
Han, Hangul, and Cyrillic.
- Profiles using a custom Command can now opt
to run the command through the user’s login
shell so dotfiles set $PATH and exported
variables (API keys, GEM_HOME, etc.) before
the command starts.
- A linked AI chat can be hosted inline in
its session’s right margin. Use the chat
menu’s “Put Chat in Linked Session” item
and toggle visibility from View > Show
Inline Chat.
- Open Quickly now uses recency as a
tiebreaker, so the session list (whether
the query is empty or matches several
panes) is ordered most-recently-used
first across tabs and windows. The
current session is omitted from results
since it is never a useful jump target,
so Cmd-Shift-O followed by Enter now
jumps to the most-recently-used other
pane. A new preview side panel shows a
snapshot of the highlighted session.
Open Quickly can also be assigned a
system-wide hotkey in Settings > Keys
that works while another app is in
front, without activating iTerm2 until
you commit a selection.
- Blinking cursors can now fade smoothly
in and out instead of toggling abruptly.
Turn on “Smooth blink” in Settings >
Profiles > Text, where you can tune the
fade-in and fade-out durations, easing
curves, and how long the cursor dwells
fully visible and fully hidden between
fades. Off by default.
- When you load settings from a custom
folder, snippets, global notes, and
session icon customizations can now sync
along with your other settings. Because
notes and snippets can hold sensitive
text, iTerm2 asks once before including
them. If the same item changed both on
this Mac and in the folder, it asks which
copy to keep rather than overwriting your
changes.
- Added Window > Tab > Select Tab > Select
Next Tab Group (⌃⇧⌘]) and Select Previous
Tab Group (⌃⇧⌘[). When the current tab is
in a group, these skip over the rest of
that group. For an ungrouped tab they
behave like Select Next/Previous Tab.
- Added Window > Tab > Add Tab to New Group
and Remove Tab from Group, mirroring the
tab bar’s right-click menu but acting on
the current tab.
Bug Fixes:
- The selected tab’s bright HDR outline on
macOS Tahoe is now off by default. It is
gated behind a new “Allow HDR effects”
advanced setting because forcing the
display into HDR could hang some systems.
- In the tmux Dashboard, “Open in Tabs” is now
enabled when a single hidden window is
selected, matching “Open in Window.” Issue
12994.
- Companion Device Settings no longer prompts
for Touch ID on its own. Opening the window
or unpairing a device now shows a “Show QR
Code” button, and authentication happens only
after you click it.
- Cmd-W now closes the Companion Device
Settings window instead of beeping.
- Fixed a beachball that could occur when the
tab style preference changed: every session’s
announcement view was re-fitted synchronously,
each fit re-running an expensive text-layout
search. Measurements are now cached and reused,
and a resize to the same size no longer
re-fits.
- Fixed a multi-second hang that could occur
when a window changed appearance (for example
when another app or a second iTerm2 instance
stole focus) while in traditional fullscreen.
Setting a window to its current appearance no
longer re-triggers a refresh loop.
- On macOS Tahoe, dark-theme selected tabs no
longer draw their chrome at a fixed image
height while the tab cell uses a different
height (for example left tabs with a custom
Default tab bar height). Cap images scale to
the pill so the dual-layer look goes away
without needing a custom tab color.
- Toggling Caps Lock no longer inserts an “A”
in programs that use the Kitty keyboard
protocol with “report all keys as escape
codes.” Now it reports the key’s own code
(57358) instead of a stray modifier value
that got read as an “A.” Issue 12922.
- Split-pane dividers in different rows or columns
can now be dragged into alignment: a divider
snaps to a matching divider elsewhere in the tab
when it comes within half a cell, fixing a
sub-cell misalignment that whole-cell steps
could not correct. Double-clicking a horizontal
divider to equalize the two panes also no
longer computes the wrong size.
- The Centered window style now looks and behaves
just like a normal window (title bar,
close/minimize/zoom buttons, and the same chrome
in the Minimal and Compact themes), except that
it stays centered. It also no longer changes
size when you minimize and restore it.
- In tmux -CC sessions with pane-border-status set
to top or bottom, the pane no longer ends up a
row too tall. Previously the bottom line went
unused and the cursor landed a row high after
reattaching.
- Retrospective debug logging no longer fills its
in-memory ring so quickly on busy hosts. Several
high-frequency sites that logged large payloads
(window descriptions, view hierarchies, and stack
traces) were trimmed or moved back to regular
debug logging, extending how far back the ring
reaches.
- The proxy icon in Compact and Minimal theme
windows now hides and reveals along with the
stoplight buttons instead of staying visible
when they are hidden.
- Hiding a hotkey window on macOS 26 no longer
briefly flashes background iTerm2 windows to
the front. The window now waits for the
previously active app to come forward before
ordering out.
- Global search no longer shows blank snippets
for results found on the main screen while an
alternate-screen app (such as a full-screen TUI)
is running. Snippets are now extracted from the
same snapshot the search ran against instead of
a freshly captured one that could drift.
- Smart tab-title truncation no longer flickers
between head and tail truncation when a tab
title begins with an animated status glyph
(such as a Claude Code spinner). The glyph is
no longer counted when deciding which end of
the title to truncate.
- Session Status tool: with “Merge workgroup
statuses” on, a merged row now shows the status
of the peer you’re actually looking at (the
visible peer of the switcher) instead of
whichever peer changed most recently. A busy
code-review peer holding a steady “working”
status no longer loses the row to a sibling
chat peer the moment it goes idle.
- Tab subtitle: when a tab is split into
multiple panes, the status of the pane you’re
focused on now drives the subtitle instead of a
background pane winning on status priority. For
example, an idle pane no longer overrides the
working pane you’re looking at. A focused pane
with no status falls back to the highest
priority sibling pane.
- Code review and diff workgroup sessions now
restore showing their last output instead of
launching a stray replacement shell when the
original program is gone. The code review prompt
panel reappears only if it was open when you
quit, and its reload button remembers the prompt
you last submitted.
- Session restoration no longer breaks when iTerm2
receives a signal (such as ^C when it was
started from a terminal): the background process
server is now insulated from signals sent to
iTerm2, so your running programs survive to be
reattached on the next launch.
- Fixed a rare case where a Claude Code workgroup
was torn down even though its claude process was
still running, due to a momentary misread of the
foreground job ancestor list.
- Fixed a case where a Claude Code workgroup pane
(such as Diff or Code Review) could close itself
when its command exited and take the whole
workgroup down with it. Spawned workgroup panes
now pin their end action so the profile’s “Close
Sessions On End” setting can no longer flip them
to close on their own.
- AI chat: fixed a race where a streamed tool
call could be dispatched with empty arguments
when the response completed before its argument
chunks were consumed. The agent would loop
retrying the same call, and the turn could end
with an empty message. Finalization now
reconciles against the full response body.
- SSH integration now runs the ssh command
through your login shell, so dotfiles set up
your environment first. A custom SSH_AUTH_SOCK
(pointing at an agent that holds your keys) is
now honored, fixing “Permission denied
(publickey)” failures that only happened with
the SSH command type.
- On macOS Tahoe the tab activity/progress
indicator now draws as an outline around the
pill-shaped tab instead of a bar that crowded
the tab title and status text.
- Fixed a crash in Replace Selection (e.g.,
Replace with Pretty-Printed JSON) when the
replacement had more lines than the selection.
Also, saved locations (marks, prompt ranges)
inside the replaced region are now invalidated
instead of drifting onto unrelated lines.
- tmux integration now parses pane state
correctly on macOS 26 and later. A new
system NSString method had shadowed ours
and caused numeric fields to be dropped.
- The companion device no longer triggers a
keychain confirmation prompt when it connects
or when a notification is sent. The paired
identity is now read once at launch, while you
are present, instead of mid-connection.
- When a companion device is paired, your AI
API keys are now loaded at launch, and when a
phone pairs, so a query sent from your phone
while you are away never has to prompt for
keychain access.
- Opening Settings no longer reads the keychain
or prompts for access. The AI API key row no
longer shows an “N of 4 configured” count.
- Restoring a window with an open inline AI chat
panel now reopens the panel on the chat it was
showing, instead of widening the terminal.
- Chat lists now mark orchestrator chats with a
wand glyph. The inline chat switcher bolds chats
linked to the current session.
- Orchestrator chats now handle full-screen apps
on the alternate screen (like Claude Code)
better: they see just the current screen and
can use a new scroll-wheel tool to page back
through the app’s own history.
- Saved and copied screenshots now fill margins
and other uncovered areas with the session’s
background (including a background image, with
its blend and scaling) instead of leaving them
transparent.
- The session-logging and archive folder
pickers now use the folder you select rather
than its parent when you don’t open it first.
- SSH integration no longer leaves Ctrl+C unable
to interrupt programs on remote hosts whose
Python is older than 3.7 (e.g. CentOS 7,
AlmaLinux 8). The login shell handoff was
leaving signal generation disabled on the tty.
- Clicking a notification posted by a background
tab of a dedicated hotkey window now selects the
source tab and pane instead of leaving the
previously-selected tab in front.
- AI chat with DeepSeek no longer fails with an
"insufficient tool messages" error after a tool
call that was interrupted or left unapproved.
- A live filter no longer drops content that
arrives while it is mid-search; such lines
could previously be missing from the filtered
view until more output came in.
- Copying selected text from a porthole (such as
rendered markdown) now works in apps that
prefer rich text.
- Clicking in a porthole in an inactive split
pane now activates that pane.
- Fixed several crashes: registering a profile
hotkey for a profile with no GUID, a
profile whose default-bookmark value is a
boolean, listing processes over SSH when a
process has an empty command, drawing margin
background colors with a nil color, a crash when
macOS rejected presentation options during a
Spaces transition (now retried once it settles),
and a divide-by-zero when the Metal view has a
zero-size drawable.
- iTerm2 no longer spuriously offers to reset
terminal state or restore the tab and window
title when the local hostname changes (for
example when mDNS renames your .local host)
or when you run sudo. Any two localhosts are
now treated as the same host.
- AI chat no longer fails with a tool_use_id
error after an auto-approved command. The
tool call was dropped from saved history
while its result was kept; the prompt is now
repaired when reloaded, healing chats saved
by earlier versions too.
- Session notes now keep their distance from
the top-right corner of a session when it
is resized, instead of from the bottom-left.
- A tab no longer shows a stale or missing
session status (such as “waiting”) when a
pane carrying a status is closed, moved
between tabs, or reparented (for example by
entering or exiting a workgroup). The tab’s
aggregated status is now recomputed whenever
its set of sessions changes.
- Full-screen programs that don’t use the
alternate screen buffer (such as Claude
Code) no longer destroy on-screen content
when, on startup, they move the cursor to
the top of the screen and repaint over it.
The visible screen is now scrolled into
history first. Requires shell integration.
- When such a program moves the cursor above
a fold and repaints, the fold is now
scrolled into history instead of being
overwritten and left with an orphaned
unfold icon in the margin. This works even
without shell integration installed.
- The “taking a long time to check state
restoration” prompt no longer appears so
readily right after login, when the system
is busy and disk I/O is slow. The integrity
check timeout is now extended in the first
ten minutes after boot, the prompt's
wording is friendlier, and it defaults to
continuing rather than discarding windows.
Issue 11809.
- Editing a color in a color well no longer
silently switches the picker from sRGB to
P3 (or back). The color space the well is
showing is now preserved across the edit
roundtrip. Issue 12720.
- The Python API server now takes an
advisory lock on its socket directory at
startup. A second iTerm2 instance sharing
the same application-support directory
(e.g. two non-suited copies launched from
different .app bundles) will refuse to
start the API server instead of silently
unlinking and rebinding the original
instance’s socket.
- Localhost detection no longer breaks when
your computer's hostname changes (for
example after switching networks). Whether
a session is on the local machine is now
recorded when the host is first reported,
rather than recomputed later by comparing
names. This fixes the git status bar, the
workgroup diff list, opening local files,
and uploads/downloads going stale after a
rename.
- Pressing Enter to commit an IME
composition (e.g. Chinese, Japanese,
Korean) in the AI Chat input no longer
prematurely submits the unfinalized
candidate text.
- Command-clicking links in terminal output
no longer crashes when command-mark data
is unavailable.
- Open Quickly now updates the MRU order
when you jump to a session, so repeated
Cmd-Shift-O Enter cycles between the two
most-recently-used panes instead of
drifting onto a sibling pane that
happened to be active in the destination
tab. Issue 12799.
- Open Quickly recency now strictly follows
focus order. Jumping to a pane no longer
bumps the previously-active sibling in the
destination window, and structural changes
(closing a pane, splitting, restoring) in
background windows no longer reorder the
list, so Cmd-Shift-O Enter reliably
toggles between the last two focused
panes. Issue 12799.
- OSC color overrides (foreground, background,
cursor, selection, palette, and the iTerm2
SetColors variants) now survive macOS Light
/ Dark appearance switches and toggles of
the separate light / dark colors profile
setting. The override is written to every
appearance variant of the profile key so
it persists until OSC 110/111 or a manual
reset clears it.
- In an AI orchestration chat, @-mentioning a
session or workgroup now grants the chat
standing permission to control it, so the
agent acts there without the one-time
approval prompt. A notice with a Revoke
button is posted so you can take the
permission back whenever you want.
- The orchestrator’s send_text tool
now routes payloads containing control bytes
(ESC, Ctrl-C, etc.) as raw keystrokes instead
of bracketed pastes. The previous wrap turned
embedded control bytes into literal pasted
data, so e.g. sending ESC :q ENTER to a vim
session inserted “^[:q” as text instead of
quitting. Pure prompt-style text still goes
through as a paste, as Ink-based TUIs expect.
- The orchestrator’s get_screen_contents
tool now marks faint text with ⟨dim⟩…⟨/dim⟩ and
the cursor with ⟨cursor⟩. Inline shell
suggestions and ghost completions are rendered
faint and used to be indistinguishable from
text the user actually typed, so the agent
would sometimes mistake a suggestion for an
entered command.
- Showing the clippings panel in a window
zoomed to fit the display no longer grows
the window horizontally. The tab content
area absorbs the panel’s width instead,
mirroring the toolbelt’s behavior.
- The Install Claude Code Integration intro is
now presented as a real sheet attached to the
installer panel, rather than a subview
overlay. Enter now correctly activates
Continue instead of the Install/Next button
it was visually covering.
- Workgroup peer-switch and toolbar shortcuts
now fire no matter which view in the terminal
window has keyboard focus, including the Diff
peer’s Run Anyway button, the Code Review
prompt’s text view, and the clippings table.
They are now dispatched centrally instead of
relying on the focused view to forward them.
- The Claude Code installer now reliably adds
Enter/Exit Workgroup triggers to divorced
sessions whose original profile was picked.
The previous pass matched on the dict’s
KEY_ORIGINAL_GUID, which could be stale
after an arrangement reload. The walk now
also consults each live or buried session’s
runtime originalProfile reference.
- The Code Review prompt overlay no longer
drifts out of sync with light/dark mode. The
panel cached a CGColor snapshot of
windowBackgroundColor resolved against an
arbitrary NSAppearance.current, so its
background could disagree with its own text
view. It now uses the existing layer-backed
solid color view, which refreshes the color
in updateLayer under the correct drawing
appearance.
- The heavy window border no longer leaves its
corners unbordered on low-opacity windows. The
corner-radius detector failed on transparent
windows (their interior is not opaque enough),
so the border fell back to a wrong radius and
the corner arc was clipped away. Detection now
works at any opacity, with a better per-OS
fallback radius. Issue 12882.
- The heavy window border now stays flush with
the window edges instead of sometimes drawing
as a smaller inner rounded rectangle. Its view
could be left at a stale size and was not kept
in sync with the window. Issue 12882.
- The heavy window border now has a uniform
width: its corners no longer look thinner than
its edges and no longer pick up semi-
transparent pixels. It is drawn entirely
inside the window instead of straddling the
window edge and relying on the system mask to
clip its outer half. Issue 12882.
- The window border color advanced settings now
accept a four-part color like #rrggbbaa (or
p3#rrggbbaa) to set the border opacity. A
color without an alpha component is still
drawn at 75% opacity. Issue 12882.
- The legacy (non-GPU) renderer now invalidates
only the lines that actually changed, instead
of repainting the entire view on every cell
update. Heavy TUI animations (e.g. spinners
that rewrite a single line at high frequency)
use significantly less CPU on hosts where the
GPU renderer is disabled. Issue 12790.
- Anthropic tool calls reloaded from a chat
transcript would fail with HTTP 400 because
the function output got serialized as plain
text instead of a tool_result block. The
parser stored the tool_use id only on the
inner FunctionCall while the serializer
looked on the outer wrapper, so the id was
lost on round-trip. Both fields are now
populated so persisted tool calls survive
the round-trip.
- Anthropic requests no longer 400 when a
stray user message gets persisted between a
tool_use and its matching tool_result. The
request builder reorders so the tool_result
is always emitted immediately after the
tool_use, with any intervening messages
bumped to after it.
- Fix a launch crash when a saved status bar
layout referenced an RPC-provided text
component whose configuration was missing
the registration request (for example, from
a partial profile restoration). The base64
decoder dereferenced a NULL pointer instead
of returning nil. Issue 12861.
- The “Respect shortcuts from System Settings >
Keyboard > Keyboard Shortcuts > Keyboard”
option used subset matching on modifier keys,
so a system shortcut bound to Ctrl+Right (or
any other strict subset of an event’s
modifiers) would also intercept
Ctrl+Shift+Right and similar keystrokes.
Modifier comparison is now exact. Issue 12859.
- When launched with -suite, orphan adoption
could no longer reattach to surviving
multi-server daemons after a state-database
loss. The application-support directory is
already isolated per suite, but daemon
sockets were also being named with the
suite in the filename, while the orphan
adopter (and the settings-export exclusion
list) still expected the plain
iterm2-daemon- prefix. The suite is now
carried only by the containing directory,
matching how the dotdir fallback already
worked. A transitional fallback accepts
the {suite}-daemon-N.socket form so betas
that wrote that name don't strand their
daemons across the upgrade. Issue 12860.
- Fix a crash when a Python API client invoked
a function whose argument string contained
non-BMP characters (for example, emoji). The
expression tokenizer’s optional-path
recognizer indexed by Unicode scalar while
the surrounding tokenizer tracks UTF-16
positions, so the offset could run past the
scalar count and trap. Issue 12856.
- When ESC #3, #4, or #6 (DECDHL/DECDWL) was
received mid-line, characters already on the
line were correctly doubled in size but the
cursor was not advanced to compensate, so
text printed afterward overwrote the right
half of the existing characters. The cursor
is now repositioned when the line’s width
class changes.
- ssh:// URL handling and Bonjour-discovered
host profiles now find ssh through the user’s
login shell PATH, so Homebrew’s ssh (or any
ssh outside /usr/bin) is used. The advanced
setting SshSchemePath, when changed from its
default, still wins. Issue 3415.
- The faint-text opacity slider in Profiles >
Colors now has a minimum of 0.1, and existing
profiles with a stored value below 0.1 are
clamped at runtime. A value of 0 caused SGR 2
text to render in exactly the background
color, making it invisible. The slider’s
tooltip was also incorrect (it described
minimum contrast); it now describes faint
text opacity.
- The “open password manager automatically”
feature no longer triggers when a shell
script briefly disables terminal echo to
suppress the visible echo of an OSC report
response (e.g. it2getvar, it2profile -g).
ECHO must now stay off for at least 0.2
seconds — tunable via the
DetectPasswordInputDebounce advanced
setting — before iTerm2 treats it as a
password prompt.
- Fix the Minimal-theme tab bar overlapping the
terminal in fullscreen when adding a second
tab with “Hide tab bar when there is only
one tab” enabled. The titlebar accessory
hosting the tab bar grew from zero to its
full height but the content view was not
re-laid out to leave room for it. Issue
12811.
- The Touch ID for sudo offer no longer relies on
AppleScript admin elevation, which fails on
macOS 26 with EPERM when writing to
/etc/pam.d/. Accepting the offer now lets you
copy the install command or run it in a new
iTerm2 window where you can enter your sudo
password.
- Fix a bug where suppressing a warning would
not stick across launches when prefs are
loaded from a custom folder with “Save
changes: Automatically.” The debounced save
could lose the race against app exit, so
the next launch overwrote the just-saved
suppression with the stale remote copy.
applicationWillTerminate now flushes
synchronously when Automatic mode is on.
- Fix Ctrl-letter keystrokes appearing as
literal text (e.g., “0x4” for Ctrl-D) in
tmux -CC mode when the tmux server has
extended-keys enabled and an inner app
has turned on modifyOtherKeys. Control
bytes 0x00–0x1F are now sent through
send-keys with the -H flag on tmux
3.0a or newer, which bypasses tmux 3.5’s
silent literal-text fallthrough for
unmodified C0 bytes. Issue 12845.
- Fix dragging a tab or split pane onto a
window with only one tab. The destination
window’s tab bar is hidden in that case, so
AppKit could not deliver drag events to it
and a brand-new window was created instead.
Tab bars are now temporarily shown for the
duration of any tab or session drag.
Issue 12846.
- Fix a latent use-after-free in Core Text run
enumeration when the font does not return
contiguous glyph or string-index pointers.
The fallback NSMutableData backing buffers
could be released before the closure ran.
- Fix the cursor jumping to the end while
typing in an annotation when the caret was
not already at the end. The optimistic
main-thread write echoed back through the
delegate and reassigned the text view’s
string, which resets the selection.
- Fix a crash when invoking Undo after closing
a split pane that contained an annotation,
session note, or chat input. These text
views now own their own undo manager so
text-edit undo actions can’t outlive the
text view in the window’s undo stack.
- Fix UI hangs when opendirectoryd is slow or
wedged. The user’s login shell is now
fetched in the pidinfo XPC service (so a
daemon hang only burns the helper, never
the main app) and cached in-process. Every
call still kicks off a fresh background
lookup so the cache stays current after
chsh, but a slow lookup no longer stalls
the UI — the cached value is returned if a
fresh result doesn’t arrive in time.
- Fix a multi-second hang when closing the
Settings window. PreferenceInfo now only
registers a notification observer when an
observer block is set, avoiding O(N²)
teardown across the many controls in the
panel.
- Fix a state-restoration crash where the
recovery path could leave records with no
rowid in the in-memory tree, causing the
next save to abort with MissingRowID. The
recovery now operates on a deep copy of
the failed save’s tree so it can’t corrupt
records other code still holds, and it
dedupes siblings by (key, identifier) so
every record gets a fresh rowid.
- Fix the window growing wider when a
clippings panel appears in a non-current
tab. Window resize now happens only when
the visible tab needs the space.
- Fix Code Review (and any other long
command) failing immediately with a zsh
"unmatched '" error. The shell-arg
splitter used by startProgram was running
every unquoted argv element through
-stringByExpandingTildeInPath, which
silently truncates at 1024 chars. Long
arguments now skip the expansion when
there's no leading ~.
- Fix shell escaping of embedded apostrophes
and CR/LF in single-quote (POSIX) and
$'...' (bash) modes. Apostrophes now use
the close-escape-reopen idiom ('\''), and
control chars round-trip cleanly through
the receiving shell instead of either
injecting a literal backslash or producing
an unmatched-quote parse error.
- Fix the password-manager CLI picker
greying out interpreter scripts (such as
the Homebrew-installed Bitwarden ‘bw’,
which is a Node.js script). Also accept
the symlink target name (e.g. bw.js).
- Improved energy efficiency.
- Fix bell and other user notifications not being
posted when iTerm2 is not hidden behind another
app. Notifications now post whenever iTerm2 is
not the active app or the session’s window is
not frontmost.
- Fix ⌥Y and the Character Viewer inserting
a backslash instead of ¥ on non-JIS
keyboards. Restore ⌥+¥ sending ESC+\
(with Option=Esc+) on JIS keyboards.
- Fix a bug where a restored session whose
working directory was on an unmounted drive
could fail to relaunch, closing the tab. The
session now starts in your home directory and
shows a notice. Issue 12955.
- Fix various crashes.
- Fix wrong terminal size after exiting
fullscreen with multiple tabs.
- Fix tmux window shrink when a pre-tmux
session is buried after attach.
- Fix theme not updating when changed via
the Python API.
- Fix legacy hotkey window profiles
defaulting to 100% width and height.
- Fix NSTextInputClient to use consistent
absolute coordinates.
- Work around a macOS SVG bug that dropped
elements referencing IDs nested in
wrappers inside .
- Fix trigger color wells not prefilling
with the trigger’s actual colors.
- Fix session tab color across appearance
changes.
- Fix GPU renderer not respecting a custom
underline color for non-ASCII text.
- Fix the color space of the block cursor
in Metal.
- Fix wrong session used for GPU frame
capture.
- Fix tmux italic rewriting not being
skipped when TERM matches *tmux*.
- Fix cursor shape being reset to a block
instead of the profile default when
programs use the terminfo Se capability
(e.g. Neovim 0.12+).
- Fix paste bracketing race that could
cause out-of-order chunks.
- Fix posix_spawn failing with “disclaim
children” enabled.
- Fix async_set_profile() failing with
REQUEST_MALFORMED on certain keys.
- Fix tmux close dialog Cancel button not
preventing window close.
- Fix shell integration not working with
Login Shell mode.
- Fix Nerd Font Bundle not persisting
after restart.
- Fix full-bleed drawing of unfilled
Powerline arrow glyphs.
- Fix multipart Kitty image transmission
where independently-encoded padded
chunks did not decode.
- Fix Kitty image transmission rejecting
paths containing /dev/.
- Fix a “not clearing enough of character
images” rendering bug.
- Fix adaptive framerate always overriding
the non-adaptive setting.
- Fix status bar hidden behind the tab bar
in fullscreen.
- Fix clearing a filter in a maximized
pane causing the window to shrink.
- Fix divorced session drag-to-split
losing divorce state.
- Fix a background-tab token execution
hang when tabs were not rescheduled.
- Fix a per-window settings save bug.
- Fix “dynamic” tag being added to dynamic
profiles when unwanted.
- Migrate legacy dynamic profiles that
remained in user defaults.
- Mark navigation now visits marks created
by triggers, not just prompt marks.
- Fix tmux -CC alternate screen not showing
in apps like vim.
- Fix memory leaks.
- Prompt before opening a .iterm2arrangement
file that has been downloaded from the
internet, because arrangements can embed
profiles that run arbitrary commands.
Reported by @naxus-audit.
- Fix “Save Current Window to File with
Contents…” producing a file that had no
contents.
- Add dual-mode SGR colors so programs can
emit different fg/bg colors for light vs
dark mode, keeping scrollback readable
across appearance toggles. Use CSI
38:12:Rl:Gl:Bl:Rd:Gd:Bd m for 24-bit and
CSI 38:13:Nl:Nd m for 256-color (and 48
for backgrounds).
- Extend dual-mode SGR to underline color
via CSI 58:12:Rl:Gl:Bl:Rd:Gd:Bd m and
CSI 58:13:Nl:Nd m.
- Fix tab graphic matching when the
foreground binary is a versioned symlink
target (e.g., claude → 2.1.121) by also
consulting argv0 and the command line,
and by walking up to a non-shell ancestor
when the deepest foreground job has no
icon match.
- Fix the session’s hostname variable
going stale when gethostname() at session
init returned a value (e.g., from a
transient DHCP-provided name) that
differed from the OSC RemoteHost the
shell later sent. Now a host change is
also detected when the new value differs
from the most recently pushed one, not
only from the interval tree’s last-line
host.
- Add an advanced setting (off by default)
to set IT2_APP_PATH on new sessions, so
the “it2” CLI targets this iTerm2 build
via AppleScript when multiple iTerm2
builds are running. Useful for iTerm2
developers.
- Fix memory leaks in the doubly-linked
list backing iTermCache and the Swift
LRUDictionary: every cached entry was
retained forever once the cache was
dropped. Also fix LRU bump leaving a
stale node reference, which corrupted
eviction order after a re-insert.
- Fix paste-history scores using a
different epoch for freshly saved entries
vs. entries loaded from disk, which could
cause inconsistent ordering if score-
based sorting/eviction were used.
- Request the badge authorization option
from UNUserNotificationCenter so the
dock-tile bell-count badge actually
renders and the “Badge application
icon” toggle appears in System
Settings › Notifications › iTerm.
- Hide a top-right status indicator while
the mouse is hovering an inline button
it overlaps, so the button stays
reachable.
- Honor IT2_APP_PATH in the iterm2
Python library’s AppleScript cookie
request, matching the “it2” CLI. Lets
external scripts targeting a -suite
dev build get a cookie from the right
iTerm2 instance instead of whichever
one macOS routes to. Issue 12850.
- Honor IT2_SUITE when checking for
disable-automation-auth in the iterm2
Python library, so external scripts
targeting a -suite instance no longer
silently fail with 401 when stock
iTerm2 has “Always Allow All Apps”
enabled. Issue 12864.
- Add advanced settings to customize
the window border color for focused
and unfocused windows (requires
“Show border around windows” with
no title bar).
- Add a per-profile “Contextual Alternates”
toggle to the font picker’s options menu,
for fonts that expose calt. Lets you keep
calt-based coding ligatures on for one
profile while turning off surprising
substitutions (e.g. Monaspace rendering
[] as a checkbox) on another. Issue 12847.
- Add an Erase All Settings and Data
button in Settings > General >
Settings. It offers to export first,
then erases preferences, profiles,
saved sessions, scripts, and the
contents of ~/.iterm2 and the app
support folder, then quits
immediately. Issue 12852.
- Add keyboard shortcut bindings to
workgroup toolbar items. Navigation
cluster (back, forward, reload) and
the standalone reload toolbar item
each support a per-action shortcut,
with defaults of ctrl-cmd-left,
ctrl-cmd-right, and cmd-R. Shortcuts
take precedence over profile key
bindings and main menu items but
defer to global key bindings.
- Add an optional per-peer shortcut
for jumping to a peer in a workgroup.
Configurable in the workgroup
session settings; when unset, the
built-in opt-shift-cmd-number
fallback still works. Custom peer
shortcuts route through the same
pipeline as workgroup toolbar
shortcuts, so they beat profile
bindings and the main menu but
defer to global key bindings.
- Fix vertical window resize being
silently rejected when the window
sits partly below the screen.
- Coalesce pending re-evaluations of
interpolated strings. Previously,
every dependency change enqueued a
fresh dispatch_async on the main
queue, so a tmux -CC pane title that
changed many times per second could
pile millions of blocks onto the main
queue and exhaust memory. Issue
12857.
- Built-in browser: hide our message
handlers and skip the page-world
Notification, geolocation, console,
and audio bridges inside Cloudflare
Turnstile, hCaptcha, and similar
challenge frames so the captcha
probe sees an unmodified Safari
surface.
- Built-in browser geolocation: stop
silently dropping requests when
permission is not granted; the page
now receives a PERMISSION_DENIED
error instead of hanging. Push the
decision to the calling frame so
navigator.permissions.query reflects
reality, and route success and error
callbacks back to the originating
iframe instead of always the main
frame. Stop persisting system-level
denials (Location Services off, OS
prompt declined) as per-site
decisions; only an explicit Allow
or Block in the per-site dialog is
remembered. The same fix applies to
notification permissions.
- Honor the option-modified “Quit and
Close All Windows” menu item. iTerm2
now samples the option modifier at
quit time and erases saved state when
the user picked the option-modified
menu item, so it actually closes all
windows on the next launch. Issue
12852.
- Clear tab status when a session’s
program terminates (broken pipe or
tmux detach) so stale status text
and indicators no longer linger.
- Fix a stall after large output bursts
when the main thread was reading every
line of the burst to announce it for
VoiceOver. Two changes: the LineBlock
metadata provider no longer allocates
a heap block per inner-loop iteration
(which was churning through the objc
associated-objects table on release),
and the new-output announcement is
capped to the most recent 256 lines so
giant floods stop overwhelming
VoiceOver’s speech queue.
- Fix Session Status toolbelt rows
appearing in arbitrary order when
the toolbelt is first opened. The
initial population now sorts by
priority like every other update
path.
- Add a Diff workgroup session mode
that defers running the configured
command until there are staged or
unstaged changes to show. The Claude
Code workgroup’s Diff peer uses it,
so the peer no longer launches
difftool on a clean tree. Existing
Claude Code workgroups are migrated
on first launch so the Diff peer
picks up the new mode automatically;
flip it back to Regular in Settings
if you prefer the old behavior.
- Add a urlHandlerCommand advanced
setting. When set, clicking a URL
(including OSC 8 hyperlinks and
auto-detected URLs) runs it as a
/bin/sh -c task with the URL in
\(url) and a background-open flag in
\(background), instead of handing the
URL to the system. Its output goes to
the Script Console. Lets you route
links through your own script, e.g. to
open in the background or pick a
browser mode. Empty by default, so
normal URL opening is unchanged.
Issue 12878.
- Script Console no longer jumps to the
top when a new entry arrives. The
script list keeps its scroll position
and selection, and a filtered log view
stays put as new lines come in.
- Fix black, unreadable text in the
Script Console Logs tab in dark mode.
- Session Stats now shows the correct
keyboard shortcut for workgroup peers
that have a custom peer-switch
shortcut configured, instead of always
showing the built-in ⌥⇧⌘ number.
- Jobs toolbelt and the status bar job
popover gain a “Notify on Termination”
right-click option. Monitored jobs show
a bell next to their name, and when the
chosen process exits a modal alert names
the job and process ID.
- The badge no longer hides behind the
clippings panel. It now right-aligns
at the inner edge of the right-gutter
panel area in both the legacy and GPU
renderers.
- AI text-typing tools (send_text in
orchestration mode and
insert_text_at_cursor in
session-bound mode) now accept a
small backslash-escape vocabulary so
the agent can drive control keys.
Recognized: \\ for a literal
backslash, \n, \r, \t, and \uXXXX
(four hex digits) for any Unicode
scalar. Set append_newline to false
for a standalone control key (e.g.
Escape) so iTerm2 doesn’t tack a
newline onto it. Lets the agent
send things
like for Ctrl-D, for
Ctrl-Z, for Ctrl-L, and
for Escape.
- Implement start_session for the
orchestrator. The agent can now
spawn a new window, tab, or
vertical split via the existing
start_session tool. Every spawn
prompts for user approval inline
in the chat, with the placement
and command (if any) shown in the
prompt. Returns the new session’s
synthetic workgroup_id so the
agent can immediately drive the
new session with the other tools.
- Dropping a file onto the AI chat
text field now offers to attach it
when the current backend supports
that file type, instead of always
inserting its path as text. The
choice can be remembered.
- AI chat can now attach images to
OpenAI models (vision), and audio
to OpenAI audio models on the
chat-completions API. Attachment
support is now decided by modality
rather than a per-format allow
list: if a backend can carry an
image, PDF, audio, or video block,
you can attach it, and an
unsupported file is reported by the
model instead of being silently
refused.
- Announcements now become narrower
when the clippings panel is visible
so they no longer overlap it.
- Python API: GetPromptResponse now
has excluded_subranges, listing the
cell regions inside the command
range that the shell marked as
non-input via OSC 133;A;k=s|c|r
(PS2 prefixes, right-prompt cells).
Available on responses to
async_get_last_prompt and
async_get_prompt_by_id. Always
empty on PromptMonitor.PROMPT
notifications — fetch via the RPC
after a COMMAND_END notification
for the populated value.
- OSC 133 aid= now tracks nested
shell-integration sessions: a local
shell that runs ssh into a remote
shell with shell integration (or a
REPL that emits its own A/B/C/D)
no longer confuses iTerm2's mark
bookkeeping when the inner D's
arrive before the outer's. Each
mark carries the aid from its
A/B/C/D markers and a parentAid
pointing at the open mark it
nested under. D;aid=X closes the
matching command instead of the
topmost. If an outer command dies
(ssh tunnel drop, etc.) without
the inner ever closing, the outer
D cascade-closes every still-open
mark whose parentAid chain leads
back to it so no inner mark leaks
as still-running.
- Disable automatic text substitutions
in the AI chat input field, so things
like -- no longer turn into an em
dash and smart quotes, autocorrect,
and text replacements stay off.
- Fix a bug where installing the Claude
Code integration added its workgroup
triggers to the settings UI but never
wrote them back to user defaults, so
they vanished on the next launch.
Uninstalling had the mirror bug. Both
now flush the profile model to disk.
- The default AI timeout is now 5 minutes
instead of 30 seconds, giving slow
models and long responses more time to
complete before giving up.
- AI orchestration: opening a new session
with no command no longer prompts for
permission. When the agent supplies a
command, the auto-mode safety check
vets it and approves automatically if
it passes, only prompting otherwise.
- The Claude Code integration setup
wizard is easier to navigate. Show
Toolbelt can now be skipped, the
default button reflects whether each
step is already done (Install when it
is not, Next/Close when it is), and
the Before You Start sheet has an
always-visible link to a web page
explaining the whole integration.
- The orchestrator can now
watch sessions that report no
status (plain TUIs, coding agents
that don't emit status, bare
shells). register_watch falls back
to reading the screen with a quiet
background AI poller and delivers
the usual status_update when the
target state is reached, instead of
noisily polling in the chat. It
gives up after five minutes with a
watch_timed_out update.
- The orchestrator's watchers
can now watch for a plain-English
condition (e.g. “emacs has exited”),
judged by reading the screen, in
addition to idle/working/waiting
states. Sessions also report whether
their status is announced by the
program or merely inferred, so the
agent picks the reliable watch form
instead of misreading a splash
screen as “idle”.
- An orchestrator watcher waiting on a
session's reported status no longer
hangs forever if that status gets
stuck. After five minutes without the
expected change it falls back to
reading the screen to confirm the
real state.
- Workgroup code-review/diff sessions no
longer hang on “waiting for changes” in
a checkout full of untracked files. The
per-file diff list now excludes
untracked files, so git rename detection
no longer hashes every untracked file in
the tree and the poll finishes within
the git timeout.
- The Workgroups settings pane has a
help button in the bottom-right
corner that opens the Workgroups
documentation.
- Next/Previous Pane (cmd-[ and cmd-])
work again after using Session >
Restart Session on a maximized pane.
Restart gives the session a new GUID,
and the maximized reading-order list
was keyed by GUID, so it could no
longer find the restarted pane. The
order now tracks panes in a way that
survives a restart and other in-place
session swaps.
- Fix a bug where Fold All and Clear
Buffer left inline views (such as
imgcat images) behind. Folded views
are now hidden and restored on
unfold.
- Fix a bug where the Jobs toolbelt was
empty after restoring a session until
the next job or shell prompt. Restored
sessions now populate it immediately.
- The Session Status toolbelt tool has a
bell toggle in its bottom-left corner.
When armed, the next time any session’s
status (waiting/idle/busy) changes it
shows an alert and turns itself back
off. A brief flicker that returns to
the original status does not count.
Window > Notify on Status Change
(shift-cmd-X) toggles the same thing
from the menu.
- The Cockpit window now shows each
session’s detail string under its
name when grouping by status.
- The Cockpit window has a bell button
that arms notify-on-status-change for
the selected window or session, and
rows show a bell when armed. The
per-window watch is shared with the
Window menu and the Session Status
tool; per-session watches are new.
Notify-on-status-change now works
whether or not the Session Status
toolbelt tool is open.
- Killing or re claude in a Claude
Code workgroup peer (such as the Code
Review or Diff peer) no longer exits the
whole workgroup. The Exit Workgroup
trigger has a new leader-only option, set
by the Claude Code installer, so only the
main session's claude ending tears the
workgroup down. Existing setups are
upgraded automatically.
- Job Ended triggers now fire reliably
when a foreground job exits, including
when it exits together with the
session. Job started/ended detection is
now event driven (from the process
monitor) rather than inferred from the
periodic title poll, which could miss a
job's termination.
- The notify-on-status-change alert has a
Reveal button that jumps to the session
whose status changed. A window watch
now covers every session in the window,
including ones created after it was
armed.
- Workgroups are now tracked by a stable
identifier, so a workgroup whose main
session had already closed can still
be exited and torn down instead of
leaking and stranding its remaining
sessions invisibly.
- Session lookup now also searches
buried sessions' workgroup peer ports
and the workgroup registry, so a peer
whose only visible sibling was buried
can still be found and revealed, e.g.
from the Session Status tool.
- A Session Status row whose session
cannot be found renders blank instead
of showing a recycled row's content.
- Switching between workgroup peers no
longer wipes a session's entry from
the Session Status tool. The per-tab
status rollup was borrowing the
session's identity and clearing it
when the visible peer changed.
- Sort JSON keys in the Responses API
request so OpenAI prompt caching gets
a stable prefix and reliably hits the
cache.
- Terminal-initiated downloads (it2dl)
now ask whether to save to the
Downloads folder or to choose a
destination. The choice is
silenceable, so you can make it
always save to Downloads or always
show a save panel. Issue 12897.
- Settings > Keys > “Force keyboard” gains
an option to only force the keyboard
locale once per session, the first time
a newly created terminal receives
keyboard focus, instead of forcing it
continuously. Restored sessions are not
affected.
- Fix a bug where a pane could restore
in your home directory instead of its
previous working directory after
restarting iTerm2. Sessions that used
automatic profile switching saved a
value that could not be read back,
which silently dropped the rest of
the restored session state.
- OSC 9;4 progress bars now draw over
the profile's background color
instead of a fixed black or white
background, so they blend with your
theme. Issue 12916.
- Fix OSC 8 file:// hyperlinks whose
path mixes percent-encoding with raw
non-ASCII characters (such as
ripgrep's --hyperlink-format=file
output) opening the wrong file. The
percent signs were being double-
encoded on macOS 14 and later. Issue
12914.
- Fix a bug where a dashed underline on
screen, with ligatures enabled, could
make box-drawing lines (such as a TUI
input box) render dashed instead of
solid. Issue 12907.
- In the Minimal theme, when panes in a
tab have two or more different tab
colors, each pane's title bar is now
tinted with its own tab color so you
can tell them apart. When the panes
share one color (or none) the title
bar keeps blending with the terminal
background as before. Issue 12903.
- Fix dead-key composition (such as US
International apostrophe then e) losing
its accent under the Kitty keyboard
protocol when both “report all keys as
escape codes” and “report associated
text” are enabled. Issue 12906.
- AI Chat messages now use a narrower,
more readable layout with clearer
command and error formatting.
- AI Chat permission prompts now show
proposed commands in code blocks.
- AI Chat command output now renders
as rounded Markdown code blocks.
- AI Chat terminal-command transcripts
now render captured output as rounded
code blocks.
- AI Chat's floating toolbar now omits
the chat title and resizes when model
controls appear or disappear.
- AI Chat can select model-supported
reasoning effort and OpenAI service
tier from the chat toolbar.
- AI Chat now hides reasoning effort
and OpenAI service tier choices for
models that do not declare support
for them.
- AI Chat can hide and show its chat
list without reopening the window.
- AI Chat's chat-list toggle now stays
at the top of the chat area when a
window is first restored.
- AI Chat history entries can now be
selected in groups and deleted with a
single confirmation.
- AI Chat history entries can now be
renamed from the chat list.
- AI Chat no longer sends unsupported
low reasoning effort to OpenAI Pro
models.
- AI Chat now reloads past tool runs as
transcript text, preventing OpenAI
reasoning models from rejecting old
function calls after a chat is
reopened.
- AI Chat now closes OpenAI Responses
tool calls with an explicit tool
output on local tool failures, which
prevents follow-up turns from failing
with missing function output errors.
- AI Chat no longer crashes while opening
if the toolbar refreshes before the chat
view is loaded.
- AI Chat now keeps API keys separate per
provider, so Claude is not sent a key
saved for another AI service.
- AI Chat no longer asks for an API key
when the active provider already has
one saved in Keychain.
- AI Chat now checks saved API keys
before showing plugin setup warnings.
- AI Chat now sends Gemini-compatible
function schemas for tool arguments
that accept multiple JSON types.
- AI Chat now renders orchestration
session command tool calls as command
blocks instead of exposing raw session
GUIDs and JSON arguments.
- AI Chat now lets new chats choose their
AI provider from the chat toolbar, while
keeping the provider fixed after the
conversation starts.
- AI Chat's provider picker now includes
local Llama models and a manual model
configuration option when configured.
- AI Chat can now manage multiple manual
AI model configurations and select them
from the chat model picker.
- A manual AI model now takes precedence
over a built-in model with the same
name, so you can proxy a known model
through a custom URL by reusing its
name.
- Manual AI models now have a “Supports
temperature” checkbox, set from the
preset, so a manual model cloned from
Anthropic Opus 4.7+ no longer sends a
temperature the API rejects. Existing
manual models inherit this from the
matching built-in. The OpenAI and
DeepSeek request paths now honor this
setting too, not just Anthropic.
- Manual AI models now have a
“Configurable thinking” checkbox, set
from the preset, so a manual reasoning
model (such as a GPT-5 or DeepSeek model
behind a proxy) keeps its thinking
toggle. Same-named clones also inherit
the built-in’s reasoning-effort and
service-tier choices.
- Manual AI model settings now show saved
models in a list instead of a pop-up
menu.
- AI Chat now locks the provider picker
immediately after a conversation starts.
- AI Chat now locks the model picker
immediately after a conversation starts.
- AI Chat now shows orchestration terminal
command results as raw code blocks and
keeps session GUIDs out of user-facing
tool summaries.
- AI settings now choose the default
model for new chats from one selector,
including saved manual AI models.
- You can now designate a manual AI model
as the “economy” model (leaf toggle in
Manual AI Models). It is used for cheap
background jobs like command-safety
checks and screen-idle detection instead
of your main model.
- Fixed a crash when using Undo after
closing a split pane that contained a
command composer.
- Closing the inline AI chat panel now
returns keyboard focus to the terminal.
- Companion relay connections now retry
with capped backoff after failures,
instead of reconnecting (and, during
pairing, regenerating the QR code) many
times per second when the relay is
unreachable, for example due to a bad
TLS certificate. Connection errors
during pairing are now shown in the
pairing window.
- Companion pairing connection failures
now report the underlying error (for
example the TLS or HTTP problem)
instead of an unhelpful generic
PluginError message.
- The Claude Code integration's session status
now stays “working” while background agents
or background tasks are still running, so
AI chat watchers no longer fire on the idle
lulls between subagent phases. Requires
Claude Code 2.1.198 or later.
- AI orchestration: workgroups and sessions in
the agent's snapshot now carry provenance,
such as which trigger entered a workgroup
and which chat's agent created a session,
so an agent is not confused by workgroups
that other windows or chats created.
- AI orchestration: session snapshots, screen
contents, and watcher status updates now
report how long ago the screen last
changed, so agents can tell stale content
from fresh activity.
- The AI chat wire log now redacts API keys
(in request headers, URLs, and bodies),
keeping only a short fingerprint.
- Chats can now be muted from the iTerm2
Buddy app. A muted chat sends no push
notifications to the phone, even for
permission requests, until it is
unmuted. The muted set is remembered
on the Mac so it applies even while
the phone is unreachable.
- AI chats reopened after a restart now
replay their tool-call history to the
model faithfully. Reasoning state
(OpenAI encrypted reasoning, Gemini
thought signatures) is saved with the
chat and replayed, so reasoning models
no longer reject reopened chats or
invent fake tool results. Chats from
older versions keep working through a
compatibility path.
- A chat is now locked to the AI
provider it started with, enforced in
the model layer as well as the UI.
Messages sent from the iTerm2 Buddy
app now run on the chat's own model
instead of the global default.
- The iTerm2 companion relay servers moved
to new addresses. If you paired an iPhone
on an earlier build, pair it again so it
keeps working.
- AI orchestration: commands the agent runs in
a session now go through the same automatic
safety check as regular AI chat, instead of
running once a session is approved. This
covers both execute_command and commands the
agent types at a shell prompt and submits.
Risky commands are held for your approval
rather than run automatically.
- AI orchestration: keystrokes the agent sends
into a full-screen program (vim, less, htop,
a coding agent, etc.) are now safety-checked
too. The AI reads the current screen and the
conversation to judge whether the keystroke
is safe given what you asked for, and holds
anything dangerous or unrequested for your
approval.
- AI orchestration: the automatic command
safety check no longer hard-blocks anything.
Refusing a command outright could dead-end a
task you asked for (like deleting a directory
you had just created). Instead the AI now
judges each command against what you asked
for, and a scary-but-legitimate one is held
for one-tap approval rather than refused.
Deleting a subdirectory you requested just
runs; only a real root or home wipe, or a
suspicious command, stops to ask first.
- Companion: a paired device that still worked
no longer nags you to re-pair on every launch
after installing a new version.
- Companion: when the relay hits its daily
data limit, the Mac now shows “Daily relay
data limit reached” in Companion settings
and backs off instead of retrying in a
tight loop until the limit resets.
- Companion: push notifications to a paired
iPhone are now coalesced and more accurate.
A burst of agent activity no longer sends a
wakeup for each step, and the generic “Your
agent has an update.” placeholder is gone
for ordinary replies. A permission request
that blocks the agent now shows what it
needs and plays a sound instead of a silent
placeholder, while the agent’s own automatic
tool calls stay quiet.
- The it2 command-line tool now works on hosts
you reach through SSH integration. Its API
requests are routed back to your local iTerm2
over the conductor and run there, gated by a
per-session permission prompt naming the host.
it2 is installed automatically wherever shell
integration loads. Shell > SSH > “Remote host
can control iTerm2” toggles this permission for
the current connection and shows a checkmark
while it is granted.
- Session-bound AI chats can now read the
visible screen on request with the same
get_screen_contents tool the orchestrator
uses, gated by the “View Contents”
permission. In a full-screen app it returns
just the current screen, with no scrollback.
- AI chats linked to only a web browser now
use a browser-appropriate system prompt
instead of one that described a terminal
they were not attached to.
- Workgroups: re a diff session now
re-runs the command matching the file
picker’s current selection. Previously, if
the file you were viewing stopped having
changes and the picker snapped back to “All
Files”, reload would rerun the old per-file
diff, find nothing, and exit immediately,
closing the session.
- The built-in web browser now prompts for a
user name and password when a site returns
an HTTP authentication challenge (Basic,
Digest, or NTLM) instead of failing to load.
- The keychain permission prompt that appeared
after upgrading, for AI API keys and for a
paired companion device, no longer recurs on
every update. Those secrets now live in an
entitlement-scoped keychain group that stays
readable across signed builds. Upgrading to
this version prompts once more to move them.
- The Companion Device Settings window now
shows the paired device’s relay room name
in hex, so you can match it against the
phone and the relay logs when reporting a
problem.
- Companion pairing moved to the new sharded
relay resolver. Older iPhone apps can no
longer pair and are told to update. A
pairing made before the move must be made
again.
- Fixed a bug where flag emoji (such as a
country flag) rendered as blank cells or
flickered under the GPU renderer. The two
regional indicators that make up a flag are
now shaped together, matching the non-GPU
renderer.
- Debug logging now caps memory use at about
200MB (discarding the oldest entries when it
grows past that) and no longer freezes the
app while saving the log when you turn it
off.
- Companion: if you never paired a device,
iTerm2 no longer touches the companion
keychain items at launch. This stops a
spurious keychain permission prompt for
people who alternate differently-signed
builds (such as a released build and one
built from source).
- A saved status bar layout whose RPC-provided
text component is missing its registration
request is now dropped instead of showing up
as a blank “ghost” cell.
- Fix a memory corruption bug that could crash
iTerm2 intermittently, most often when
closing a tmux window caused surviving
sessions to resize while output was still
streaming. Lazily cached line-wrapping info
could be written into scrollback storage
shared with another thread. Issue 12941.
- Reduced redundant preference reads on hot
paths (margins, dimming, and per-pane
background image). Idle windows no longer
read these settings thousands of times per
second, which quiets excessive CoreFoundation
logging and saves a little CPU.
- Fixed modified keys such as Ctrl-J and
Shift-Enter not reaching some apps (for
example Codex) running under tmux
integration (tmux -CC). iTerm2 now hands
these keys to tmux by name so tmux encodes
them just as it does outside control mode,
honoring its extended-keys-format.
- Fixed a three-finger drag over a mouse-
reporting app (such as tmux with mouse
mode on, or vim with mouse=a) producing
both an iTerm2 selection and the app's own
selection at once. Three-finger drags are
now forwarded to the app like one-finger
drags when mouse reporting is active, so
the app owns the selection. Hold Option
during the drag to make a local iTerm2
selection instead. Issues 12953 and 12950.
- Added a Copy URL context menu item that
copies the URL under the cursor, stitching
wrapped URLs back together so you can paste
a clean link into a browser other than your
default. Issue 12944.
- Fix VoiceOver QuickNav navigation not
engaging after interacting with the
terminal, which previously required
toggling QuickNav off and on.
- Fix VoiceOver reading stale terminal
text when the screen was cleared and
new output arrived while interacting.
- Fix VoiceOver focus jumping to the top
of the terminal when new output
arrived, and make new output reachable
without re-interacting.
- Web links handed to iTerm2 by the system
(for example when it’s your default
browser, or via “open -a iTerm2 ”)
now open in the built-in web browser
instead of a terminal, unless you’ve
bound the scheme to a specific profile.
Issue 12431.
- Fixed the iPhone companion connection
getting stuck after the relay dropped an
idle socket. A keepalive ping that never
got a reply could hang forever, so the Mac
kept believing it was connected and never
reconnected. The ping now times out and
forces a reconnect.
- AI chats that control or coordinate your
terminal sessions now use far fewer tokens
on long conversations. The live snapshot of
session state sent each turn is no longer
part of the cached prompt prefix, so the
conversation history is reused from cache
instead of being reprocessed every turn.
- Fixed a bug where a tab reshaped by the
Python API’s apply_layout could end up with
no focused pane, so typing went nowhere until
you clicked a pane. Focus is now restored
after the layout is applied.
- AI chat history is now replayed to the model
from the exact bytes previously sent rather
than rebuilt each turn, so the prompt cache
stays valid across turns (including turns
that ran a tool) and long conversations keep
getting cheaper and faster.
- Sending a message in a long AI chat is now
faster: when the whole history is already
stored as sent-bytes, it is no longer
reprocessed to build each request, so the
per-message work stays small no matter how
long the conversation gets.
- Fix “Save contents…” suggesting a
filename containing colons/slashes in
the timestamp, which macOS shows as “/”
and disallows. Issue 12931.
- The command info popover’s “Started at”
time now honors the system 24-Hour Time
setting instead of always using a
12-hour clock. Issue 12929.
- A new advanced setting,
CompactTabBarStoplightButtonsWidth, lets
you adjust the width reserved for the
window buttons before the inline tab bar
in the Compact and Minimal themes.
- Fixed a bug where Undo Close (⌘Z) could
leave behind an invisible empty window when
the closed session could not be restored.
Besides being a leak, these phantom windows
crashed Python API scripts with a
RecursionError. Empty windows are now closed,
and the Python API no longer reports a
selected tab for a window that has none.
- Fixed a bug where a Python API script
launched from the Scripts menu of a
secondary iTerm2 instance (one started with
-suite) connected to the main instance's API
server instead of its own, controlling the
wrong app.
- Fixed a bug where Make Screenshot did not
render ASCII ligatures (like -> or =>) even
when the profile enabled them and the font
supported them. Screenshots now ligate the
same way the terminal does.
- Fixed a bug where tmux panes received stray
focus-report escape sequences on focus
changes even when no program in the pane had
turned on focus reporting. Reports now go
only to panes whose app requested them (by
emitting DECSET 1004), matching how non-tmux
sessions behave.
- Fixed Semantic History (Cmd-Click) failing
to open files in JetBrains IDEs such as
IntelliJ IDEA, WebStorm, and Rider. iTerm2
now runs the IDE’s command-line launcher
directly (forwarding to the already-running
instance) and passes the path before the
--line option, which the current launcher
requires. Issue 12958.
- Fixed a bug where the OSC 9;4 progress
bar was hidden by the border around the
active pane. The bar now draws on top of
the border's top edge. Issue 12960.
- Fixed a bug where some profile settings
that apply to all profile types (such as
“Border around active pane”, “Use custom
tab color”, and Color Presets) could not
be found with the preferences search box
while editing a profile.
- Added iTerm2 > Suppressed Alerts, which lists
warnings that are being answered automatically
because you chose to remember your response
(for example, declining terminal-initiated
image display, which silently stops inline
images from appearing). You can select an
alert and un-suppress it so it will be shown
again. The old View > Always Show Alerts with
Remembered Selections command now lives in
this panel as a checkbox.
- Scripts > Manage can install and update
the uv-based Python runtime when the uv
advanced setting is enabled.
- On macOS 27, which removes Rosetta, no
longer prompt to install Rosetta for
Python scripts, and rebuild or replace
Intel-only Python environments for
Apple Silicon instead of failing.
- Fix a full-environment Python script run
from Open Quickly (or before its
environment finished installing) launching
on the shared runtime and failing to
import its own dependencies.
- Fix the Script Dependency Editor showing
[Error] for a package’s installed version
when its dependency has a version
constraint (e.g. aiohttp>=3.14.3).
- The Script Dependency Editor can now
change a uv script’s Python version to any
version uv provides, rebuilding its
environment, not just the installed one.
- A failed Python version change (e.g. to a
version where a pinned dependency has no
wheel) no longer destroys a uv script’s
working environment; the new one is built
aside and swapped in only if it succeeds.
- Replacing an installed script during import
no longer deletes the existing script if you
cancel the Python download; the original is
kept and the cancellation is reported.
- uv runtime updates no longer fail on slow
connections (the download is no longer capped
at a fixed total time).
- Legacy scripts whose setup.cfg has no exact
Python pin now get the same version-change
warning as pinned ones when migrating to uv.
- On macOS without Rosetta, iTerm2 now asks
before replacing an Intel-only Python runtime
with the Apple Silicon build, and stays quiet
if you decline.
- A script whose replacement is interrupted by
a crash mid-install is now restored on the
next launch instead of being lost.
- The Scripts menu no longer lists files or
folders whose names begin with a dot.
- Migrating a script to the new Python runtime
no longer runs Intel Python interpreters
found on your PATH, which could trigger a
macOS “Intel-only binary” warning.
- When a keyboard shortcut stops matching
because your input method changed the
character a key produces, iTerm2 now offers
to interpret key bindings by physical key.
- Fixed a bug where decomposed Hangul, such
as Korean filenames stored by HFS+, was
drawn as separate jamo letters with the
wrong width, which corrupted cursor
movement. Conjoining jamo now compose
into a single syllable cell.
- OSC 9;4;4, the ConEmu progress protocol’s
d state, now works when the percentage
is left out, which the protocol allows. The
bar keeps the percentage it was showing and
changes color instead of doing nothing. If
there was none, it shows a small one so the
d state is visible.
- Advanced Paste with bracketed paste on but
“Wait for shell prompt” off now pastes a
multi-line block as one editable buffer on
zsh, bash, and fish, so you can review it and
press Return once, instead of running each
line as it arrives.
- When a paste is d waiting for a shell
prompt, the paste indicator now has a keyboard
button that sends your typing straight to the
terminal instead of queueing it, so you can
answer a prompt the paste is stuck on (such as
a password or zsh’s spelling correction).
- Exiting a workgroup, or closing one of its
tabs, no longer leaves the main session’s tab
showing a blank pane when a non-main peer was
the visible one.
- Fixed a workgroup whose tab (or split) hosts
its own peer group coming up with no toolbar
and no peer switcher.
- Workgroup peers nested inside a tab or split
now inherit their profile and directory from
the session the workgroup was opened on, so a
workgroup opened on a remote host keeps every
peer on that host.
- Closing a workgroup session that would exit the
whole workgroup now warns you that its other
sessions will close too, naming the workgroup
and how many more sessions will end.
- Tab groups can be collapsed: click a group's
chip (or use its menu) to hide its tabs behind
the chip, which shows a member count. Selecting
a hidden tab reveals the group. Collapsed state
persists across restarts.
- Collapsing and expanding a tab group now
animates: the member tabs slide shut and open.
Works on horizontal and vertical tab bars in
every theme.
- Dropping a file on a local terminal no longer
offers to upload it when the machine answers to
more than one name (for example .local versus a
DHCP-assigned name). Localhost is now recognized
by any of the machine's names.
- Fixed a bug on macOS 26 (Tahoe) where the tab
bar's overflow menu left out the first hidden
tab, so clicking the chevron with a single
overflowed tab opened an empty menu.
- Refreshed the built-in AI model list: added
Claude Sonnet 5, GPT-5.6 (Sol/Terra/Luna),
and Gemini 3.7/3.6 Flash and 3.5/3.1
Flash-Lite. Removed retired Claude Opus
4.1 and older Gemini models.
- AI Settings can now automatically update the
built-in model list from iterm2.com (off by
default), with an Update Now button to check
on demand.
- In orchestration chats, a session reference
the AI writes without a leading @ now still
renders as a clickable session link.
- Fixed a bug where the Keys > General tab in
the Edit Session window could appear empty
for a terminal session after editing a
browser session, because previously hidden
controls were not restored.
- Fixed the color of the locale description in
Settings > Profiles > Terminal so it adapts
correctly when switching between light and
dark mode.
- Fixed a white rectangle that appeared to the
right of a collapsed tab group in the Minimal
theme when the group was the rightmost item
in the tab bar.
- The Shell > Workgroups menu now shows a
checkmark next to the workgroup the current
session belongs to.
- Fixed a crash that could occur when doing a
global search that included a browser session.
- Fixed a bug where the top-right session
indicators left a horizontal smear while
swiping between tabs with two fingers.
- Fixed a bug where an SGR sequence or SGR
trigger with more parameters than fit
attached the extra parameters’
subparameters to the last parameter that
did fit, changing its meaning: underline
could turn into dashed underline. SGR
triggers also silently dropped their 16th
parameter.
- Fixed a bug where toolbelt lists
(Command History, Recent Directories,
Captured Output) could stay blank until
the window was resized when a new window
was opened with the toolbelt showing.
- Fixed a bug where modified function keys (such
as Shift-F5) lost their modifier in a tmux
integration session, sending the unmodified
sequence instead of the xterm form like
^[[15;2~.
- Fixed a bug where a sixel image whose
terminator had a doubled escape (ESC ESC \
instead of ESC \) was discarded entirely,
leaving a stray backslash on the screen. The
image now renders.
- Fixed a bug where a left- or right-of-screen
window could suddenly change width (growing or
shrinking to a second tab’s profile size) after
a display-configuration change, instead of
keeping its own width.
- Fixed AI chat failing on OpenAI models with an
error about an invalid tool schema. Also fixed
a crash while parsing AI responses that
contained a null value inside an array.
- Fixed a bug where, on OpenAI models, the second
and later messages in an orchestration or
terminal-linked AI chat were ignored: the model
received only the terminal/workgroups context
and replied as if you had said nothing.
- Fix Cmd+G skipping matches sometimes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
14b5131e9134d0012466574fba6d69fb9ef84eee66660ee861e2da483089574a
-----BEGIN PGP SIGNATURE-----
iQJPBAEBCAA5FiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmqgczEbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzAAoJECYs/l55Gr4bjDoP/1+lPhE6sx1ncoztt1Wo
sGt4+nevX3AGWCzsPbmEwZv3mWf6FTuceL1TQQnTSdHDaAIVZj76dJ/b0vc++LGe
G/CLvuFJf/2O3Uv+EOwNgKZwKPOYFUFU/1SZuekBBtkryhSIa2zBaMLKGurEc3Qq
sPOZgbPqwf/lJSsGAO2kwISvr7t0rHIODJdbSrY5iT2nxUSNvrHsmU8b1aOARqiC
i1cEOI7WJ71Mj0kFJfENqzdD05Se8c1p5TeItqAp/M8lcbsqgGE7QCSmkfKEQ8xo
PXQD+Rmm9qMzFA4HESET/1uTUTpPDMU5frs41wvEvW9/N987NqFxEb58hLlAFcFh
KcxHdmBN0JY0/WsuJGHOCp1MMyxtaY7XjmPXdY3PeYznquWyzPbcpirQ39+nh/nU
rKFEhscH0hd22ZviQ7Pr7jMUcroY77XkVjpwe2arhQFdtUVHXm+8EangQ0A0p6CZ
yN73j9855BkkE0eMJhclFiBhs4yIeheo2QZWuRpv/r6uTMIh4jUo3VnagYMWQFUn
NmtVfsxURz79LZYGiRxSxZCgyofCgJZnhe7LtYaEAcHO21rwxaTGDMfntDZ755Gk
x1YvAXaF4Qnf9eCqBY9eBvqWtE3NVDJ6r8kPnr7bTd4iVpEr6PRgz30H/O7bAp13
IhlPg8odUC1HZSI/STyAgc4i
=GjPY
-----END PGP SIGNATURE-----
Older Stable Releases
iTerm2 3.6.11 (macOS 12.4+)
This is the recommended build for most users. Built on June 2, 2026.
[▾ Hide Changelog](<javascript:hideId('4091589368709200566')>)
Version 3.6.11 was built on June 2, 2026
- Fix a number of bugs that caused crashes.
- Update AI models.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
36e78c5049560eaa8e122224f6652eb4b229c61cd5e7332d6d25b5c36f7398e7
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmofOroACgkQJiz+Xnka
vhtfbA//bMypr0WCAmB+nPDl9pG7tYn+UdmBeEtrPs8AgvrL8gRW/3vSs5+b0z/L
ihcGDSSUujSr6gZh92xmszoV7NRHj4Ko/b0eRH5V6/helzpGBBCiSBIn9TwqLVMv
vRinEbm7INmeIl80BHR+SdGhQayhjA5+2391dk/Fkn3l5gFCXpSXUiuTM2EYSG5l
d+e+nHhyFBj57Ru334JNUciuY4xwaJS4vTwaeIAYiPEN1ZjMGAg0GYuRF7yMUF2o
a+4vknznOY+gAhQBB++P6o9EBd+rAmv9cKuGafAfnajgYAFir+FJYSuRVKmn6Zb2
JgLUoWhDVWg+YKkIH8AA54ICah62jqQ5+q7GGiTTfTkqsfWAandWgJ8XHwJSXJTL
8mVzoW5w6JfZZ+rAqphSZ1z4n5ioPOArqJF6ZhFXJTOHL9/2e9mK8ELZ8bWtVa+g
BEOwW/KWtoHD/hg2USDsCQRRPCyao4klp9EWMXq9hQYDxLYD2kT/jKMT9fQVYB+F
tkAtr+S1dHNimg9OefqEQG3tofFSlenwenHEgwcf7z7SK3e69uA1IoS67qKdN2fh
4v2XIB6DC3ni/2mTAUGuxaZBy6Wsr6Diqagt3hwa7QKlyUVuKca7TM6EFwU5w3kl
z74/jazxyNutYRrJlSc3ckA+JQRlKrAWgfjFs7wOXEeHAX8S5Rc=
=fEx0
-----END PGP SIGNATURE-----
iTerm2 3.6.10 (macOS 12.4+)
This is the recommended build for most users. Built on April 20, 2026.
[▾ Hide Changelog](<javascript:hideId('5912208836655696377')>)
Version 3.6.10 was built on April 20, 2026.
Security:
- Harden SSH integration against
hypothetical in-band signaling abuse in
the conductor handshake and it2ssh
shutdown sequence.
New Features:
- Added support for Bitwarden as a password
manager.
- Added support for Keeper Security as a
password manager.
Bug Fixes:
- Fix a crash in the password manager when
copying a password.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
f62ce1cb28ac85a99b17447bebebbc2b2e4f6dd59ad7d64a612e39e07ce223ca
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmnmsZsACgkQJiz+Xnka
vhuUOQ/+L4p5JPvBIssuvsxogptcRF8Fw+A7GWysEfZhDfJGUVXxnCQKmW4ge7Rv
yu0s7UMB4+2Aj7L1bxumHxlAVoYc0CynBrd6BPaNyAPz6zenL2X+fzwPoHxP1yKN
XOWVl6w1A0GULTG3SEQKf6QKddZxy9eCzaVz19hZJpzwLMm3PNrrz8eXxBwDemCN
zpRIb7CITNIINuzAUdhFRPMuWYPaNmlTBj6UlKhiQh51fiV70DcXdFfZ1oZUtDOe
hCrzwGW6EzhGoHhng/FFSiCRvrPdka9MtFEYqTh9Nu8HqS43jTPXXj3P3pdAErue
6JwYEnvgqKuIwr/0tAkRK/rt6KqdWLe/TBKaNm72qvhubN5cF4kQetqMGWgA6/Vu
aTg1T0tLG8S2yf4pQpS9KurNC5JhWshUkJbyP4CY1iSDB8NyVzuGxNCaf5ymMByw
Pkk/Lyo5/KChr9dyv2F8NaYMZhJbOvhxaqQT8WhqZa2gChqMiDCGiuna+orUHQ5D
x3FR3udUgS1Y4NaEHCYDZGxQ3k+nmGBSnaICG3sOO0AVBMUqdO99GLFzlL7/4Bm/
hsBmPq1W7U7TNLlR8xnzvKfI4Oh/QeHTzEOqqoserSl5Ya1gELkzAhdLlzrk5w8q
eQfX7vFIP0aJj9ESFYVYgylVcBgwC3PU4Pfg4ib+o3wVqrHbVis=
=05HQ
-----END PGP SIGNATURE-----
iTerm2 3.6.9 (macOS 12.4+)
This is the recommended build for most users. Built on March 10, 2026.
[▾ Hide Changelog](<javascript:hideId('2778908285278049544')>)
Version 3.6.9 was built on March 10, 2026.
Bug Fixes:
- Fix a number of crashes.
- Fix rendering of Powerline chevron characters.
- Fix a bug where background colors were sometimes
incorrect.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
27c00f476978c0a243144a0e03f01345facd0812ce4112fabaa54168c050b19e
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmwgTUACgkQJiz+Xnka
vhtgLQ/+JHBTQSXs863hFGPpvohNy+fxpnI8XDOnX/cY+2KQYtXiAmjN8qWxy19R
gOVDZ/XEzmcm1SeqbTzpaYrDBOQA6dbJx4Mj+HtCoPIEmJwDRcMH+dFL/uEWZY0J
bxBfum6RU9uTLqgr9MsIcBI7Z5M8wFRyELK4NGONM9luGFK/jXkKMLdDb+EWFM6E
ofn1ElAzUohOHSc1Hc76IadD0Er4hEvaS48O+Q+5SerKwN+AOxAnWe8TqNwMS+1s
NbKpYSmoVTvrvY22V9y5ufIYJl9FvDBsz1B6V3tjJfm+bf5EGHuDjCg9v28Q1K42
fosA8DSAsPFC+EEtggbeQVdQOxsX1ArBsAWFjvw4oBccQnaNE+JUrKb4a8htS6an
O5nX9U+CKUO4REsaAJyHSoSYWvY73ebM9w4bmGhOcqakd+08VPK3NTki3aj33u5g
U7K1l5hieuWzs6XrWFPyFrA9TFoL7b6R7adP4nefEpiVczo3EhZ9LF3EV8KXXIHw
+3f/NbEf9i0k9sAhRLN0QBHl6xpdrD5rn21E4KRIzHXO6WH5fVU1J+/3dWmT2HLK
DW0S4SGfouUAV2eHiGpa15tN9EAboJ6+JvNt7nx/j/Ui2hHV3e3Nlh2qaZHq4N+O
oDUJIODp9hvye4CH5X9ApMh2niJ1RpOldZ2+yUvmek+H+RoG8vs=
=Glxq
-----END PGP SIGNATURE-----
iTerm2 3.6.8 (macOS 12.4+)
This is the recommended build for most users. Built on February 26, 2026.
[▾ Hide Changelog](<javascript:hideId('7224889920086847273')>)
Version 3.6.8 was built on February 26, 2026.
Note that 3.6.7 was a short-lived release. Its
release notes can be found below.
Bug fixes:
- Fix a crash during app update.
- Fix a bug where the status bar was not visible
in full screen.
Release notes for version 3.6.7 follow:
Version 3.6.7 was built on February 19, 2026.
New Features:
- There is a new window style of "Centered".
- You can now switch 1password accounts in the
password manager using the ... menu next to the
search field.
- Added profile settings to disable and configure
progress bars.
- Added support for macOS "text replacements".
- Added session archiving. You can manually or
automatically archive a session, which writes
a full-fidelity copy of it to disk.
- OSC 8 hyperlinks can take a target= parameter to
cause them to reuse an in-app browser.
Example:
OSC 8;target=example;https://example.com/ ST
- Added a new trigger type, Buffer Input, which
you can use to defer sending keyboard input (for
example, while waiting for a program to launch).
Improvements:
- AI models updated.
- Web browser can now list directories with
file:/// urls.
- Status bar search component is now
color-configurable.
- Visual improvements to tab bar.
- Put snippets before folders in toolbelt and
don't add top level snippets that have a folder.
- Add browser setting for where terminal links
should open.
- Use default colors rather than current SGR color
when scrolling lines into view.
- The SSH file panels now pick up favorites on
Tahoe from Finder properly.
- Various small improvements to the Jobs status bar
component.
- Cmd-shift-click on OSC 8 URL opens it in a split
pane.
- Visual improvements to some status bar
components.
- Improve performance when timestamps are visible.
- Visual improvements for timestamps.
- Added many new natively rendered characters.
- Added support for dotted and dashed underline
styles.
- Improve behavior of certain items in the context
menu for very narrow windows.
- Natively rendered code gets a more legible
comment color.
- Improved file type detection for native
rendering of text (e.g., imgcat foo.yaml).
- Improve the appearance of terminal buttons.
- Improved contrast for the mono app icon style.
- Make determinate progress indicator in tab bar
go clockwise from 12 o'clock.
- Text replacement now matches macOS behavior.
- Improve position and spacing of stoplight
buttons in Minimal theme on macOS 26.
- The Open Profiles window now moves to the
current Space instead of switching spaces.
- Offer to restore the tab and window title when
the remote host changes.
- Reduced app size.
- Add progress bars to $TERM_FEATURES as P.
- Update AI models.
Bug Fixes:
- Fix a bug where pastes could be corrupted.
- Fix a bug where the tab bar would be invisible
in full screen.
- Fix crashes
- Fix a bug where edge drags on Minimal tabbars
dragged both the window and the tab.
- Fix crash on OSC 9;4 without parameter.
- Fix bugs in Kitty image protocol.
- Fix various visual issues with tab bars.
- Fix a bug where non-native mouse cursors had the
wrong hotspot.
- Fix a problem where a modal alert could get
hidden by a hotkey window.
- Fixed a bug where tabs would switch unexpectedly
in tmux integration.
- Fix tab switch rendering glitch on multi-monitor
setups.
- Fix a bug where italics in tmux integration were
displayed as reverse video when TERM contains
"tmux".
- Fix a bug where the wrong session could be used
for GPU frame capture.
- Fix incorrect truncation of Tahoe-style tab
labels.
- Fix drawing of horizontal lines on non-retina
displays in the tab bar.
- Fix a bug where the Web menu wasn't added when
a browser session was active.
- Fix a bug where canceling entering a passphrase
for SCP could cause an empty password to be
tried.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
dffa21e268b162988e50603d93f8e26fa84e4d1d42e693d7fd2d1d10a54e9540
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmg0iIACgkQJiz+Xnka
vhsduxAAskXG7RCuTZKCJX2eeN1cm7aULT9Da67AbvXrpqeJl1iGDI4KI2cV0XbF
58Gvq7YkG5EUcVBMiwT0Ag/gRC1013oyhc/MFtcXZjuxd83fwlnK3wXPLBiGhH0a
xUiI92VxmpzH0Jw4L4cgncFs31Z4eQzuu1Dwo0UbLtPM056tGRNKt6zICbO44A5H
R4bCjHAGWNJpBKUxDNP3SnimcuJGPQo3VLjFvdR/CEBGp2aOnrOXsUBUWWk/IM0g
ubMKkAp/HDLzO9gQXTL09Ogq1WjhsK7UCw3ij/y8wJP7Cn92JtGLNtcXMHhVcaWA
lPVPLowba7tbn7LtotqQDAo2VrA0uwNzFpEM5fjBTTtmyBygpERr/YDrpK0L3M19
51A19ubr3j07gEERgORI8H6qw6tA0KfIuEDHeuegQZxZm6rg/E6c62gFoKYMGbgR
ltIx1pXSQRKbJ3UnS1PsfowCwAzwindLIOaRA/GRchZQU5L4yzOWMEl9PFrD6qXH
c+sdm4EsrLRJotmAFoH+AjdqAxJa/ajCNk/gLA3gdcrUaCMJbNpxjBHXx46Dl+JJ
ySlBAAu7HevYg1MaGAv8UeG1qn3z8NpBS+gesY4xxUNteiLhpzM55qZOeosyLnTP
/0bS9RNmNKp6r5I73rmW/S/BlkBO/+nTGQ7etNeioZ/lpLtpxRk=
=o9Bl
-----END PGP SIGNATURE-----
iTerm2 3.6.7 (macOS 12.4+)
This is the recommended build for most users. Built on February 20, 2026.
[▾ Hide Changelog](<javascript:hideId('339720621978291118')>)
Version 3.6.7 of iTerm2 was built on February 20, 2026.
New Features:
- There is a new window style of "Centered".
- You can now switch 1password accounts in the
password manager using the ... menu next to the
search field.
- Added profile settings to disable and configure
progress bars.
- Added support for macOS "text replacements".
- Added session archiving. You can manually or
automatically archive a session, which writes
a full-fidelity copy of it to disk.
- OSC 8 hyperlinks can take a target= parameter to
cause them to reuse an in-app browser.
Example:
OSC 8;target=example;https://example.com/ ST
- Added a new trigger type, Buffer Input, which
you can use to defer sending keyboard input (for
example, while waiting for a program to launch).
Improvements:
- AI models updated.
- Web browser can now list directories with
file:/// urls.
- Status bar search component is now
color-configurable.
- Visual improvements to tab bar.
- Put snippets before folders in toolbelt and
don't add top level snippets that have a folder.
- Add browser setting for where terminal links
should open.
- Use default colors rather than current SGR color
when scrolling lines into view.
- The SSH file panels now pick up favorites on
Tahoe from Finder properly.
- Various small improvements to the Jobs status bar
component.
- Cmd-shift-click on OSC 8 URL opens it in a split
pane.
- Visual improvements to some status bar
components.
- Improve performance when timestamps are visible.
- Visual improvements for timestamps.
- Added many new natively rendered characters.
- Added support for dotted and dashed underline
styles.
- Improve behavior of certain items in the context
menu for very narrow windows.
- Natively rendered code gets a more legible
comment color.
- Improved file type detection for native
rendering of text (e.g., imgcat foo.yaml).
- Improve the appearance of terminal buttons.
- Improved contrast for the mono app icon style.
- Make determinate progress indicator in tab bar
go clockwise from 12 o'clock.
- Text replacement now matches macOS behavior.
- Improve position and spacing of stoplight
buttons in Minimal theme on macOS 26.
- The Open Profiles window now moves to the
current Space instead of switching spaces.
- Offer to restore the tab and window title when
the remote host changes.
- Reduced app size.
- Add progress bars to $TERM_FEATURES as P.
- Update AI models.
Bug Fixes:
- Fix a bug where pastes could be corrupted.
- Fix a bug where the tab bar would be invisible
in full screen.
- Fix crashes
- Fix a bug where edge drags on Minimal tabbars
dragged both the window and the tab.
- Fix crash on OSC 9;4 without parameter.
- Fix bugs in Kitty image protocol.
- Fix various visual issues with tab bars.
- Fix a bug where non-native mouse cursors had the
wrong hotspot.
- Fix a problem where a modal alert could get
hidden by a hotkey window.
- Fixed a bug where tabs would switch unexpectedly
in tmux integration.
- Fix tab switch rendering glitch on multi-monitor
setups.
- Fix a bug where italics in tmux integration were
displayed as reverse video when TERM contains
"tmux".
- Fix a bug where the wrong session could be used
for GPU frame capture.
- Fix incorrect truncation of Tahoe-style tab
labels.
- Fix drawing of horizontal lines on non-retina
displays in the tab bar.
- Fix a bug where the Web menu wasn't added when
a browser session was active.
- Fix a bug where canceling entering a passphrase
for SCP could cause an empty password to be
tried.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
e1f0801888a36ff26b916e4f320cbde1305f3df0ba77c2c368bba367fedd7c02
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmYlh4ACgkQJiz+Xnka
vhv8mg//QTHqRsnaiHAnyOhcoC7gsmiqjCU9LGsnO8j6Wt9t65Velx5OZbayyCEj
wu7Ufj1WYa+BGwqp/iq7XuwQn/kHVtrdOXl0Ivce14MBI+Lf0XgQVOdfOZ27hcy4
kIVQV86vQab3GkCvV7Zwt2lojbCiObW5cvt//JX13aFJrwDPNIO2K9EshKhdpGGB
TF9eopqkQ1QGZwyyMMrahVKi5l9YMapGxUme1TfZvNTIk4vKXx3aNlPGgYdWWorK
qxjzLNXLRQepkB64Dlgv00/3XjxQS/8BHsf53J1f99R81Lw1xxWnvgGmCVbMz20D
jlwM7d5IoDycDi7G79tWfBeZMkYKVd9jvYoE/gEhmwq0Hf/T0Scpkr7XrPfQTBqD
MVxJnmhrdvC45WsfErADDBmjDDbGSOuIDjXnuXnBdzZSWQrshmWxBNgAK9F9AlLe
wXs7uZGNg/7hgiVyjLGkp5YvSpU7X1GfyxNs7JZHn/eUKorArucyOLziv0MqVcOn
+7SJidIi/6Kec/OweYXozTkM+Afup/LUetQ3ktcGBg1Ej55fxLeczIhQbvZlfJtb
J3OR20JliR7zZX7mSFiA6euTRTCWjMDVytFK/GLyIFOX2hTa32Phb/nE7k2JkBeO
7k33REO8dNoPaJU7gkZ7m/YTJZcn5kBmg04voHGkztGPUb6u1cY=
=RKlQ
-----END PGP SIGNATURE-----
iTerm2 3.6.6 (macOS 12.4+)
This is the recommended build for most users. Built on November 17, 2025.
[▾ Hide Changelog](<javascript:hideId('8782682490594946461')>)
iTerm2 version 3.6.6 was released on
November 17, 2025.
New Features:
- Added setting to show per-pane title bars when
there is only one pane.
- If the previous release left you with red tabs
in a tmux window, this one will offer to fix
them.
- Add KeePassXC integration in password manager.
- There's a new key binding action to toggle a
checkbox of your choosing in settings.
- Add support for OSC 9;4 progress bars.
- Add support for DECDSR 997 and DECSET/DECRESET
2031 for dark mode reporting.
- Cursor animation can now be enabled always.
Previously it only happened in interactive apps.
Improvements:
- Reduce an occasional jitter after a command
prompt.
- Add support for symbolic hotkeys to older macOS
versions.
- You can now switch between color spaces in the
color picker.
- Added support for the device colorspace in the
color picker.
- Added support for OSC 52 in DA response.
- Provide useful information when a profile's
command fails to start.
- Improve visibility of selected tab in Tahoe when
using tab colors.
- Improve performance of moving cursor a long
distance with option-click.
- Fix performance issue after using search.
- When doing bracketed paste from advanced paste
with "wait for prompt" enabled, do not include
brackets around newlines. That way the commands
will be sent for shells like zsh and fish.
- When a force touch could do either quicklook or
dictionary lookup, show a disambiguation menu.
- Add support for undo/redo in "engage AI" dialog
box.
- Add more options for how to position and size
windows. Make the default more like 3.5.x, which
respsected the profile's size, but using Smart
Placement.
- AI commands can now optionally be run through
Apple Intelligence as a safety check. If ChatGPT
decides it wants to pwn you, this makes it a
little harder.
- Command info now shows the number of lines of
output.
- Baseline-relative timestamps are now
color-coded.
- Browser will show better SSL errors.
- In tmux integration, terminal reports in
response to OSC 1337 codes are now sent.
- Tooltips in Minimal now use the proper
light/dark theme.
- All AI chat messages are now copyable.
- AI models updated.
Bug Fixes:
- Automatically unbury tmux integration clients
when we can't restore the tmux session on
attach. If you get a zillion windows on first
launch of this version, that could be why (they
tended to pile up).
- Fix various crashes.
- Fix $$HOST$$ and $$USER$$ substitution.
- The colorpicker's eyedropper is now smarter
about color spaces.
- Fix a bug where images would disappear after
folding and unfolding a region.
- Fix various graphical imperfections in Tahoe.
- Disable menu item "Move to new window" when
there is only one tab.
- Fixed a bug where you couldn't delete
annotations.
- Fix bugs in the status bar filter component.
- Fix UI bugs in editing triggers.
- Fix a bug where the context menu incorrectly
characterized ssh integration downloads as scp.
- Make the stoplight buttons behave better on
macOS 26.
- Fix a bug where ssh integration downloads would
sometimes happen over scp.
- Fix a bug where some items were missing from the
list of key binding actions.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
68293d89ddf2140407879a651b42d9d05e12f403f69633ec635a96a29d90b4f3
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaRvfogAKCRB0Et0TaFtK
rPLgAQCvQ5PuLWVJ2aU+of2R3Pq2lSEe2OqDJ5jLI8Ry+HgHbAD+MbOA4bqoR5sO
T26myWv79GyrzS2JTUv7qubcEfbPeqM=
=b803
-----END PGP SIGNATURE-----
iTerm2 3.6.5 (macOS 12.4+)
This is the recommended build for most users. Built on October 19, 2025.
[▾ Hide Changelog](<javascript:hideId('2793677105073635188')>)
iTerm2 version 3.6.5 was released on
October 19, 2025
Improvements:
- Improve legibility of Open Quickly against
certain backgrounds.
- Tweak app icon to look better on older versions
of macOS.
Bug Fixes:
- Fix a bug where tabs were red after attaching to
tmux.
- Fix a bug where web pages didn't draw a cursor.
- Fix downloads in ssh integration using it2dl.
- Fix bugs in Kitty image protocol.
- Fix variuos crashes.
- Fix bugs with restoring full screen windows.
- Fix certain shift+optional function keys that
sent the wrong code.
- Fix a bug where AI didn't always detect a
command finishing if it executed quickly.
- Improve reliability of detecting paste
bracketing echoing control characters.
- Fix bugs where browser zoom got messed up.
- Fix drag-drop of tabs or sessions over browser
sessions.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
3e480cf0b94c9eadde3d870a49ef62c2a75d3d00d2dd17e6676880dbe9a64ec4
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaPVBngAKCRB0Et0TaFtK
rKofAQCLIe1PRTL9tfunEhKcKxAyGOlgNjnd9ypZTDuXtRWBcQEAgqXmAKUb5mkC
So22rLRo23QavI2IjpeGEI/1vYTn0eQ=
=bgkE
-----END PGP SIGNATURE-----
iTerm2 3.6.4 (macOS 12.4+)
This is the recommended build for most users. Built on October 7, 2025.
[▾ Hide Changelog](<javascript:hideId('7210105100051261309')>)
iTerm2 version 3.6.4 was released on
October 6, 2025
3.6.3 was short-lived. Its release notes may be
found below.
Bug Fixes:
- Fix crashes
- Repair saved arrangements that somehow ended up
with invisible windows.
- Fix UI bugs in SSH save panel
- Fix UI bugs in smart selection settings
Release notes for 3.6.3:
Improvements:
- Update Open Quickly and AI Chat UIs to use
liquid glass effects.
- Distinguish main from alternate menu items in
Open Quickly.
- Add context menu items to open a URL in a split
pane when you right click on a URL.
- Triggers settings panel is now resizable.
- Don't push the browser plugin when installing
the AI plugin.
- Offer to open files in built-in browser from
Semantic History.
- Remove OpenAI-specific verbiage.
- Don't require an API key for self-hosted AI
models.
- When opening the composer, we clear the command
prompt by sending some control characters but a
shell may echo them instead. Detect that and
backspace over them.
- Only extend background into margins in soft
alternate screen mode
- Make changes to smart selection settings take
effect immediately.
- Fix a bug where trigger regex was not
prepopulated when selecting Add Trigger from the
context menu.
- Cmd-shift-click on a URL can now open it in a
split pane.
Bug Fixes:
- Fix many crashes.
- Fix a bug where the scroll position did not
remain locked as new input was received.
- Show warnings before crashing if the app bundle
is corrupted.
- Turn off "remember the size and position of
previously closed windows" by default.
Fixes a problem where windows had unexpected
sizes.
- Fix a bug where windows would have the wrong
number of rows.
- Fix crashes.
- Work around Tahoe bug with autofill heuristic
controller.
- Try to fix a bug where users experience slow
performance/jitters on repeated keys.
- Fix UI alignment bug in Open Quickly.
- Deduplicate URLs in Open Quickly.
- Fix turning off proxy in browser settings not
working.
- Unbreak prompt triggers in non-integration tmux.
- Fix dynamic profiles wrongly ignoring "use
seprate colors for light and dark mode" setting.
- Fix UI problems in color picker in Tahoe.
- Fix how XTGETTCAP errors are reported to fix
some vim plugins.
- Fix a bug where Tahoe would wrongly blur the top
of a window after it was moved to a window from
being a split pane.
- Fix bugs where keyboard shortcuts didn't work in
input fields in alerts in buggy buggy Tahoe.
- Fix bugs in Kitty image protocol that prevented
display.
- Fix UI bugs in filter field in status bar.
- Bring back arrangements to Open Quickly.
- Fix a bug where there could be multiple add-tab
and overflow buttons.
- Don't crash if you try to download a non-file
non-directory in ssh integration.
- Fix a bug where settings search results could
contain unreachable items.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
b42f689cdd6330166dc504dd0b4733db16961365de2bb6a7e21369020c916a95
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaOVK8AAKCRB0Et0TaFtK
rOfeAP0TwBuv15oNXh1L8fyffaMFkYEMy+Dt4E0z99FDnuAx4QD/XjkbE45jAQG7
YjPlsPduHcPmkvg8E05O5eSd7kl8NKc=
=dJZp
-----END PGP SIGNATURE-----
iTerm2 3.6.3 (macOS 12.4+)
This is the recommended build for most users. Built on October 2, 2025.
[▾ Hide Changelog](<javascript:hideId('354505441997877162')>)
iTerm2 version 3.6.3 was released on
October 2, 2025
Improvements:
- Update Open Quickly and AI Chat UIs to use
liquid glass effects.
- Distinguish main from alternate menu items in
Open Quickly.
- Add context menu items to open a URL in a split
pane when you right click on a URL.
- Triggers settings panel is now resizable.
- Don't push the browser plugin when installing
the AI plugin.
- Offer to open files in built-in browser from
Semantic History.
- Remove OpenAI-specific verbiage.
- Don't require an API key for self-hosted AI
models.
- When opening the composer, we clear the command
prompt by sending some control characters but a
shell may echo them instead. Detect that and
backspace over them.
- Only extend background into margins in soft
alternate screen mode
- Make changes to smart selection settings take
effect immediately.
- Fix a bug where trigger regex was not
prepopulated when selecting Add Trigger from the
context menu.
- Cmd-shift-click on a URL can now open it in a
split pane.
Bug Fixes:
- Fix many crashes.
- Fix a bug where the scroll position did not
remain locked as new input was received.
- Show warnings before crashing if the app bundle
is corrupted.
- Turn off "remember the size and position of
previously closed windows" by default.
Fixes a problem where windows had unexpected
sizes.
- Fix a bug where windows would have the wrong
number of rows.
- Fix crashes.
- Work around Tahoe bug with autofill heuristic
controller.
- Try to fix a bug where users experience slow
performance/jitters on repeated keys.
- Fix UI alignment bug in Open Quickly.
- Deduplicate URLs in Open Quickly.
- Fix turning off proxy in browser settings not
working.
- Unbreak prompt triggers in non-integration tmux.
- Fix dynamic profiles wrongly ignoring "use
seprate colors for light and dark mode" setting.
- Fix UI problems in color picker in Tahoe.
- Fix how XTGETTCAP errors are reported to fix
some vim plugins.
- Fix a bug where Tahoe would wrongly blur the top
of a window after it was moved to a window from
being a split pane.
- Fix bugs where keyboard shortcuts didn't work in
input fields in alerts in buggy buggy Tahoe.
- Fix bugs in Kitty image protocol that prevented
display.
- Fix UI bugs in filter field in status bar.
- Bring back arrangements to Open Quickly.
- Fix a bug where there could be multiple add-tab
and overflow buttons.
- Don't crash if you try to download a non-file
non-directory in ssh integration.
- Fix a bug where settings search results could
contain unreachable items.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
d79f3d105c7ddfb41c570d8637aebf95c2bd4785bdcd9b45f11be764bbb3b0b6
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaN8CywAKCRB0Et0TaFtK
rGj5AQDPODSBvJxhQF6gdNR5ZksopDdybJCnu/OqoIul/4lGNgEAo7ZC3tbDoKVb
bvCCugidh1oFURj+wJGCJMvj0o39RHY=
=Mv8D
-----END PGP SIGNATURE-----
iTerm2 3.6.2 (macOS 12.4+)
This is the recommended build for most users. Built on September 24, 2025.
[▾ Hide Changelog](<javascript:hideId('8797451310358531881')>)
iTerm2 version 3.6.2 was released on September 24, 2025
The release notes for 3.6.0 may be found below.
New Features:
- Added a setting to control whether modifier
remapping is done globally. Turn this off if it
interferes with your use of AltTab.
- Support file and shared memory sources for Kitty
image protocol.
- Added "Move Tab to New Window" menu item.
Other Improvements:
- Default arrangement names now use the current
date instead of a counter.
- Handle antiviruses deleting random parts of the
app more gracefully.
- Reduced the size of saved state when a browser
is present.
- Improve rendering of colored tabs in Tahoe to
make it easier to tell which is selected.
- Improve handling of error message in OpenAI
protocol.
- If no logging folder is specified default to the
user's home directory. Fix a bug where the
invalid folder warning icon was not visible.
- Add an option to respect system shortcuts (e.g.,
control-F2 to activate the menu).
- If the cursor guide's alpha value is high, draw
it beneath text. This makes Powerline ugly but
at least it is legible.
- Add a button to manually locate the browser
plugin, which helps you debug why it isn't
working.
Bug Fixes:
- Fix a bug where the password manager's controls
were not clickable.
- Fix various crashes.
- Fix a bug where DECRC changed the unicode
version if DECSC was not previous received.
- Fix a bug where browser downloads were sometimes
referred to as uploads.
- Fix a bug in decoding Kitty image protocol in
streaming mode where some images failed to
decode.
- Fix a bug where tab bar icons could be the wrong
size.
- Fix cursor jumping bug when editing an AI
prompt.
- Fix various UI layout issues in Tahoe.
- Fix a bug where a tab with split pane browsers
could not resize the window.
- Fix a bug where saving an arrangement with
content didn't work.
- Fix a bug where some deep seek models didn't
work right.
- Fix settings search returning browser results
when the browser feature is disabled.
- Fix a bug where capital letters in open quickly
prevented matching.
- Ensure browsers don't keep playing audio after
closing.
- Fix a bug where selecting a command's output
could select the wrong range.
- Fix a bug where the mouse cursor's hotspot was
in the wrong place when reporting mouse events.
- Disable parallel tool use by Claude since it
isn't supported.
- Improve audio muting in browser.
- Fix a bug where the add tab button was missing
in macOS 15 and earlier.
- Fix add/remove automatic profile switching
buttons in settings.
- Fix janky behavior in triggers UI in settings.
-------------------------------------------------
Release notes for 3.6.0
Major New Features:
- A new AI Chat feature was added. The assistant
can interact with the terminal, subject to your
permission. It can also explain command output,
adding annotations right in the terminal.
- You can now configure a profile to be a web
browser. In Settings > Profiles >
General, set "Profile Type" to "Web Browser".
Many existing features already work in browser
sessions, such as key bindings, smart selection,
navigation, open quickly, focus follows mouse,
and the password manager.
New Features in Terminal Sessions:
- The context menu now shows how strings would be
base64 (en/de)coded.
- Added "Settings > Profiles > Terminal >
Click on a path in a shell prompt to open
Navigator" to provide a new way to navigate the
filesystem.
- Timestamps can now be shown adjacent to terminal
content rather than overlapping. They can also
be configured to be relative to a particular
line by right-clicking and selecting "Set
Baseline for Relative Timestamps".
- Navigating to the next or previous mark now
selects the command if command selection is
enabled.
- Added the option to hide the cursor when
keyboard focus is lost.
- You can now select a block of JSON and select
"Edit > Replace Selection > Replace with
Pretty-Printed JSON" to make it legible.
Same with encoding and decoding base64.
Settings Improvements:
- Tildes are now expanded in the folder for
automatic logging.
- Background image path can now be interpolated
strings.
- Dimming is temporarily disabled while in colors
settings.
- You can now right click on a text field in
settings and select "Reset to default value".
- Settings search now uses a Porter stemmer for
better recall. You can quote words or
phrases to do literal search.
- When opening settings the default profile is now
automatically selected.
- Added Settings > General > Experimental for
features that are almost but not quite ready for
prime time. Right-to-left text support and SSH
Integration for ssh: URLs is there.
New Key Binding Actions:
- There is a new key binding action, Copy Mode
Commands, that lets you perform copy mode
actions (e.g., enter copy mode, move the cursor
around, make a selection, and so on).
- Add a new key binding action "Copy Interpolated
String".
- Add a new key action, Bypass Terminal, that
allows systemwide shortcuts to be handled
without the terminal window taking them.
Triggers Improvements:
- Added a new trigger that lets you modify any
stylistic attribute of text by using SGR codes.
- The triggers and smart selection settings UIs
were revamped.
UI Improvements:
- The Snippets Toolbelt tool was revamped to show
hierarchy (tags with slashes define
directories).
- If you try to set a hotkey to a commonly used
shortcut, you'll be asked to confirm it.
- Improve appearances of some natively rendered
powerline glyphs.
- Improve the appearance of in-terminal buttons
when they overlap text.
- The UI for setting "send text at start" in
settings now has an expanding text box if you
feel like writing a lot.
- Some menu items now show a floating window that
explains their purpose when you hover over them.
- Improvements to the appearance of the Composer.
- Added a settings button to the selected command
buttons so you can disable command selection.
- Menu items were moved around to make the Window
menu less absurdly large.
- The appearance of announcements has been
updated.
- Add support for macOS 15's feature where double
clicking a title bar can be set in system
settings to fill the screen.
- Detect when there is a non-default background
color and extend it into the margins. In
Minimal, it is also extended into window chrome.
Open Quickly Improvements:
- Esc now closes the Open Quickly window.
- In Open Quickly, you can now use /A to restrict
results to open arrangements in tabs.
- Menu items are now accessible through Open
Quickly, making it into a command palette.
- Named marks are now accessible through Open
Quickly.
AI Improvements:
- You can now configure AI to use the recommended
model which will update for you automatically
when new models are released.
Core Improvements:
- Performance improvements when showing lots of
text (provided there are no triggers).
- Automatic profile switching job rules now match
against the full command line as well as just
the job name
Semantic History Improvements:
- Semantic history now searches ancestors of the
working directory if the path you click has a
prefix in common with a suffix of the working
directory.
- Semantic history can now be configured to send
text instead of opening a file.
- Windsurf added to Semantic History editors.
Terminal Emulation Improvements:
- Saved cursor position from DECSC is now reflowed
when resizing.
- Detect when mouse reporting and DEC 2048
reporting was accidentally left on by watching
for characters being echoed back.
- DEC 2048 is turned off automatically when
the current hostname is detected to have
changed.
- There is a new profile setting to automatically
turn on alternate mouse scroll in alternate
screen mode and another to restrict it to
vertical movement.
SSH Integration Improvements:
- SSH integration now lets you set the path to
ssh. You can set it in the UI under Settings >
Profiles > General > Configure or by setting the
SSH environment variable if you use it2ssh.
- File open/save panels now have the option to
show SSH hosts when you are connected with SSH
integration. So, for example, when you use
`it2ul` to upload a file, you could pick a file on
a different host that you're already connected
to.
- When using SSH integration, there is a new menu
item "Shell > ssh > Download Files" that opens a
file picker that lists files on the remote host
to download. Transfers go over ssh integration
so no new connection needs to be made.
Security Improvements:
- Secure settings are now used to record which
hostnames can have URLs opened by control
sequence.
Bug fixes:
- Fix various crashes.
- Fix a bug where "send text at start" didn't work
when a profile's windows are full screen.
- Draw cursor guide over powerline glyphs when
native powerling glyphs are enabled.
- Fix bad animations when animating cursor
movement.
- Make "fold to named mark" pick the last mark
with a given name.
- Fix a bug where folding to named mark would
sometimes place the collapsed line in the wrong
place.
- Fix a bug where an invisible composer window
could be left behind, preventing you from
clicking on the top of the terminal.
- Don't add snippets to the top level menu if they
have tags.
- Secure settings are now stored in /usr/local if
your home directory is a network mount.
- Fix a bug when copying a session's settings to a
profile where the per-session hotkey was also
copied over.
- Fix a bug where an empty cd command was issued
when running a command from an iterm: URL in an
existing session..
- Fix a bug where an empty "gray" window could be
left behind.
- Fix a bug where jump to selection didn't work.
- Systemwide hotkey is now hopefully more
reliable.
- Fix a bug where silent coprocesses didn't work
right with ssh integration.
- Fix a bug where restoring a window arrangement
could cause windows to appear on the wrong
screen.
- Fix some bugs in key reporting that differed
from Kitty's behavior.
- Inline HEIC images now work.
- Fix a visual bug when selecting half of a
double-width character.
- Fix many bugs in SIXEL image decoding.
- Fix a bug where reattaching to tmux integration
after relaunching the app didn't work.
- Rich text is de-richified when pasting into
Codecierge.
- Fix a bug with fish were you could end up with
two prompt marks on adjacent lines.
- Fix various bugs with fold/unfold in conjunction
with auto composer.
- Fix a bug where selecting a title provider
vended by a Python API script sometimes did not
work.
- Fix a bug where SSH Integration tabs would have
an activity indicator when they were idle.
- Fix it2dl over ssh integration.
- Fix a bug where you could do Move Pane to Tab
more than once concurrently.
- Prevent the accent menu from appearing behind
hotkey windows.
Things Made Worse:
- Stylstic alternatives are now only available when
ligatures are enabled to avoid taking a slow code
path that most people don't want.
Changes in 3.6.1:
- You can now configure modifier remapping to be
done only locally, not affecting external apps
such as AltTab.
- Improve DECRC's behavior if DECSC was not called
by not updating wraparound or unicode version.
- File and shared memory transfer for Kitty image
protocol is now supported.
- Fix a bug in kitty image decoding where
streaming mode didn't always work.
- Fix a bug where browser downloads were called
uploads.
- Default arrangement names now use dates rather
than a counter.
- Fix a crash when restoring sessions after a
restart.
- Fix a bug where tab icons could be too large.
- Fix a crash on macOS 15 in browser profiles.
- Fix a bug where the cursor jumped in AI prompt
settings when making an edit.
- Fix layout of Profiles window in Tahoe.
- Fix various other crashes
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
65b7473d207e0cb3aa4dd2d468a2eaa8a84e71e16fc1f602da42f67fc923b211
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaNSCRQAKCRB0Et0TaFtK
rA3SAP4xBH+oFATahq4iZR4L4aNYnRaWTpErKd7SX6lyoNXU+wEAoE/9Ysn4a020
qY10MME6a8IPC5Lc40uqsugTu3fCc2Y=
=8GY/
-----END PGP SIGNATURE-----
iTerm2 3.6.1 (macOS 12.4+)
This is the recommended build for most users. Built on September 18, 2025.
[▾ Hide Changelog](<javascript:hideId('2084674221253881200')>)
Version 3.6.1 of iTerm2 was built on September 18, 2025.
These are the release notes for 3.6.0. Version
3.6.1 contains additional bug fixes listed at the
bottom.
Major New Features:
- A new AI Chat feature was added. The assistant
can interact with the terminal, subject to your
permission. It can also explain command output,
adding annotations right in the terminal.
- You can now configure a profile to be a web
browser. In Settings > Profiles >
General, set "Profile Type" to "Web Browser".
Many existing features already work in browser
sessions, such as key bindings, smart selection,
navigation, open quickly, focus follows mouse,
and the password manager.
New Features in Terminal Sessions:
- The context menu now shows how strings would be
base64 (en/de)coded.
- Added "Settings > Profiles > Terminal >
Click on a path in a shell prompt to open
Navigator" to provide a new way to navigate the
filesystem.
- Timestamps can now be shown adjacent to terminal
content rather than overlapping. They can also
be configured to be relative to a particular
line by right-clicking and selecting "Set
Baseline for Relative Timestamps".
- Navigating to the next or previous mark now
selects the command if command selection is
enabled.
- Added the option to hide the cursor when
keyboard focus is lost.
- You can now select a block of JSON and select
"Edit > Replace Selection > Replace with
Pretty-Printed JSON" to make it legible.
Same with encoding and decoding base64.
Settings Improvements:
- Tildes are now expanded in the folder for
automatic logging.
- Background image path can now be interpolated
strings.
- Dimming is temporarily disabled while in colors
settings.
- You can now right click on a text field in
settings and select "Reset to default value".
- Settings search now uses a Porter stemmer for
better recall. You can quote words or
phrases to do literal search.
- When opening settings the default profile is now
automatically selected.
- Added Settings > General > Experimental for
features that are almost but not quite ready for
prime time. Right-to-left text support and SSH
Integration for ssh: URLs is there.
New Key Binding Actions:
- There is a new key binding action, Copy Mode
Commands, that lets you perform copy mode
actions (e.g., enter copy mode, move the cursor
around, make a selection, and so on).
- Add a new key binding action "Copy Interpolated
String".
- Add a new key action, Bypass Terminal, that
allows systemwide shortcuts to be handled
without the terminal window taking them.
Triggers Improvements:
- Added a new trigger that lets you modify any
stylistic attribute of text by using SGR codes.
- The triggers and smart selection settings UIs
were revamped.
UI Improvements:
- The Snippets Toolbelt tool was revamped to show
hierarchy (tags with slashes define
directories).
- If you try to set a hotkey to a commonly used
shortcut, you'll be asked to confirm it.
- Improve appearances of some natively rendered
powerline glyphs.
- Improve the appearance of in-terminal buttons
when they overlap text.
- The UI for setting "send text at start" in
settings now has an expanding text box if you
feel like writing a lot.
- Some menu items now show a floating window that
explains their purpose when you hover over them.
- Improvements to the appearance of the Composer.
- Added a settings button to the selected command
buttons so you can disable command selection.
- Menu items were moved around to make the Window
menu less absurdly large.
- The appearance of announcements has been
updated.
- Add support for macOS 15's feature where double
clicking a title bar can be set in system
settings to fill the screen.
- Detect when there is a non-default background
color and extend it into the margins. In
Minimal, it is also extended into window chrome.
Open Quickly Improvements:
- Esc now closes the Open Quickly window.
- In Open Quickly, you can now use /A to restrict
results to open arrangements in tabs.
- Menu items are now accessible through Open
Quickly, making it into a command palette.
- Named marks are now accessible through Open
Quickly.
AI Improvements:
- You can now configure AI to use the recommended
model which will update for you automatically
when new models are released.
Core Improvements:
- Performance improvements when showing lots of
text (provided there are no triggers).
- Automatic profile switching job rules now match
against the full command line as well as just
the job name
Semantic History Improvements:
- Semantic history now searches ancestors of the
working directory if the path you click has a
prefix in common with a suffix of the working
directory.
- Semantic history can now be configured to send
text instead of opening a file.
- Windsurf added to Semantic History editors.
Terminal Emulation Improvements:
- Saved cursor position from DECSC is now reflowed
when resizing.
- Detect when mouse reporting and DEC 2048
reporting was accidentally left on by watching
for characters being echoed back.
- DEC 2048 is turned off automatically when
the current hostname is detected to have
changed.
- There is a new profile setting to automatically
turn on alternate mouse scroll in alternate
screen mode and another to restrict it to
vertical movement.
SSH Integration Improvements:
- SSH integration now lets you set the path to
ssh. You can set it in the UI under Settings >
Profiles > General > Configure or by setting the
SSH environment variable if you use it2ssh.
- File open/save panels now have the option to
show SSH hosts when you are connected with SSH
integration. So, for example, when you use
`it2ul` to upload a file, you could pick a file on
a different host that you're already connected
to.
- When using SSH integration, there is a new menu
item "Shell > ssh > Download Files" that opens a
file picker that lists files on the remote host
to download. Transfers go over ssh integration
so no new connection needs to be made.
Security Improvements:
- Secure settings are now used to record which
hostnames can have URLs opened by control
sequence.
Bug fixes:
- Fix various crashes.
- Fix a bug where "send text at start" didn't work
when a profile's windows are full screen.
- Draw cursor guide over powerline glyphs when
native powerling glyphs are enabled.
- Fix bad animations when animating cursor
movement.
- Make "fold to named mark" pick the last mark
with a given name.
- Fix a bug where folding to named mark would
sometimes place the collapsed line in the wrong
place.
- Fix a bug where an invisible composer window
could be left behind, preventing you from
clicking on the top of the terminal.
- Don't add snippets to the top level menu if they
have tags.
- Secure settings are now stored in /usr/local if
your home directory is a network mount.
- Fix a bug when copying a session's settings to a
profile where the per-session hotkey was also
copied over.
- Fix a bug where an empty cd command was issued
when running a command from an iterm: URL in an
existing session..
- Fix a bug where an empty "gray" window could be
left behind.
- Fix a bug where jump to selection didn't work.
- Systemwide hotkey is now hopefully more
reliable.
- Fix a bug where silent coprocesses didn't work
right with ssh integration.
- Fix a bug where restoring a window arrangement
could cause windows to appear on the wrong
screen.
- Fix some bugs in key reporting that differed
from Kitty's behavior.
- Inline HEIC images now work.
- Fix a visual bug when selecting half of a
double-width character.
- Fix many bugs in SIXEL image decoding.
- Fix a bug where reattaching to tmux integration
after relaunching the app didn't work.
- Rich text is de-richified when pasting into
Codecierge.
- Fix a bug with fish were you could end up with
two prompt marks on adjacent lines.
- Fix various bugs with fold/unfold in conjunction
with auto composer.
- Fix a bug where selecting a title provider
vended by a Python API script sometimes did not
work.
- Fix a bug where SSH Integration tabs would have
an activity indicator when they were idle.
- Fix it2dl over ssh integration.
- Fix a bug where you could do Move Pane to Tab
more than once concurrently.
- Prevent the accent menu from appearing behind
hotkey windows.
Things Made Worse:
- Stylstic alternatives are now only available when
ligatures are enabled to avoid taking a slow code
path that most people don't want.
Changes in 3.6.1:
- You can now configure modifier remapping to be
done only locally, not affecting external apps
such as AltTab.
- Improve DECRC's behavior if DECSC was not called
by not updating wraparound or unicode version.
- File and shared memory transfer for Kitty image
protocol is now supported.
- Fix a bug in kitty image decoding where
streaming mode didn't always work.
- Fix a bug where browser downloads were called
uploads.
- Default arrangement names now use dates rather
than a counter.
- Fix a crash when restoring sessions after a
restart.
- Fix a bug where tab icons could be too large.
- Fix a crash on macOS 15 in browser profiles.
- Fix a bug where the cursor jumped in AI prompt
settings when making an edit.
- Fix layout of Profiles window in Tahoe.
- Fix various other crashes
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
16bee0727108521656a188eb600e4fa0f73c020521c703f8eb1617c20d01433b
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaMyE9gAKCRB0Et0TaFtK
rIi3AP9HK5KOyySW3AC6jbghDgX8tpgqiFZgnFxHeipT6E7S6AEA5iG5qQAbvYkS
r+3c0pIPCWlk4bla2bs9JNBfec7CESQ=
=udqw
-----END PGP SIGNATURE-----
iTerm2 3.6.0 (macOS 12.4+)
This is the recommended build for most users. Built on September 15, 2025.
[▾ Hide Changelog](<javascript:hideId('6358271647090773599')>)
iTerm2 version 3.6.0 was released on September 16, 2025
Major New Features:
- A new AI Chat feature was added. The assistant
can interact with the terminal, subject to your
permission. It can also explain command output,
adding annotations right in the terminal.
- You can now configure a profile to be a web
browser. In Settings > Profiles >
General, set "Profile Type" to "Web Browser".
Many existing features already work in browser
sessions, such as key bindings, smart selection,
navigation, open quickly, focus follows mouse,
and the password manager.
New Features in Terminal Sessions:
- The context menu now shows how strings would be
base64 (en/de)coded.
- Added "Settings > Profiles > Terminal >
Click on a path in a shell prompt to open
Navigator" to provide a new way to navigate the
filesystem.
- Timestamps can now be shown adjacent to terminal
content rather than overlapping. They can also
be configured to be relative to a particular
line by right-clicking and selecting "Set
Baseline for Relative Timestamps".
- Navigating to the next or previous mark now
selects the command if command selection is
enabled.
- Added the option to hide the cursor when
keyboard focus is lost.
- You can now select a block of JSON and select
"Edit > Replace Selection > Replace with
Pretty-Printed JSON" to make it legible.
Same with encoding and decoding base64.
Settings Improvements:
- Tildes are now expanded in the folder for
automatic logging.
- Background image path can now be interpolated
strings.
- Dimming is temporarily disabled while in colors
settings.
- You can now right click on a text field in
settings and select "Reset to default value".
- Settings search now uses a Porter stemmer for
better recall. You can quote words or
phrases to do literal search.
- When opening settings the default profile is now
automatically selected.
- Added Settings > General > Experimental for
features that are almost but not quite ready for
prime time. Right-to-left text support and SSH
Integration for ssh: URLs is there.
New Key Binding Actions:
- There is a new key binding action, Copy Mode
Commands, that lets you perform copy mode
actions (e.g., enter copy mode, move the cursor
around, make a selection, and so on).
- Add a new key binding action "Copy Interpolated
String".
- Add a new key action, Bypass Terminal, that
allows systemwide shortcuts to be handled
without the terminal window taking them.
Triggers Improvements:
- Added a new trigger that lets you modify any
stylistic attribute of text by using SGR codes.
- The triggers and smart selection settings UIs
were revamped.
UI Improvements:
- The Snippets Toolbelt tool was revamped to show
hierarchy (tags with slashes define
directories).
- If you try to set a hotkey to a commonly used
shortcut, you'll be asked to confirm it.
- Improve appearances of some natively rendered
powerline glyphs.
- Improve the appearance of in-terminal buttons
when they overlap text.
- The UI for setting "send text at start" in
settings now has an expanding text box if you
feel like writing a lot.
- Some menu items now show a floating window that
explains their purpose when you hover over them.
- Improvements to the appearance of the Composer.
- Added a settings button to the selected command
buttons so you can disable command selection.
- Menu items were moved around to make the Window
menu less absurdly large.
- The appearance of announcements has been
updated.
- Add support for macOS 15's feature where double
clicking a title bar can be set in system
settings to fill the screen.
- Detect when there is a non-default background
color and extend it into the margins. In
Minimal, it is also extended into window chrome.
Open Quickly Improvements:
- Esc now closes the Open Quickly window.
- In Open Quickly, you can now use /A to restrict
results to open arrangements in tabs.
- Menu items are now accessible through Open
Quickly, making it into a command palette.
- Named marks are now accessible through Open
Quickly.
AI Improvements:
- You can now configure AI to use the recommended
model which will update for you automatically
when new models are released.
Core Improvements:
- Performance improvements when showing lots of
text (provided there are no triggers).
- Automatic profile switching job rules now match
against the full command line as well as just
the job name
Semantic History Improvements:
- Semantic history now searches ancestors of the
working directory if the path you click has a
prefix in common with a suffix of the working
directory.
- Semantic history can now be configured to send
text instead of opening a file.
- Windsurf added to Semantic History editors.
Terminal Emulation Improvements:
- Saved cursor position from DECSC is now reflowed
when resizing.
- Detect when mouse reporting and DEC 2048
reporting was accidentally left on by watching
for characters being echoed back.
- DEC 2048 is turned off automatically when
the current hostname is detected to have
changed.
- There is a new profile setting to automatically
turn on alternate mouse scroll in alternate
screen mode and another to restrict it to
vertical movement.
SSH Integration Improvements:
- SSH integration now lets you set the path to
ssh. You can set it in the UI under Settings >
Profiles > General > Configure or by setting the
SSH environment variable if you use it2ssh.
- File open/save panels now have the option to
show SSH hosts when you are connected with SSH
integration. So, for example, when you use
`it2ul` to upload a file, you could pick a file on
a different host that you're already connected
to.
- When using SSH integration, there is a new menu
item "Shell > ssh > Download Files" that opens a
file picker that lists files on the remote host
to download. Transfers go over ssh integration
so no new connection needs to be made.
Security Improvements:
- Secure settings are now used to record which
hostnames can have URLs opened by control
sequence.
Bug fixes:
- Fix various crashes.
- Fix a bug where "send text at start" didn't work
when a profile's windows are full screen.
- Draw cursor guide over powerline glyphs when
native powerling glyphs are enabled.
- Fix bad animations when animating cursor
movement.
- Make "fold to named mark" pick the last mark
with a given name.
- Fix a bug where folding to named mark would
sometimes place the collapsed line in the wrong
place.
- Fix a bug where an invisible composer window
could be left behind, preventing you from
clicking on the top of the terminal.
- Don't add snippets to the top level menu if they
have tags.
- Secure settings are now stored in /usr/local if
your home directory is a network mount.
- Fix a bug when copying a session's settings to a
profile where the per-session hotkey was also
copied over.
- Fix a bug where an empty cd command was issued
when running a command from an iterm: URL in an
existing session..
- Fix a bug where an empty "gray" window could be
left behind.
- Fix a bug where jump to selection didn't work.
- Systemwide hotkey is now hopefully more
reliable.
- Fix a bug where silent coprocesses didn't work
right with ssh integration.
- Fix a bug where restoring a window arrangement
could cause windows to appear on the wrong
screen.
- Fix some bugs in key reporting that differed
from Kitty's behavior.
- Inline HEIC images now work.
- Fix a visual bug when selecting half of a
double-width character.
- Fix many bugs in SIXEL image decoding.
- Fix a bug where reattaching to tmux integration
after relaunching the app didn't work.
- Rich text is de-richified when pasting into
Codecierge.
- Fix a bug with fish were you could end up with
two prompt marks on adjacent lines.
- Fix various bugs with fold/unfold in conjunction
with auto composer.
- Fix a bug where selecting a title provider
vended by a Python API script sometimes did not
work.
- Fix a bug where SSH Integration tabs would have
an activity indicator when they were idle.
- Fix it2dl over ssh integration.
- Fix a bug where you could do Move Pane to Tab
more than once concurrently.
- Prevent the accent menu from appearing behind
hotkey windows.
Things Made Worse:
- Stylstic alternatives are now only available when
ligatures are enabled to avoid taking a slow code
path that most people don't want.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
e6df715afcbed8742c6783bc506ad721163b7bbf8601edb957dbff6b4bc3e44a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaMS03AAKCRB0Et0TaFtK
rIT8AQDGTzI4jSxbJNr21/IPIb5VQ032xutuMq8O0nSwxBbbIwD/ey/+3lD8JjdO
n8eBon8kdI+lun21PZQoKiJ46cN0YRc=
=Zx8i
-----END PGP SIGNATURE-----
iTerm2 3.5.14 (OS 10.15+)
This is the recommended build for most users. Built on May 15, 2025.
[▾ Hide Changelog](<javascript:hideId('4731822922039327206')>)
Version 3.5.14 of iTerm2 was built on May 15, 2025
This is a quick bugfix release.
- Fix a bug where the background color of the
rightmost column was not always rendered
properly.
- Fix a bug where reattaching to tmux on restart
didn't work.
- Fix a bug where jump to selection didn't work.
- Fix a bug where empty windows would sometimes
appear.
- Fix a crash when the GPU is under high memory
pressure.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
585bd119e4cf3a5e6bfa6f3b6afecf416f02e28f8d81a3a1e949855da058cbdd
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaCaAIQAKCRB0Et0TaFtK
rCbYAQC6aexf2PmaLacHJJfprGl1FKB3bX8wKACsAppHF86NdAD/XzoyRoJpbWi5
7GboRDsFS8gZacDlAvqf/zOabr+3BRI=
=UVaj
-----END PGP SIGNATURE-----
iTerm2 3.5.13 (OS 10.15+)
This is the recommended build for most users. Built on April 10, 2025.
[▾ Hide Changelog](<javascript:hideId('7696370126557742187')>)
Version 3.5.13 of iTerm2 was built on April 10, 2025
Version 3.5.13 fixes a number of crashing bugs in
3.5.12 and also fixes a bug where window tiling
shortcuts didn't work properly.
Release notes for 3.5.12 follow:
Version 3.5.12 of iTerm2 was built on April 3, 2025
New Features:
- In apps that support the new key reporting
protocol (notably neovim) you can now map
keys to Hyper, Super, and Meta. Look in
Settings > Profiles > Keys > General.
- You can now opt to highlight non-default values
in settings. Toggle it with the dropdown menu on
the loupe in the settings search bar.
- You can now share triggers. Select one or more
triggers in Settings and click the Share button
on the bottom.
- You can now modify a profile in a saved
arrangement with
Session > Change Profile in Arrangement.
- Cursor movement can now be animated, making it
easier to track cursor location. Enable Animate
Movement in profiles text settings.
- You can now drag the composer window vertically.
- Added a new trigger to set a named mark.
- Added a new trigger to fold a section of
terminal contents.
Other Improvements:
- Fix a hang on machines with contested GPU memory
when using the GPU renderer.
- The zoom button menu is now enabled by default.
- Improve performance when up large files
or pasting enormous strings.
- Some menu items moved around to reduce the size
of the Window menu.
- You can now disable the secure keyboard input
indicator by clicking on it and then following a
link in the popover.
- When using a directory from Directory History at
the prompt, escape characters like space.
- There's a new advanced setting to enable
right-to-left text in alternate screen mode.
- The Terminal.app Compatibility key presets have
been updated for parity.
- The Command field in profile settings can now be
expanded so you have more room to edit long
commands.
- OpenAI's reasoning models are now supported.
- Fix wrong hash algorithm name in "known host"
message when using scp.
- If tmux doesn't respond to a request to
disconnect in a reasonable amount of time, offer
to forcibly disconnect.
- If you pick a Leader shortcut that's likely to
conflict with regular app usage, warn about it.
- UI update for settings.
Bug Fixes:
- Fix a bug where filter didn't work when you have
a status bar.
- Fix crashes.
- Add a setting to Profiles > Terminal to use
newline rather than carriage return for tmux
integration. This fixes a hang when starting
tmux integration on old/weird unixes.
- Fix a bug where the session hangs after a failed
download.
- Fix a bug where all tmux connections in a window
were detached when only a single one should have
been.
- Fix various key reporting bugs, which mostly
affects neovim.
- Fix a bug in the Jobs tool where entering an
illegal signal name made the signal name combo
box disabled.
- Fix a bug where the search result and mark
indicators under the scroll bar didn't always
fill the entire scrollbar region.
- Fix a bug in focus follows mouse mode where
window order was unexpected and activating a
window might switch desktops.
- Fix a bug where the initial window's size might
be wrong on macOS 15.
- Fix a bug where shell integration injection
didn't work in the presence of a custom shell if
you have .hushlogin in your home directory.
- Fix a bug where advanced GPU settings could
appear outside of settings.
- Fix a bug where opening a command from a URL
could add an empty `cd` command.
- Fix a bug where empty windows could sometimes
remain visible after changing window style.
- Fix a bug where emoji did not render properly
with the GPU renderer.
- Fix some discrepancies in key reporting when
using the Kitty protocol.
- Fix a bug when replacing text in history (such
as when rendering content natively).
- Fix a bug where control-arrow keys didn't always
work.
- Make Tip of the Day look better in dark mode.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
87f8f6ca41a8af5fa9ea38bdea2e51881311e7fac241a2c79d7630bc509a374d
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ/gvjQAKCRB0Et0TaFtK
rJv3AP4mviS/IMxVIPd6/uUjUBWzUoRr3H+x9utlifT6B2yWjAD9FNf9U8S0H8nL
b3AbGpExeOzKCaDRebGk1TELxdWruOE=
=cuhj
-----END PGP SIGNATURE-----
iTerm2 3.5.12 (OS 10.15+)
This is the recommended build for most users. Built on April 3, 2025.
[▾ Hide Changelog](<javascript:hideId('2307412078791154852')>)
Version 3.5.12 of iTerm2 was built on April 3, 2025
New Features:
- In apps that support the new key reporting
protocol (notably neovim) you can now map
keys to Hyper, Super, and Meta. Look in
Settings > Profiles > Keys > General.
- You can now opt to highlight non-default values
in settings. Toggle it with the dropdown menu on
the loupe in the settings search bar.
- You can now share triggers. Select one or more
triggers in Settings and click the Share button
on the bottom.
- You can now modify a profile in a saved
arrangement with
Session > Change Profile in Arrangement.
- Cursor movement can now be animated, making it
easier to track cursor location. Enable Animate
Movement in profiles text settings.
- You can now drag the composer window vertically.
- Added a new trigger to set a named mark.
- Added a new trigger to fold a section of
terminal contents.
Other Improvements:
- Fix a hang on machines with contested GPU memory
when using the GPU renderer.
- The zoom button menu is now enabled by default.
- Improve performance when up large files
or pasting enormous strings.
- Some menu items moved around to reduce the size
of the Window menu.
- You can now disable the secure keyboard input
indicator by clicking on it and then following a
link in the popover.
- When using a directory from Directory History at
the prompt, escape characters like space.
- There's a new advanced setting to enable
right-to-left text in alternate screen mode.
- The Terminal.app Compatibility key presets have
been updated for parity.
- The Command field in profile settings can now be
expanded so you have more room to edit long
commands.
- OpenAI's reasoning models are now supported.
- Fix wrong hash algorithm name in "known host"
message when using scp.
- If tmux doesn't respond to a request to
disconnect in a reasonable amount of time, offer
to forcibly disconnect.
- If you pick a Leader shortcut that's likely to
conflict with regular app usage, warn about it.
- UI update for settings.
Bug Fixes:
- Fix a bug where filter didn't work when you have
a status bar.
- Fix crashes.
- Add a setting to Profiles > Terminal to use
newline rather than carriage return for tmux
integration. This fixes a hang when starting
tmux integration on old/weird unixes.
- Fix a bug where the session hangs after a failed
download.
- Fix a bug where all tmux connections in a window
were detached when only a single one should have
been.
- Fix various key reporting bugs, which mostly
affects neovim.
- Fix a bug in the Jobs tool where entering an
illegal signal name made the signal name combo
box disabled.
- Fix a bug where the search result and mark
indicators under the scroll bar didn't always
fill the entire scrollbar region.
- Fix a bug in focus follows mouse mode where
window order was unexpected and activating a
window might switch desktops.
- Fix a bug where the initial window's size might
be wrong on macOS 15.
- Fix a bug where shell integration injection
didn't work in the presence of a custom shell if
you have .hushlogin in your home directory.
- Fix a bug where advanced GPU settings could
appear outside of settings.
- Fix a bug where opening a command from a URL
could add an empty `cd` command.
- Fix a bug where empty windows could sometimes
remain visible after changing window style.
- Fix a bug where emoji did not render properly
with the GPU renderer.
- Fix some discrepancies in key reporting when
using the Kitty protocol.
- Fix a bug when replacing text in history (such
as when rendering content natively).
- Fix a bug where control-arrow keys didn't always
work.
- Make Tip of the Day look better in dark mode.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
87b297803b492a877d33f8961a77e85b2e4f1206ea604f8c51f5f9b08dec3af6
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ+7ucQAKCRB0Et0TaFtK
rMLMAQCBVQIsNExvW39bjbqnsa8EIySDAZRiD/J96fy7E1HXAwEAi32It/+9H+8L
M0HlCqdTPFetRbGWenEdT5IGhe60dqA=
=XeI9
-----END PGP SIGNATURE-----
iTerm2 3.5.11 (OS 10.15+)
This is the recommended build for most users. Built on January 2, 2025.
[▾ Hide Changelog](<javascript:hideId('8296417464312466379')>)
Version 3.5.11 of iTerm2 was built on January 2, 2025.
This release contains a critical security fix. I
strongly recommend updating immediately.
Who is affected?
----------------
You may be affected if you used the SSH
integration feature in any of the following
versions:
* 3.5.6
* 3.5.7
* 3.5.8
* 3.5.9
* 3.5.10
* Any beta versions of 3.5.6 and later.
What is the issue?
------------------
A bug in the SSH integration feature caused input
and output to be logged to a file on the remote
host. This file, /tmp/framer.txt, may be readable
by other users on the remote host.
When does this occur?
---------------------
The issue occurs if both of the following conditions are true:
1. Either:
a) You used the it2ssh command, or
b) In Settings > Profiles > General, the
Command popup menu was set to "SSH" (not
"Login Shell", "Command", or "Custom
Command") AND "SSH Integration" was checked
in the SSH configuration dialog. That dialog
is shown when you click the Configure button
next to the ssh arguments field in Settings.
2. The remote host has Python 3.7 or later
installed in its default search path.
What should you do?
-------------------
* Upgrade immediately to version 3.5.11.
* Delete /tmp/framer.txt on affected hosts.
How I'm addressing this
-----------------------
I deeply regret this mistake and will take steps
to ensure it never happens again.
The code to write to log files in SSH integration
has been deleted and will not be publicly released
again.
If you have questions you can contact me at
[email protected].
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
655e32b4a9466104f1b0d8847e852515bc332bdf434801762e01b9625caa43e2
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ3br8gAKCRB0Et0TaFtK
rLntAQDqPcKkRA23Wo5/XuB2lymF8n+0GK3E+ZT3MYbTNgsnSQD/Xgt7V9QhP42n
QmQpnmb804FrHkCnqIJMvcBAim6AbBM=
=Zlrw
-----END PGP SIGNATURE-----
iTerm2 3.5.10 (OS 10.15+)
This is the recommended build for most users. Built on November 18, 2024.
[▾ Hide Changelog](<javascript:hideId('146544404272188998')>)
Version 3.5.10 of iTerm2 was built on November 18, 2024.
This build fixes a bug in reporting repeated
keypresses.
Version 3.5.9 was short-lived and its release
notes follow.
Version 3.5.9 introduces a few important fixes:
- Fix a bug where certain keys didn't work
properly in certain applications (specifically,
in disambiguate escapes mode). This affected
neovim in particular.
- Adds a UI to repair saved arrangements that were
broken by a bug in 3.5.7.
- Fixes a new crash introduced by version 3.5.7.
Version 3.5.7 had a possible data loss bug that
could break the saved copy of a profile in a saved
arrangement when migrating key bindings. The only
change in 3.5.8 is to fix this issue.
It is almost the same as version 3.5.6, but with
one crashing bug fixed. Version 3.5.6 was not
widely released. The release notes for 3.5.6
follow.
New Features
- You can now "fold" a section, which collapses it
down to a single line. If you use shell
integration, you can fold by clicking on the blue
arrow next to the shell prompt. Alternately,
select the command by clicking it once and then
click the new fold button at the top of the
selected region. If you don't use shell
integration, you can select a range of lines and
choose Fold from the context menu or Edit > Fold
Selected Lines.
To unfold, click the arrow in the margin or
right click on the line and select Unfold or
select Edit > Unfold in Selection.
- When saving a window arrangement you can now
choose to save it to a file including the
windows' contents. You can load an arrangement
file with Window > Load Arrangement from File.
- Added `Window > Lock Split Pane Width` which
tries to preserve the width of a split pane as
the window's geometry changes.
- You can now choose to play a sound when the next
mark is received, under Edit > Marks and
Annotations > Alerts.
Other Improvements
- Some silly default key bindings interfered with
macOS Sequoia's window tiling shortcuts. A new
migration process offers to remove them for you.
- SentinelOne users will be warned when upgrading
from this version to the next if the update
would be classified as malware.
- Show a warning when a Codecierge session goes on
for a long time.
- Change how the status bar measures memory used
to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
over an inactive window and use the scroll
wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
the Download with scp feature.
- When you drag a window by its titlebar in the
Minimal or Compact themese, bring the window to
the front immediately.
- Global Search now searches the main screen of a
session even if it is currently displaying the
alternate screen.
- When mouse reporting is on and you click in a
window that is not currently active, that click
will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
hostnames to avoid incorrectly changing the key
reporting mode.
- In macOS 15, if control-return would be
reported, don't show the context menu.
- If you run iTerm2 from the command line, the
--help argument now gives usage info.
- Remove special support for control-page up/down
to scroll, which interfered with window tiling
shortcuts. It was only there because of a
misunderstanding 14 years ago.
Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
might not be respected if the parent/default
profile uses separate light/dark mode colors
but the dynamic profile does not.
- Don't report option+keystrokes when using the
Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
hue/chroma visualization in colors settings.
- Hopefully fixed accessing machines on the local
network and bonjour hosts on macOS Sequoia.
- Fix a bug where locale settings didn't correctly
update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
reporting flags are set.
- Fix minor drawing bugs.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
4e42bb79ed285bc6aaea45f01bfe5c65d2d418bc7860a8e22a1313252f768fbb
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZzur5AAKCRB0Et0TaFtK
rF2ZAP4vvCVJDdntyyhPOT6BjsueFkT66I7/6UBeyecneUj6FQD/SPzNtmMlEpWx
dDxTNCYZvMnrx3w//ZV4hyxkszmOpEM=
=yIoy
-----END PGP SIGNATURE-----
iTerm2 3.5.9 (OS 10.15+)
This is the recommended build for most users. Built on November 15, 2024.
[▾ Hide Changelog](<javascript:hideId('3725134617352376779')>)
Version 3.5.9 of iTerm2 was built on November 15, 2024.
Bug fixes:
- Fix a bug where certain keys didn't work
properly in certain applications (specifically,
in disambiguate escapes mode). This affected
neovim in particular.
- Adds a UI to repair saved arrangements that were
broken by a bug in 3.5.7.
- Fixes a new crash introduced by version 3.5.7.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
fead780226ea604d96ba59fbddce9cda06f9c0e18e65949b0d26636c17c603a0
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZzfjtwAKCRB0Et0TaFtK
rEdrAQCu6b+cSnYWwanIAdJ6K1NI0hf6CoPslFrNZ2gmoOerrgEA7fkWTyJW0Hjz
u2Hwo82bQ+qp4Uw/ztFxadLHJ3AHGto=
=hCxh
-----END PGP SIGNATURE-----
iTerm2 3.5.8 (OS 10.15+)
This is the recommended build for most users. Built on November 12, 2024.
[▾ Hide Changelog](<javascript:hideId('6278647587708519526')>)
Version 3.5.8 of iTerm2 was built on November 12, 2024.
Version 3.5.7 had a possible data loss bug that
could break the saved copy of a profile in a saved
arrangement when migrating key bindings. The only
change in 3.5.8 is to fix this issue.
It is almost the same as version 3.5.6, but with
one crashing bug fixed. Version 3.5.6 was not
widely released. The release notes for 3.5.6
follow.
New Features
- You can now "fold" a section, which collapses it
down to a single line. If you use shell
integration, you can fold by clicking on the blue
arrow next to the shell prompt. Alternately,
select the command by clicking it once and then
click the new fold button at the top of the
selected region. If you don't use shell
integration, you can select a range of lines and
choose Fold from the context menu or Edit > Fold
Selected Lines.
To unfold, click the arrow in the margin or
right click on the line and select Unfold or
select Edit > Unfold in Selection.
- When saving a window arrangement you can now
choose to save it to a file including the
windows' contents. You can load an arrangement
file with Window > Load Arrangement from File.
- Added `Window > Lock Split Pane Width` which
tries to preserve the width of a split pane as
the window's geometry changes.
- You can now choose to play a sound when the next
mark is received, under Edit > Marks and
Annotations > Alerts.
Other Improvements
- Some silly default key bindings interfered with
macOS Sequoia's window tiling shortcuts. A new
migration process offers to remove them for you.
- SentinelOne users will be warned when upgrading
from this version to the next if the update
would be classified as malware.
- Show a warning when a Codecierge session goes on
for a long time.
- Change how the status bar measures memory used
to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
over an inactive window and use the scroll
wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
- When you drag a window by its titlebar in the
Minimal or Compact themese, bring the window to
the front immediately.
- Global Search now searches the main screen of a
session even if it is currently displaying the
alternate screen.
- When mouse reporting is on and you click in a
window that is not currently active, that click
will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
hostnames to avoid incorrectly changing the key
reporting mode.
- In macOS 15, if control-return would be
reported, don't show the context menu.
- If you run iTerm2 from the command line, the
--help argument now gives usage info.
- Remove special support for control-page up/down
to scroll, which interfered with window tiling
shortcuts. It was only there because of a
misunderstanding 14 years ago.
the Download with scp feature.
Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
might not be respected if the parent/default
profile uses separate light/dark mode colors
but the dynamic profile does not.
- Don't report option+keystrokes when using the
Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
hue/chroma visualization in colors settings.
- Hopefully fixed accessing machines on the local
network and bonjour hosts on macOS Sequoia.
- Fix a bug where locale settings didn't correctly
update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
reporting flags are set.
- Fix minor drawing bugs.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
b6adb611421754f4e5eebafae3f045d835a7184d05ef6e79ac7eb7b35805f94c
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZzPPQgAKCRB0Et0TaFtK
rAvFAP9QGY0E/bchhvBccUPaNOiw0PDA6+UICg9s1/0KTVc2rAEAmN0Fp7mARo+7
Qt4UCVFh46N7bUE9LaHiIs+YFPsY/MA=
=gwlG
-----END PGP SIGNATURE-----
iTerm2 3.5.7 (OS 10.15+)
This is the recommended build for most users. Built on November 11, 2024.
[▾ Hide Changelog](<javascript:hideId('3478968700259993089')>)
Version 3.5.7 of iTerm2 was built on November 11, 2024.
It is almost the same as version 3.5.6, but with
one crashing bug fixed. Version 3.5.6 was not
widely released. The release notes for 3.5.6
follow.
New Features
- You can now "fold" a section, which collapses it
down to a single line. If you use shell
integration, you can fold by clicking on the blue
arrow next to the shell prompt. Alternately,
select the command by clicking it once and then
click the new fold button at the top of the
selected region. If you don't use shell
integration, you can select a range of lines and
choose Fold from the context menu or Edit > Fold
Selected Lines.
To unfold, click the arrow in the margin or
right click on the line and select Unfold or
select Edit > Unfold in Selection.
- When saving a window arrangement you can now
choose to save it to a file including the
windows' contents. You can load an arrangement
file with Window > Load Arrangement from File.
- Added `Window > Lock Split Pane Width` which
tries to preserve the width of a split pane as
the window's geometry changes.
- You can now choose to play a sound when the next
mark is received, under Edit > Marks and
Annotations > Alerts.
Other Improvements
- Some silly default key bindings interfered with
macOS Sequoia's window tiling shortcuts. A new
migration process offers to remove them for you.
- SentinelOne users will be warned when upgrading
from this version to the next if the update
would be classified as malware.
- Show a warning when a Codecierge session goes on
for a long time.
- Change how the status bar measures memory used
to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
over an inactive window and use the scroll
wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
- When you drag a window by its titlebar in the
Minimal or Compact themese, bring the window to
the front immediately.
- Global Search now searches the main screen of a
session even if it is currently displaying the
alternate screen.
- When mouse reporting is on and you click in a
window that is not currently active, that click
will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
hostnames to avoid incorrectly changing the key
reporting mode.
- In macOS 15, if control-return would be
reported, don't show the context menu.
- If you run iTerm2 from the command line, the
--help argument now gives usage info.
- Remove special support for control-page up/down
to scroll, which interfered with window tiling
shortcuts. It was only there because of a
misunderstanding 14 years ago.
the Download with scp feature.
Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
might not be respected if the parent/default
profile uses separate light/dark mode colors
but the dynamic profile does not.
- Don't report option+keystrokes when using the
Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
hue/chroma visualization in colors settings.
- Hopefully fixed accessing machines on the local
network and bonjour hosts on macOS Sequoia.
- Fix a bug where locale settings didn't correctly
update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
reporting flags are set.
- Fix minor drawing bugs.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
9082e8b7f38764e7e74bb488035c82cf552c132345f233c309ccc37d9f7f2f08
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZzJ2hQAKCRB0Et0TaFtK
rCnLAP9xaEDc7KW08eBB7Ju6vnyvpLAMBArUKIhCaohr8OHfoQEA1bzMhA+GkHqW
0aa7+JL/Z7zhCd9wsOv0XLL1d6/RxHw=
=WGlm
-----END PGP SIGNATURE-----
iTerm2 3.5.6 (OS 10.15+)
This is the recommended build for most users. Built on November 2, 2024.
[▾ Hide Changelog](<javascript:hideId('6524829505104903728')>)
Version 3.5.6 of iTerm2 was built on November 2, 2024.
New Features
- You can now "fold" a section, which collapses it
down to a single line. If you use shell
integration, you can fold by clicking on the blue
arrow next to the shell prompt. Alternately,
select the command by clicking it once and then
click the new fold button at the top of the
selected region. If you don't use shell
integration, you can select a range of lines and
choose Fold from the context menu or Edit > Fold
Selected Lines.
To unfold, click the arrow in the margin or
right click on the line and select Unfold or
select Edit > Unfold in Selection.
- When saving a window arrangement you can now
choose to save it to a file including the
windows' contents. You can load an arrangement
file with Window > Load Arrangement from File.
- Added `Window > Lock Split Pane Width` which
tries to preserve the width of a split pane as
the window's geometry changes.
- You can now choose to play a sound when the next
mark is received, under Edit > Marks and
Annotations > Alerts.
Other Improvements
- Some silly default key bindings interfered with
macOS Sequoia's window tiling shortcuts. A new
migration process offers to remove them for you.
- SentinelOne users will be warned when upgrading
from this version to the next if the update
would be classified as malware.
- Show a warning when a Codecierge session goes on
for a long time.
- Change how the status bar measures memory used
to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
over an inactive window and use the scroll
wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
- When you drag a window by its titlebar in the
Minimal or Compact themese, bring the window to
the front immediately.
- Global Search now searches the main screen of a
session even if it is currently displaying the
alternate screen.
- When mouse reporting is on and you click in a
window that is not currently active, that click
will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
hostnames to avoid incorrectly changing the key
reporting mode.
- In macOS 15, if control-return would be
reported, don't show the context menu.
- If you run iTerm2 from the command line, the
--help argument now gives usage info.
- Remove special support for control-page up/down
to scroll, which interfered with window tiling
shortcuts. It was only there because of a
misunderstanding 14 years ago.
the Download with scp feature.
Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
might not be respected if the parent/default
profile uses separate light/dark mode colors
but the dynamic profile does not.
- Don't report option+keystrokes when using the
Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
hue/chroma visualization in colors settings.
- Hopefully fixed accessing machines on the local
network and bonjour hosts on macOS Sequoia.
- Fix a bug where locale settings didn't correctly
update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
reporting flags are set.
- Fix minor drawing bugs.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
a026eadaffe893b76e0401ff3f38b2a5d90834a138bb9b4c35343c56350171c9
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZyZ/qAAKCRB0Et0TaFtK
rMPHAQDXI/rsUkRoEYj2sBxt/gf8B5cuAFl6Gs0+g/oEEOrojAEAotfjW0gf8UCK
hxwN66B8aWvm+3b8TQJhaX6e63Oq31k=
=8+JW
-----END PGP SIGNATURE-----
iTerm2 3.5.5 (OS 10.15+)
This is the recommended build for most users. Built on September 19, 2024.
[▾ Hide Changelog](<javascript:hideId('1039789036992234679')>)
3.5.5, build September 19, 2024.
This release fixes a number of crashes present in
3.5.4.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
ac04449446db746db04aa2616a8ce5945e4577599d51a9ec624a7dc28fa27eac
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZuzEcgAKCRB0Et0TaFtK
rF1gAP91UxUIZ4EJoNO3NaoBzgMTlZRWfFOGxLk731y8nxHsOQEAnW0aJ/OLPtJU
pQdvy0ZCiFSVmBoF+JPFMHCz8OkVB1U=
=Pjce
-----END PGP SIGNATURE-----
iTerm2 3.5.4 (OS 10.15+)
This is the recommended build for most users. Built on August 10, 2024.
[▾ Hide Changelog](<javascript:hideId('8964009168356662218')>)
3.5.4
New Features
- Added a menu item "Literal Mode", that shows
control characters (e.g., as ^C) rather than
interpreting them.
- Composer now makes suggestions for executables
by searching $PATH, including in ssh
integration.
- In tmux integration, remember window sizes.
- Add a menu item, Clear Find, to remove search
results.
Improvements
- Improve performance when you have lots of OSC 8
URLs.
- Prevent a bunch of garbage from being written
when you run tmux -CC with an argument besides
new or attach.
- Rename Prefs to Settings in many places.
- Improve performance of search when there are
thousands of results.
- Improve how focus follows mouse interacts with
the Composer and the Find panel.
- If AI is disabled by MDM, disable it in the
menu.
- Support more kinds of keyboards in Copy mode.
- Don't dismiss the hotkey window when an
authentication window appears.
- Performance improvements.
- You can now elect to have no components in
session titles. This is useful if you always set
titles with a control sequence and don't want
other stuff to appear.
Bug Fixes
- Fix a number of crashes.
- Fix a bug where there "create script" dialog had
two cancel buttons.
- Fix broken ligature suport for MenloNF.
- Fix searching profiles by tag.
- Fix a bug where cmd-tab didn't play nicely with
remapping modifiers, making cmd-tab unreliable.
- Fix a bug where there were stray pixels above
letters in the GPU renderer on some fonts.
- Fix a bug where filter could miss updates to the
last line prior to a newline.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
acfb8f93550277c231c572a488cd0290e74bce538354a5f5515a889ea4b44bd5
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZre1wgAKCRB0Et0TaFtK
rO4iAP9FM8/6kWoBC1aCAgK6Kp3YZNmqcuZ6sJmHqY3jhZbprQEAhOrBqvCv9cfN
maCrsQIqBNXQYPIcA5IA39Y5HUutAx8=
=7cZQ
-----END PGP SIGNATURE-----
iTerm2 3.5.3 (OS 10.15+)
This is the recommended build for most users. Built on July 2, 2024.
[▾ Hide Changelog](<javascript:hideId('1399654627843525923')>)
3.5.3
New Features
- You can now run iTerm2 from a script with
--command=xxx to open a window running the
specified command.
- If you make a selection in the composer prior to
pressing shift-enter, only the selection is sent
(and no newline is appended).
- Add support for multi-line search queries.
- Add support for DECRQDE.
Improvements
- Saved arrangements with invalid locales can now
be updated by the same UI that helps you pick a
valid locale.
- When using focus follows mouse and the mouse
exits the search panel give the terminal
keyboard focus.
- Add "share command output" to the command share
menu (the share button visible when using auto
composer).
- Add option to copy both command and output to
the command share menu.
- Reorganize command share menu to make mroe sense.
- When navigating to a mark, select its command
automatically.
- Improve appearance of cursor guide.
- Fix a bug where cmd-0 didn't reset the font
correctly when a non-ASCII font isn't in use.
- When you do cmd-E and the search mode is regex,
escape the string so it matches.
- Don't show offscreen command line if the cursor
is under it.
- Improve locale-picking dialog. You can now
choose a minimal locale if you just want UTF-8
support but no localizations.
- Add Info button to past commands when auto
composer is in use.
- Make snippet search work like profile search.
Bug Fixes
- Fix crashes
- Fix a bug where the customized terminfo provided
by iTerm2 had compatibility problems.
- Fix a bug where colors in background images were
wrong.
- Fix a bug where cmd-hover didn't alwasy show a
link preview.
- Fix a bug where $PATH was sometimes missing
expected values.
- Fix a bug where OSC 8 URLs didn't always work.
- Fix a bug where the Auto Composer's height was
too short.
- Fix a bug where sending a snippet with a tag
filter from the Toolbelt could send the wrong
snippet.
- Fix a bug where 'Terminal may report window
title' was not honored.
- Fix crashes.
- Fix autocomplete, which was completely broken.
- Don't trim whitespace when copying with control
sequences.
- Greatly improve the appearance of selected
commands when a background image is present.
- Improve appearance of offscreen command line in
GPU renderer.
- Fix incorrectly drawn powerline symbols.
- Fix incorrectly drawn box characters.
- Fix a bug where triggers that match on the bell
didn't work.
- Fix performance problems some users experienced
with ssh.
- Fix a bug where some programs weren't correctly
detected as the active job (e.g., in session
titles).
- Fix a bug where the composer didn't get keyboard
focus when AI produces a command.
- Fix nonstandard behavior when dragging a window.
- Fix Copy when auto composer is in use and the
terminal has a selection but the composer does
not.
- Fix a bug where modifier remapping didn't do the
right thing when releasing a key, causing
problems with cmd-tab.
- Fix a bug where cmd-0 didn't reset the font
correctly when a non-ascii font isn't in use.
- Fix a bug where some controls were the wrong
colors against dark backgrounds.
- Fix discrepancy in box drawing characters gpu vs
legacy.
- Fix bug in escaping regexes that have
backslashes.
- Improve IME support in Composer.
- Fix font selection visual bugs in macOS 10.15.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
5f789abff55ff2f69f6d51964c5fb7fd8599fcde113604b7a0e6ea39414ad4a9
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZoSWqQAKCRB0Et0TaFtK
rGEEAP9/5SbawMfD8LRxrbzunu+mzog4foRWZ5QEZKZQ7+/mgwEA6mhdoGeTyd/k
/l9tyACmsIL3q1fNJCPcjUH0P9YaGE0=
=A0dj
-----END PGP SIGNATURE-----
iTerm2 3.5.2 (OS 10.15+)
This is the recommended build for most users. Built on June 13, 2024.
[▾ Hide Changelog](<javascript:hideId('7043307240741129324')>)
3.5.2
This version of iTerm2 patches a security issue
present in previous builds of 3.5, including
betas. Please upgrade right away.
Bug Fixes
---------
- Fix a bug where the "Terminal may report window
title" setting was not respected. This makes a
remote code execution attack possible.
- Disable controls in Settings when generative AI
is disabled in advanced settings or by MDM.
Since 3.5.1 was a short-lived release, the release
notes for 3.5.1 follow:
3.5.1
This release adds some safety valves to eliminate
the risk of private information leaving the
terminal via the AI endpoints. While an API key
and explicit user action were always needed to use
AI features, some users asked for an impenetrable
firewall for safety and regulatory purposes.
To that end, there are three relevant changes:
1. Code that communicates with AI providers such
as OpenAI has been moved into a plugin that you
must install separately. Enterprise system admins
can block bundle id com.googlecode.iterm2.iTermAI
to prevent it from being installed in the first
place.
See here for details:
https://iterm2.com/ai-plugin.html
2. In addition, you must manually enable AI
features in Settings. Doing so requires admin
access.
3. Enterprise administrators who wish to disable
iTerm2's AI access may set the user default
GenerativeAIAllowed to False in their MDM systems.
New Features
------------
- Cmd-shift-click on a command's output to select
it.
Improvements
------------
- Previously it was easy to choose a locale
without the right character encoding. Detect
this and offer a chance to try again. For users
who did fall into this trap, ask them to try
- Add an option to use LC_CTYPE=UTF-8 as your
locale.
- Keypresses in SSH integration no longer wait for
one to ACK before the next is sent.
- Move OpenAI API key to the keychain.
- Add gpt-4o model.
- Fix drag-drop to upload with SSH integration
when using ~/.ssh/config where Host isn't equal
to Hostname.
- Prompts for Codecierge are now in advanced
settings.
- Scroll-to-end keybindings are now broadcast when
input broadcasting is on.
- Various controls for AI have been moved to the
main Settings panel so it's easier to use a
local model.
- Add an advanced setting to disable the secure
keyboard entry indicator.
- Indicators get an outline to make them stand out
from the background.
- Codecierge gets a larger text box to enter your
goal.
- Various powerline characters no longer respond
to minimum contrast so their colors can match
adjacent background colors.
- Improve error reporting in AI code.
- Make canceling an AI request work faster.
- Only ask for accessibility permission once per
app version.
- Use selection color to outline selected command.
- Add a setting to disable horizontal scroll
reporting. This fixes a problem where swiping to
switch tabs didn't work when mouse reporting was
on.
Bug Fixes
- Fix a bug where adding items to the password
manager would overwrite other items.
- Fix a bug where the background image could
overflow the bounds of the image control and
fill the settings window. It was a very pretty
bug.
- Fix a bug where autocomplete didn't work at all.
- Fix a bug in it2ssh when connecting to hosts
that don't use bash as /bin/sh.
- Fix crashes.
- Fix a performance problem with long scrollback
history. Existing history will need to be
cleared before the benefit is seen.
- Fix double-paste when drag-dropping text.
- Fix support for non-OpenAI LLMs.
- Typing while it2ssh is connecting no longer
breaks it.
- Fix performance issue with very long window
titles.
- Fix gpt-4o support which had too many response
tokens.
- Support responses from LLMs without an index
field.
- Fix a bug where there were stray pixels above
some characters.
- Fix alignment of box-drawing characters in GPU
renderer.
- Control-[ closes the find bar when it's in the
status bar.
- Fix a bug where modifier remapping didn't work
with some actions such as cmd-clicking links.
- The "offscreen command line" shown at the top
when part of a command's output is truncated now
includes the background colors of the command
line.
- Fix a bug where focus-follows-mouse didn't
activate a window when the cursor only enters
the scrollbar.
- Fix discrepancies between GPU and legacy
renderers that drew things in different orders.
- Fix a crash with the smart selection action "run
command in window".
- Fix bugs in dragging dividers between tools in
Toolbelt.
- Fix a bug where scroll-to-end keybindings didn't
work.
- Fix a bug where tab or window titles sometimes
wouldn't show the current job's name.
- Rename preferences to settings in tip of the
day.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
76ae9203144ca2b72ea699b47f3337ede88aabb06a0e2424b64196e60813385a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZmsfCgAKCRB0Et0TaFtK
rBOIAQCyxYffIe16QYQN2jEQJDBuDvDomsn1n3nZyxx2PJd9VAEAh6FQSwTA0f4Q
Mn+cZ/3lCEr4Gu/dY34X7UwFywZxhVA=
=n0mV
-----END PGP SIGNATURE-----
iTerm2 3.5.1 (OS 10.15+)
This is the recommended build for most users. Built on June 11, 2024.
[▾ Hide Changelog](<javascript:hideId('71498655755037629')>)
3.5.1
This release adds some safety valves to eliminate
the risk of private information leaving the
terminal via the AI endpoints. While an API key
and explicit user action were always needed to use
AI features, some users asked for an impenetrable
firewall for safety and regulatory purposes.
To that end, there are three relevant changes:
1. Code that communicates with AI providers such
as OpenAI has been moved into a plugin that you
must install separately. Enterprise system admins
can block bundle id com.googlecode.iterm2.iTermAI
to prevent it from being installed in the first
place.
See here for details:
https://iterm2.com/ai-plugin.html
2. In addition, you must manually enable AI
features in Settings. Doing so requires admin
access.
3. Enterprise administrators who wish to disable
iTerm2's AI access may set the user default
GenerativeAIAllowed to False in their MDM systems.
New Features
------------
- Cmd-shift-click on a command's output to select
it.
Improvements
------------
- Previously it was easy to choose a locale
without the right character encoding. Detect
this and offer a chance to try again. For users
who did fall into this trap, ask them to try
- Add an option to use LC_CTYPE=UTF-8 as your
locale.
- Keypresses in SSH integration no longer wait for
one to ACK before the next is sent.
- Move OpenAI API key to the keychain.
- Add gpt-4o model.
- Fix drag-drop to upload with SSH integration
when using ~/.ssh/config where Host isn't equal
to Hostname.
- Prompts for Codecierge are now in advanced
settings.
- Scroll-to-end keybindings are now broadcast when
input broadcasting is on.
- Various controls for AI have been moved to the
main Settings panel so it's easier to use a
local model.
- Add an advanced setting to disable the secure
keyboard entry indicator.
- Indicators get an outline to make them stand out
from the background.
- Codecierge gets a larger text box to enter your
goal.
- Various powerline characters no longer respond
to minimum contrast so their colors can match
adjacent background colors.
- Improve error reporting in AI code.
- Make canceling an AI request work faster.
- Only ask for accessibility permission once per
app version.
- Use selection color to outline selected command.
- Add a setting to disable horizontal scroll
reporting. This fixes a problem where swiping to
switch tabs didn't work when mouse reporting was
on.
Bug Fixes
- Fix a bug where adding items to the password
manager would overwrite other items.
- Fix a bug where the background image could
overflow the bounds of the image control and
fill the settings window. It was a very pretty
bug.
- Fix a bug where autocomplete didn't work at all.
- Fix a bug in it2ssh when connecting to hosts
that don't use bash as /bin/sh.
- Fix crashes.
- Fix a performance problem with long scrollback
history. Existing history will need to be
cleared before the benefit is seen.
- Fix double-paste when drag-dropping text.
- Fix support for non-OpenAI LLMs.
- Typing while it2ssh is connecting no longer
breaks it.
- Fix performance issue with very long window
titles.
- Fix gpt-4o support which had too many response
tokens.
- Support responses from LLMs without an index
field.
- Fix a bug where there were stray pixels above
some characters.
- Fix alignment of box-drawing characters in GPU
renderer.
- Control-[ closes the find bar when it's in the
status bar.
- Fix a bug where modifier remapping didn't work
with some actions such as cmd-clicking links.
- The "offscreen command line" shown at the top
when part of a command's output is truncated now
includes the background colors of the command
line.
- Fix a bug where focus-follows-mouse didn't
activate a window when the cursor only enters
the scrollbar.
- Fix discrepancies between GPU and legacy
renderers that drew things in different orders.
- Fix a crash with the smart selection action "run
command in window".
- Fix bugs in dragging dividers between tools in
Toolbelt.
- Fix a bug where scroll-to-end keybindings didn't
work.
- Fix a bug where tab or window titles sometimes
wouldn't show the current job's name.
- Rename preferences to settings in tip of the
day.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
745a6f90795e5f0910379e979f5a2298d44267430ca8334202cb5e65be497b58
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZmjQ9AAKCRB0Et0TaFtK
rMwEAQDxyoZrpWtlTz8YKyowJ6G0G9swkjK6/HK+2VxLXH5oRgEAysnhZRGePBua
4amwFf6ZEFFOewpr5I70PqPaNkRuPa4=
=xNSU
-----END PGP SIGNATURE-----
iTerm2 3.5.0 (OS 10.15+)
This is the recommended build for most users. Built on May 17, 2024.
[▾ Hide Changelog](<javascript:hideId('8371463212605616818')>)
3.5.0
This version of iTerm2 represents over two years
of work and it has an awful lot of changes.
Here are the most important improvements:
- If you use shell integration and the output of a
command goes past the top of the screen, the
command will be shown at the top.
- A new menu item, Edit > Find > Filter, lets you
hide lines not matching a substring or regular
expression. This is useful for analyzing logs.
- You can click a command to select it. Search,
Filter, and Select All will then be restricted
to the selected command. You can disable this
feature in Settings > General > Selection.
- Add support for separate light/dark mode colors.
- Using OpenAI's ChatGPT API, iTerm2 can now write
commands for you, interpret the output of
commands, and guide you towards a goal. See the
AI section below for details.
- Add "Render Selection", which replaces a chunk
of selected text with a natively rendered view.
For example, JSON gets pretty-printed and syntax
highlighted. Rendered selections have the option
of scrolling horizontally to make navigating
logs easier. They are searchable. Over 150
different languages are supported for syntax
highlighting. Markdown gets special treatment
and displays its rendered format.
- The password manager can now use LastPass or
1Password rather than the keychain. Use the (⋯)
menu next to the search field to configure it.
There are some new experimental features. There
are not fully baked, but feedback on them is
welcome.
- There is a nascent SSH integration feature
available for testing. You can try it by setting
a profile's command to SSH. The integration lets
you export environment variables and copy files
to the remote host. If Python 3.7 or later is
available on the remote host, various features
such as the Jobs status bar and toolbar
components will reflect data from the remote
rather than the local.
- Add an experimental "auto composer" feature that
replaces the command line with a native control.
This is still a work in progress.
The full list of new features follows:
- Highlight triggers evaluate much faster now.
- Input is now handled off the main thread. This
increases throughput and decreases latency. We
can now redraw at a higher frame rate without
impacting throughput significantly.
- Selecting a bunch of text used to lock up the UI
for a long time, but it is now instant. The hard
work is deferred until you actually paste the
text.
- Semantic history (cmd-clicking on a filename)
used to search the filesystem on the main thread
which could cause hangs (such as on slow network
filesystems). This work has been moved to a
separate process to keep the UI responsive.
- Trigger evaluation, especially when you have
many triggers, is significantly faster now.
- Add AI-powered natural language command
generation. Enter a prompt in the composer and
select Edit > Engage Artificial Intelligence.
You will need to provide an OpenAI API key since
GPT costs money to use.
- A new AI feature in the Toolbelt, "Codecierge",
lets you set a goal and then walks you
step-by-step to completing it by watching the
terminal contents. It requires you to supply an
OpenAI API key.
- Tabs now have a separate configurable subtitle
under the main title.
- The tab bar in the Minimal theme now uses the
same transparency as the rest of the window.
- Add support for 120hz.
- The vertical line and horizontal line cursors
now have a subtle shadow to improve their
visibility.
- Add "Convert Matches to Selections" menu item.
- Make menu items searchable in key bindings and
pointer bindings.
- The P3 color space is now supported. The color
picker uses P3 and control sequences that accept
a color space now accept p3.
- Selecting URLs (cmd-opt-u) now enables shortcuts
to jump to them by number.
- Use the running program's first letter as the
tab icon if there is no built-in icon.
- Add "Find All Smart Selection Matches", which
searches for any string matching a smart
selection. Those that are initially visible can be
copied with a keystroke or immediately sent with
option+keystroke.
- Add "named marks" which make it easier to find
your spot in history.
- Clear Buffer can now be broadcast like keyboard
input.
- Add "Add tab on right" to tab context menu.
- Option-cmd-click now selects the second smart
selection action.
- Add "Duplicate Session". It supports ssh
integration, even with jump hosts!
- Add Shell > Duplicate Window.
- Add "Add Alert on Marks in Offscreen Sessions"
which is a sticky setting that lets you know
when a command in a not-currently-visible
session finishes. Requires shell integration.
- Add "Move session to tab" to context menu.
- Add Window > Move session to tab
- Right-clicking on a number in scientific
notation like 6.022e23 shows its expanded form
in the context menu.
- You can now search the tty and foreground job
process ID in the Open Quickly window.
- Add key binding actions for next/previous pane.
- There are new key binding actions for Windows
refugees who want to use Control-C and Control-V
to copy and paste. "Copy or Send ^C" and "Paste
or Send ^V" will copy (if there's a selection)
or paste (if the clibpoard has text)
and otherwise send the control character.
- Squelch audible beeps when focus reporting is
the likely cause.
- Offer to turn off mouse reporting for BEL when
they seem to be correlated.
- Add a menu item to install an already-downloaded
Python runtime.
- Informative values in context menu (e.g.,
hex-to-decimal conversions) are now copyable.
- Add option to enable GPU renderer in low power
mode.
- The paste history tool now has a context menu.
- Add Unicode 15 emoji.
- Emoji flags now draw as double-width.
- You can now assign fonts to specific ranges of
unicode. There is a built-in shortcut to get all
the powerline symbols, including down the
requisite fonts.
- Make certain powerline symbols draw wider.
- Add support for native rendering of the
following powerline extended symbols:
U+E0A3: column-number
U+E0B0: Powerline_normal-left
U+E0B2: Powerline_normal-right
U+E0B4: right-half-circle-thick
U+E0B5: right-half-circle-thin
U+E0B6: left-half-circle-thick
U+E0B7: left-half-circle-thin
U+E0B8: lower-left-triangle
U+E0C0: flame-thick
U+E0C1: flame-thin
U+E0CE: lego_separator
U+E0CF: lego_separator_thin
U+E0D0: lego_block_facing_WIP
U+E0D1: lego_block_sideways
U+E0D3: lego_block_facing_WIP-3d-good
- Support variation selector 16 except in
alternate screen mode.
- The font picker now supports stylistic
alternatives.
- Add setting to select opacity of faint text.
- Add View > Disable transparency in key window.
This lets you have transparency/blur in
background windows.
- Add a preference to force creating a new window
on launch, even if there is a hotkey window.
- You can now bind "select menu item" to pointer
events (clicks and gestures).
- Add a setting to preserve windows' spaces on
restoration.
- You can configure a shortcut to be a "leader".
This allows you to define two-keystroke
shortcuts, composed of leader + some other
shortcut. For example, if you make cmd-B the
leader then you can create a key binding for
leader+h/j/k/l to navigate among split panes.
- Add "copy" as a new smart selection action.
- Add a new kind of key binding action called
"sequence" that performs any number of other key
binding actions in order.
- You can now remap the fn key if you have a
MacBook.
- You can now import and export *all* the
iTerm2-related data in Settings > General >
Preferences > Export/Import All Settings And
Data.
- Key bindings can now be applied to multiple
sessions (e.g., all sessions in this window).
- You can now customize copy mode shortcuts by
placing a file in ~/Library/Application
Support/iTerm2/CopyModeKeyBindings.dict.
See the similarly named file in the app bundle
for a reference.
- Add menu item to clear instant replay.
- Code points 0xf000-0xf003 can now be rendered.
These are sometimes used in nerd fonts.
- Add a reset button to the modifier remapping UI.
- Add ability to remap the right control key.
- Having a separate color for selected text is now
optional.
- Add a preference to avoid blocking system
shutdown.
- There's a new key binding action to alert on the
next mark.
- Add 'interpret key bindings based on physical
key, ignoring input language' setting so your
key bindings stay the same when changing
keyboard layout.
- Add option to notify of noncritical shell
integration updates.
- Claim to be xterm version 314 and a vt220. This
will enable new features in various programs,
such as better key reporting in vim and emacs.
It may introduce new incompatibilities too!
Please let me know if something breaks.
- Add support for various control sequences that
affect colors (OSC 12, 17, 19, 104, 110, 111,
112, 117, and 119).
- Add support for OSC 22 to set mouse cursor. The
following styles are supported:
X_cursor, arrow, based_arrow_down,
based_arrow_up, cross, cross_reverse,
crosshair, hand1, hand2, left_ptr, left_side,
right_side, sb_h_double_arrow, sb_left_arrow,
sb_right_arrow, sb_up_arrow,
sb_v_double_arrow, tcross, xterm
- Add support for colored underlines.
- Add support for SGR 8 (invisible text).
- Function keys now send modifier flags as long as
TERM begins with `xterm`.
- Compatibility improvements to "modifyOtherKeys"
mode.
- Add support for various control sequences:
- CSI ^
- CSI a
- DEC(RE)SET 1007
- DEC(RE)SET 1016
- DEC(RE)SET 1047
- DEC(RE)SET 1048
- DEC(RE)SET 12 (blinking cursor: disabled by
default in new pref)
- DEC(RE)SET 66
- DECBI
- DECCARA
- DECCRA
- DECDC
- DECDSR
- DECERA
- DECFI
- DECFRA
- DECIC
- DECNCSM
- DECRARA (yeah! let's go!)
- DECRQPSR
- DECRQSS
- DECRSPS
- DECSACE
- DECSCA
- DECSCPP
- DECSED
- DECSEL
- DECSERA
- DECSLPP
- DECSNLS
- EPA
- HPA
- SGR 21 (double underline)
- SL
- SPA
- SR
- Tertiary DA
- XTPOPSGR
- XTPUSHSGR
- XTSETTCAP
- XTSMGRAPHICS
- push/pop/report colors
- Provide a modified termcap that advertises
Setulc (underline color support) for
xterm-256color.
- Clipboard content reporting via control sequence
OSC 52 is now supported, but requires user
consent to enable.
- There's a new control sequence for rich
notifications:
[esc]1337;Notification=[params][control-G]
Where params is a semicolon-delimited list of
key value pairs:
message=[text]
The text to display.
title=[text]
Optional notification title.
subtitle=[text]
Optional notification subtitle.
image=[data]
Optional base64-encoded image.
- Add support for inline SVGs.
- Mouse reporting now supports horizontal
scrolling and more mouse buttons.
- Add DECSET 2026 for synchronized updates.
- Add support for mouse reporting buttons 10 and
11 and horizontal scrolling.
- Stop parsing OSC control sequences after 1
megabyte.
- Add OSC 1337 OpenURL=:(base64-encoded URL)
- Control sequences that set color values accept
4-digit hex values now.
- Enabling CSI u mode in your profile does not
enable Disambiguate Escapes now. This additional
setting is now exposed in the Terminal State menu.
- Add Inject trigger. It injects input to the
terminal as though it had been read from the
running app.
- Add a new trigger action to set a user-defined
variable.
- Add Triggers status bar component to make it
easier to manage your triggers.
- Add a variable "line" when evaluating a
trigger's interpolated string, giving the line
number since the start of history.
- Add session size as a feature you can show in
tab titles.
- Add a mouseInfo variable that exposes info about
the last button event to Python API scripts.
- You can now invoke API-registered functions from
Open Quickly.
- Set ITERM2_COOKIE in coprocesses so they can use
the Python API without an extra authentication
step. All other environment variables that
sessions have are also now provided to
coprocesses.
- Add a setting for the location of Python API
scripts.
- Add builtin functions "iterm2.paste()" and
"iterm2.focus()".
- You can now invoke script functions from mouse
bindings.
- Script invocations can use semicolons to call
multiple functions.
- Allow multiple selections for importing and
exporting scripts.
- Notify Python API clients of resizes.
- Snippets now have configurable escaping modes so
you can use literal text without worrying about
backslashes.
- Hold option when sending a snippet to open it in
Advanced Paste for editing.
- Hold shift when selecting a snippet to open it
in the composer.
- Add a search field to the snippets toolbelt tool.
- Large snippets won't cause problems saving
settings any more. They are now stored
separately.
- You can now save logs in HTML.
- Automatic logging filename is now a profile
setting instead of an advanced setting.
- The folder for automatic logging is now an
interpolated string.
- Enable logging as asciicast, which is playable
by asciinema.
- Add option to include timestamps in saved
content.
- Use only ASCII spaces in plain-text logs.
- You can now disable probing for a password
prompt in the settings menu of the password
manager.
- Add option not to require a password to open the
password manager.
- Improve how the password manager stores
passwords in keychain so they make more sense in
Keychain Access.
- The password manager can now generate passwords.
- There's a new Utility, it2tip, which implements
the tip of the day as a command line app.
Install shell integration and utilities to get
it.
- Shell integration can now be injected
automatically as part of creating a login shell.
Explicit installation is no longer needed on
localhost (except for tcsh users, who are still
stuck in 1995. Sorry).
- You can now cmd-click on the command prompt to
get info about the command.
- imgcat has a bunch of new options. You'll need
to reinstall shell integration utilities to get
it.
- Offer to detach after closing the last tmux tab.
- Enable focus reporting in tmux integration.
- In tmux integration, key bindings are
automatically created to emulate tmux's
shortcuts with the leader in place of tmux's
prefix key.
You can set up the leader in Prefs > Keys >
Leader.
- In tmux 3.4 you'll be able to mirror its paste
buffer to the local clipboard.
- Make "Adjust window when changing font size"
work in tmux integration.
- Make the tmux-256color terminfo available by
default. Improves various problems in tmux
integration such as function keys sending the
wrong codes.
- The composer (cmd-shift-.) now supports multiple
cursors. Use ctrl-shift-up/down or option-drag to
create them. You can also convert search results
to cursors with Edit > Find > Select Matches.
- Selecting Advanced Paste while in the composer
moves the composer's content into the advanced
paste window.
- The composer now supports search.
- You can resize the composer's height by dragging
its bottom edge.
- Cmd-click in the composer opens the command in
explainshell.com.
- In the composer, option-shift-enter sends the
command at the cursor and removes it from the
composer.
- Add a "compose" action (prefs > shortcuts >
actions).
- Add ability for composer to enqueue a command.
- ssh integration is now easily usable from the
command line. Use it2ssh instead of ssh.
- Searches for profiles now allow you to exclude
terms using the minus operator. For example:
-tag:dynamic
- Remember the order of dynamic profiles after you
hand-edit them in settings, even if they are
later removed and re-added.
- Add IntelliJ UE support to semantic history.
- Fix support for VSCode Insiders in semantic
history.
- Add support for the new VSCodium bundle ID.
- Add support for the Nova editor to semantic
history.
- Add support for WebStorm and Rider to semantic
history.
- Semantic history now supports "[filename](line
number])" and "[filename] line [line number]"
- Semantic history can now open to line number in
Xcode.
- Copy mode now supports previous/next mark
navigation.
- Add new copy mode commands: ^e and ^y to scroll
by one line, ^d and ^u to scroll by half a
screen, and you can now precede a command with a
number to apply it repeatedly.
- You can now reveal a session by opening a URL
like iterm2:///reveal?sessionid=w0t0p0.guid
where the parameter comes from the
ITERM_SESSION_ID environment variable.
- Add handlers for titan and gemini schemes.
Other Improvements
------------------
- When you drag a top statusbar in a no-titlebar
window with a single tab and no split panes drag
the window instead of the tab.
- Use session font for timestamps.
- Make font configurable in text status bar
components.
- Use fixed-pitch fonts in various places in
settings where they make sense.
- Show an indicator in all sessions when debug
logging is enabled.
- Clicking on indicator icons in the top right of
a session now shows help text.
- Broadcast to all panes/tabs is now a toggle.
- Double clicking on the tabbar now behaves the
same as double clicking on the title bar: it
respects the system setting for title bar double
clicks.
- Improve legibility of tab labels in the Minimal
theme.
- Support resolutions larger than 4k pixels per
dimension in GPU renderer.
- Up/down arrows wrap around in open quickly
window.
- Emacs and Python now get the correct tab icons.
- Rate limit alerts and notification triggers to
avoid spamming you to death.
- Make the tab bar look prettier in Monterey.
- Tweak sorting of command history to make age a
slightly stronger factor.
- Visual improvements to the toolbelt.
- Warn about changes in macOS 12 when secure
keyboard entry is enabled.
- Show an indicator in the current session when
secure keyboard input is enabled.
- Add text labels to the macOS-style color
picker's custom icons.
- Visual improvements to profile list views.
- Visual improvements to the Jobs tool.
- Ensure the URL preview box does not overlap the
hyperlink being previewed.
- Avoid causing the window contents to jump when
colors change.
- Visual improvements to minimal theme with
transparent windows.
- UI improvements to the password manager for
adding a new password.
- Tweak status bar colors to look nicer in the
Minimal theme.
- Tweak the status icon (shown in the menu bar
when you've excluded iTerm2 from the dock) to
have a more modern design.
- GPU renderer is now usable when background
images are shared across panes.
- Improve readability of preferences search in
dark mode.
- Improve appearance of status bar search field
with non-default background colors.
- Double-clicking a pane splitter equalizes the
sizes of views adjacent to it.
- Window transparency can now be set to 100%.
- Improve appearance of password-prompt cursor.
- The status bar icon now includes the full main
menu.
- In Ventura, the tab bar now remains visible in
native full screen mode when revealing the title
bar.
- Increase width of font picker panel to avoid
truncation.
- Make Window>Arrange spit panes preserve
horizontality of splits in common cases.
- Tip of the day is now draggable.
- Non-fullscreen floating hotkey windows now
appear under notifications.
- The background color of search results is now
configurable.
- Add modified terminfo for xterm, xterm-256color,
and xterm-new that support Smulx (undercurl).
- Add support for HTML-style #rrggbb colors in OSC
4 and related sequences.
- Limit REP to 64k to avoid DOS.
- Increase max size of OSC 8 URLs.
- Prompt to delete the restoration db if verifying
its integrity takes over 10 seconds.
- Limit CPU usage of helper tasks to 50%.
- Reduce energy usage when a progress indicator is
visible in the tab bar.
- Reduce frame rate of animated status bar
components to reduce WindowServer's CPU usage.
- Defer database janitorial work until after app
launch to avoid blocking it.
- If a session is short lived, uses a login shell,
the shell does not exist, and the profile can be
changed offer to change the shell to /bin/zsh
which will always exist to get the user unstuck.
- Make captured output tool remember the line you
cleared at so when more output appears the
previously cleared items do not reappear. Also
make it look nicer.
- Provide a more helpful error if a profile's
command cannot be found.
- Strip control characters from RemoteHost.
- Exclude loopback interfaces in network status
bar component.
- You can now turn on smart cursor color even if
the default cursor is not a box since it could
be changed to a box by a control sequence.
- Use XDG_CONFIG_HOME for .iterm2 folder when set.
- When the country+language do not match a valid
POSIX locale, present a UI to select one.
- Don't sync the most recent coprocess commands
with remote prefs.
- Show tilde in place of local home directory in
tab/window titles.
- tmux integration now remembers which windows had
the toolbelt open.
- tmux integration now remembers tab title
overrides.
- Synchronize selected window, tab, and pane in
tmux integration when another client changes it.
- When attaching to tmux, if a window is 95%
offscreen move it onto the nearest display as
much as possible.
- Optimize bandwidth for sending keystrokes to
tmux in tmux integration mode.
- Saving prefs no longer clobbers symlinks.
- The list of displays in profile window settings
now uses meaningful names for screens.
- Smart selection action parameters are now
interpolated strings.
- Don't reset the start location for search when a
search finds zero results.
- Performing find next/previous without a search
bar open will highlight all search results now.
- Automatically highlight matches when the search
UI is open and the query changes because another
app changed the value to be searched for.
- Search history completion now works on words
instead of entire phrases.
- A find indicator now displays search results to
highlight the current one with an animation.
- Control-C in Find on Page now focuses terminal.
- "Save all profiles as JSON" now preserves the
order of profiles.
- Changes to dynamic profiles are now detected
more quickly.
- Pressing a non-modifier key will now cancel a
double-tap of a modifier key that opens a hotkey
window.
- Double-tap modifier hotkeys now activate on key
up rather than key down to avoid false
activations.
- When a hotkey window rolls out restore the
previously active app only if it was rolled out
because of a keypress.
- Allow apps running in the terminal to request
bluetooth access.
- Add NSPhotoLibraryUsageDescription so apps that
use your photo library get a proper permission
dialog.
- Data injected by the Python API during a silent
coprocess is now made visible.
- Add isHotkeyWindow variable to window scope.
- Offer to replace an existing file when
down.
- When using ssh integration, file transfers no
longer require a new connection. They share the
existing channel.
- Support id_ed25519 for secure copy via semantic
history.
- Warn before connecting via scp to a
never-before-seen host.
- Update it2ul to avoid sending xattrs to GNU tar.
- Make it2dl more reliable in tmux integration.
Bug fixes
---------
Thanks to vin01 for discovering these issuse:
* Sanitize paths in x-man-page URLs.
* Sanitize ssh hostnames in URLs to guard against
malicious URLs.
* Prevent hang on enormous OSC sequences.
- When global search finds a result in a hidden
pane because a sibling is maximized an d you
select it, change which pane is maximized.
- Fix memory leaks.
- Mouse reporting now reports mouse up more than
once when multiple buttons were pressed at the
same time.
- Fix a bug where the scroll wheel could stop
working after a session terminates.
- Fix a bug when overwriting the second half of a
double-width character.
- Fix a bug in mouse reporting with tmux.
- Fix how colors are reported to improve
compatibility with emacs.
- Terminate buried sessions when quitting.
- Fix a bug where some apps would use the wrong
colors because of a terminfo problem.
- Fix a bug where using the contextual menu to
hide a Python API-provided status bar component
could hide the wrong one.
- Fix a bug where fish could be confused about the
size of a new session.
- Fix a bug where expanding a disclosure triangle
in an alert box didn't increase its size,
leaving the text unreadable.
- Widen prefs panel so legacy scrollbars don't
overlap controls.
- ESC c (RIS) now restores colors from the
underlying profile, including those changed by
OSC 4.
- Fix a bug where cmd-enter wouldn't toggle
fullscreen for a hotkey window when native
fullscreen was enabled.
- Control-backspace now sends ^H.
- Fix DECRQCRA interpretation of params (first is
now request ID).
- Fix corrupted scroll regions after a resize.
- Fix DECCOLM to reset margins on change and to
preserve the cursor's position.
- Work around a bug in old versions of tmux where
they didn't accept control-space like other
keys, causing 0x0 to be printed.
- Fix tmux integration for tmux 1.8.
- Turn off smart substitution in the snippets
value text view.
- Open hotkey windows beneath menu bar when
opening over another app's fullscreen window.
- Fix the appearance of dragged tabs.
- Fix flashing white line at top of screen in dark
mode full screen.
- Fix discrepancy between GPU and non-GPU renderer
in the presence of blending.
- OSC no longer requires a semicolon after the
mode if there is no argument.
- Fix a bug where both a per-pane and per-window
background image could be visible at the same
time.
- Turn off mouse movement tracking when it isn't
needed to reduce idle CPU.
- Fix discrepancy in rendering of composed
characters in GPU renderer vs legacy renderer.
- When "Enable full keyboard access" is turned on
in system prefs, iTerm2 now accepts the spacebar
as input.
- Restore window title when unburying a session
that causes the window to be resurrected.
- Fix cmd-clicking on URLs without a scheme but
with a fragment.
- Fix a bug where windows would restore with the
wrong width when scroller style changes.
- Fix occasional disconnect when typing in tmux
integration.
- SGR 4 with no subparameter now resets the
underline style to single.
- Ensure Rosetta is installed before running the
Python API.
- Fix a bug where clicking the dock icon while the
tip of the day was open wouldn't open a new
window.
- Fix bugs in positioning the badge, indicators,
and broadcast stripes when a per-pane status bar
or per-pane title bar is present.
- Fix a bug where the Jobs toolbelt would show a
process with pid 0 after the login shell
terminates.
- Fix bugs in handling newlines in control
sequences that set the title.
- Fix a bug where marks were sometimes not removed
when the screen was cleared.
- Fix memory leaks.
- Fix a bug where marks were drawn upside-down
in the GPU renderer.
- Fix a bug where faint text could render
incorrectly.
- Fix a bug where window transparency could be
wrong when the window is first created.
- Improve appearance of tabs being dragged.
- Select Current Command now selects past the
cursor if needed.
- Fix a bug where crash reports weren't sent on
macOS 12.
- Fix a bug where errors were shown after an
upload finished.
- When a session needs a Python API script to be
running but it hasn't started yet, retry for
five seconds.
- Fix rendering of background images in non-GPU
renderer when toggling "separate background
images per pane".
- Fix a bug where output on stderr could be lost.
- Fix a bug in rendering marks on non-retina
displays.
- Fix a bug where split panes can't be dragged
after moving them.
- Temporarily disable secure keyboard entry when
exiting a hotkey window so the other app's
window can be revealed.
- Tolerate errors in tmux.conf when starting tmux
integration.
- Fix a bug where find could select the wrong
range on new input.
- Fix a bug where combining marks sometimes didn't
appear.
- Work around tmux's new limit on passthrough
control sequences to fix copy to pasteboard in
tmux integration.
- Fix file descriptor leak in pidinfo helper job.
- Fix a bug in the shell integration installer
where it assumed .bash_profile ends with a
newline.
- Fix a discrepancy between GPU and non-GPU
renderers for image drawing.
- Fix drawing of inline images when the machine's
main display is non-Retina.
- Fix a bug where compact opaque windows with
image backgrounds and 1 tab and no tabbar showed
the image under the titlebar.
- Fix a bug where it2copy didn't work sometimes.
- Fix a bug in handling of zero-width spaces.
- Fix a bug where changing the type of scroller
could cause a window to move away from a
screen's edge.
- Fix bugs with zoomed panes in tmux integration
causing the window to resize itself.
- The Open Quickly feature now includes terminal
windows in search results.
- Fix bugs in the status bar layout algorithm that
could create too-small components.
- Fix a bug where dragging from Fork, or other
apps that treat dragging a file as dragging
a link, that caused the drop to be rejected.
- Fix a bug where images disappear prematurely.
- Remap modifiers on mouse clicks like we do for
keypresses.
- Fix cursor color in reverse video mode. It
should also be reversed.
- Fix a bug where mouse reporting sometimes
wouldn't work until switching to another app and
back.
- Improve appearance of powerline glyphs and box
drawing characters.
- Fix non-standard mouse cursors, like Mousecape.
- Fix support for combining marks in reverse
non-regex search where the wrong region was
highlighted.
- Fix truncation in fullscreen hotkey windows over
spitscreen fullscreen windows of other apps.
- Fix a bug where the first keystroke in copy mode
could be ignored.
- Performance improvements for nushell.
- Make new tab/window with current profile respect
tmux integration.
- Fix appearance of the pane titlebar menu button
in Minimal mode with dark background.
- Fix support for x-man-page URLs.
- Avoid ordering windows forward with focus
follows mouse when closing a popup.
- Work around a macOS bug where focus follows
mouse could activate the wrong pane.
- Fix a bug in opening menus in status bar
components that caused them to appear twice.
- Support multi-line prompts when showing an
offscreen command line at the top of the screen.
- Fix a bug where double-tapping a modifier to
open a hotkey window doesn't work on macOS
Sonoma.
- Fix a bug where profiles with a Python API-based
status bar component could not be exported as
JSON.
- Fix drawing of status bar items with graphs in
Sonoma.
- Fix link to open system settings in Sonoma.
- Fix a bug where searching for a URL doesn't do
anything sometimes.
- Fix bug where dock is hidden after exiting
fullscreen mode sometimes.
- Fix a bug where panes' dimmed status is not
updated after switching panes sometimes.
- Fix a bug where Window > Move to [screen]
sometimes didn't work.
- Fix a bug where certain powerline symbols
weren't drawn on macOS Sonoma.
- Fix wrong light/dark mode in status bar
popovers.
- Enable the autolaunch folder in the script
export file picker.
- Fix bug where job name in jobs tool overlapped
the pid column.
- Fix disclosable view accessories in alerts on
Sonoma.
- Fix a flash when toggling GPU rendering.
- Fix a bug where accessibility coordinates were
wrong, leading to various issues.
- Fix a bug where changing whether non-ascii
characters are anti-aliased wouldn't update the
display if GPU rendering was on.
- Use zsh as the default shell when OpenDirectory
doesn't provide one.
- Handle pasing from remote clipboards (handoff)
better.
- Fix a bug where the split pane shortcut numbers
were wrong after moving them.
- Fix a bug where scrollbar background colors
could be wrong sometimes.
- Fix About window rendering in Ventura.
- Fix a bug where long lines in the input method
editor didn't draw correctly.
- Fix the response for XTGETTCAP when requiesting
the number of colors and direct color width.
- Don't prompt to disable mouse reporting in emacs
when scrolling too far.
- Fix a bug where the status bar font would change
to Times Roman.
- Round timestamps to the nearest second to make
them stable.
- Fix a bug where the hyperlink trigger used the
wrong range of cells sometimes.
- Fix bug where swiping horizontally on pane
titlebar didn't change tabs.
- Fix memory leak when onscreen images are
overwritten.
- Fix UI glitch in background image blending
controls.
- Fix a bug where quitting didn't always kill
sessions.
- Fix drawing issues with fonts that have very
wide ASCII glyphs.
- VPN traffic is no longer double counted in the
network status bar component.
Breaking Changes
----------------
- Change XTGETTCAP's response to "TN" to give
$TERM rather than the name of the terminal
emulator. This will probably break your code if
you relied on it.
- The response to Primary DA now indicates VT
level 400. Hopefully this doesn't break
anything, but it's hard to test! Please let me
know if programs start misbehaving.
- The response to Secondary DA now gives xterm
patch level 2500. This unlocks features in some
apps (like better key handling in Emacs) but
will probably break things I don't know exist.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
052cc8243ed7c23805394dd99848b7df09f4b4034820da0f92383f9ed8bbb4a8
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZkfL3AAKCRB0Et0TaFtK
rEtTAP9+CW2Mw9CweQpU1OgMR10heavHWFfSgLnja1uh8yo+yQEAmkBgtduYQXaF
23mCOB8FODsyzacvV89o6at+FyfdBe8=
=r8jE
-----END PGP SIGNATURE-----
iTerm2 3.4.23 (OS 10.15+)
This is the recommended build for most users. Built on December 26, 2023.
[▾ Hide Changelog](<javascript:hideId('8635937617738802523')>)
3.4.23
Bug fixes:
- Fix a bug where windows may not be restored
properly.
- Fix a bug where modifier double-tap hotkeys
don't work in macOS Sonoma.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
82ee82369d14d452c2d3c8886d460e2466e46dc517eb3d96b2b04c97b0c23d49
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZYt9pgAKCRB0Et0TaFtK
rB82AP9DTv8vD3cDkg0p9tWmdCAbMYs79RoKr6DWwcH9e4fTbQEA70v29oZMj4BV
DDM0/Q4qTPcF4L5wFCmbKd+Ap7k5deM=
=/Ez+
-----END PGP SIGNATURE-----
iTerm2 3.4.22 (OS 10.15+)
This is the recommended build for most users. Built on November 3, 2023.
[▾ Hide Changelog](<javascript:hideId('192975749346147722')>)
3.4.22
- Fixes a memory leak in the Minimal theme.
- Fixes a bug where the preferences dialog
sometimes lost its toolbar.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
d2864b5df79f8be383c4ed2d2307595ded6298168c03bf4991b61467cd13f338
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZUWH/QAKCRB0Et0TaFtK
rCnRAP4qD+oOVRntGPbn0DGWGqbcMXjwLKs1JejE3rGE6ZG6dQEAnUHEkXCgQTaW
Rmp9bLKIEdnqKSVRpd3nhm5N1sxPU5c=
=IaDq
-----END PGP SIGNATURE-----
iTerm2 3.4.21 (OS 10.15+)
This is the recommended build for most users. Built on October 5, 2023.
[▾ Hide Changelog](<javascript:hideId('1303365807019940645')>)
3.4.21
Fixes a hang for Logitech mouse users.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
9241c286c32322b3223cd45a69815a68a06242523d0be4287d0aed68d466e486
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZSNJFQAKCRB0Et0TaFtK
rJsrAP9muUMsKNmh0i0lG3qiIgxQcY8JDljrdZkogAnr1CqEqgEAsA4mYXCjFx7r
KiIVveHP1LbEU7yJIDObF8qlggeBrPg=
=wOIU
-----END PGP SIGNATURE-----
iTerm2 3.4.20 (OS 10.15+)
This is the recommended build for most users. Built on August 10, 2023.
[▾ Hide Changelog](<javascript:hideId('7139596061596714700')>)
3.4.20
This release fixes a couple security problems. You
are encouraged to upgrade right away. More details
here: https://iterm2.com/news.html
In addition to the security fix, this release also
fixes a few crashes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
981a5b47de0c5ebd965b46a1db633c33e0117494a567c7c9e65456a1f95ccac5
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZNP+2wAKCRB0Et0TaFtK
rHEwAP9kSZfN/M0kwtIu4s6+R7EaRo8avIrB7RszW8w9rTaqPAD/dzz93+YdA119
OJ+8f9wfLKgpvDtLAr581FWy/TR1OTI=
=rehz
-----END PGP SIGNATURE-----
iTerm2 3.4.19 (OS 10.15+)
This is the recommended build for most users. Built on January 2, 2023.
[▾ Hide Changelog](<javascript:hideId('6479462223928830176')>)
3.4.19
- Fix a crash when moving a window or dragging a
tab.
- Fix a bug where the status bar would switch to
Times Roman.
- Fix a crash when a profile's font is missing.
- Fix a bug with the "full keyboard access"
feature that broke the space bar.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
e06563714ea0582f8a69653ef5024957483c174d7387b0e8d70369db98406832
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY7M2XQAKCRB0Et0TaFtK
rIWFAP0TcIERUlm54r+jTpTLHjZSPEmn4b+a92fe+F2HAizg9QD/a0KppUrMoCvQ
IDsvN7lKc9SU2xFEtm25lyHEu/sqZwI=
=Ztko
-----END PGP SIGNATURE-----
iTerm2 3.4.18 (OS 10.15+)
This is the recommended build for most users. Built on November 15, 2022.
[▾ Hide Changelog](<javascript:hideId('1963483644431824545')>)
3.4.18
- Change DECRQSS response to patch a security
hole.
- Fix crash when dragging a tab out of a window.
- Improve crash reporting to include Objective-C
exceptions, which Apple broke.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
76727347acb1f2856f9b6702c6ba486594da87f857afec3ee4cba48f7cac219c
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY3PpqgAKCRB0Et0TaFtK
rM3nAPwKEzceSXPcIy+ztpYPw7tIjLF2tTj4iHNJnhJ7piP7twD8CGKEBXFwZ4R7
qy5O5iTBjNB5QiFrEi0QE6/waT1pWs0=
=nzKy
-----END PGP SIGNATURE-----
iTerm2 3.4.17 (OS 10.15+)
This is the recommended build for most users. Built on October 24, 2022.
[▾ Hide Changelog](<javascript:hideId('1354936980236929614')>)
3.14.7
- Rebuild using macOS Ventura SDK.
- Fix crash on macOS 10.15 when using eyedropper.
- Fix bug where transparency is lost when profile
changes while in Lion fullscreen with legacy
renderer.
- When prepending a default scheme to a
user-supplied URL for URL actions, include //.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
583bc015015cdace7d90e9a717a79e6d7ddb5091556ae64c8ec1abb55f243543
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY1a3wQAKCRB0Et0TaFtK
rFqIAPsEQKwksDV+Gku02DczAZSV8cm0IgSLpcWK2LzsyFVHrQD/b+98Yks16cIV
AjW3G17V8Q8jdC+6Ni3XriE7q1FsXGg=
=a/qr
-----END PGP SIGNATURE-----
iTerm2 3.4.16 (OS 10.14+)
This is the recommended build for most users. Built on June 27, 2022.
[▾ Hide Changelog](<javascript:hideId('7088024888379725731')>)
3.4.16
- Fix a problem where performance gradually
degrades.
- Fix a possible crash when detaching from tmux
integration.
- Fix a bug where crash reports were not detected
in macOS 12.
- Fix tmux integration for tmux 3.3
If you use tmux 3.3 and have shell integration
installed, please update your shell integration
scripts. The old ones fail to recognize tmux 3.3
correctly.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
b0941a008ead9f680e9f4937698b9b849acbb4e30ed1f3f100e3616cd6d49c0b
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYrnrwQAKCRB0Et0TaFtK
rJiBAQC2xbBvUsYgStnB5PyUuTavdaWP4BQKmlit9dCQ5sUhsAD/aISrBGc6+OW8
gxiOHeK+rwUyeaDkTtMiYYMQ5ZX0QQM=
=f29M
-----END PGP SIGNATURE-----
iTerm2 3.4.15 (OS 10.14+)
This is the recommended build for most users. Built on December 14, 2021.
[▾ Hide Changelog](<javascript:hideId('3794116643504687876')>)
3.4.15
This is a bug fix release for 3.4.14 and 3.4.13,
which were not long-lived. Their combined release
notes may be found below.
- Fix transparent open quickly and shell
integration intaller windows on macOS 12.
- Fix incorrect inset on full screen displays on a
screen with a notch.
Bug fixes from 3.4.14 and 3.4.13:
- Fix a bug where the title bar color was wrong.
- Fix a periodic beachball that some users
experienced.
- Fix a bug where non-native fullscreen windows
overlapped the notch.
- Fix a bug where hotkey windows overlapped the
menu bar on notch displays.
- Fix a flashing white line in full screen mode
while in dark mode.
- Fix a bug where the action picker for key
bindings didn't draw its background correctly on
macOS 12.
- Fix a hang experienced by users of the git
status bar component.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
32594ee038efdda96b5d7a325c11219bac667f69ca952a5ff080b26079871b78
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYbjsMwAKCRB0Et0TaFtK
rDJ/AQDcG3OZG8rHqNBENynr9omKi19yXFkxQcSKZYggCscslQEA1X9eMRtCtPbi
xrb7iOFxeytdCMsEnurDQ5pzWVww/jM=
=6MLs
-----END PGP SIGNATURE-----
iTerm2 3.4.14 (OS 10.14+)
This is the recommended build for most users. Built on November 27, 2021.
[▾ Hide Changelog](<javascript:hideId('4648845225079967245')>)
3.4.14
This is a bugfix release for 3.4.13, which was
short-lived. Its release notes may be found below.
Bug fixes
- Fix a bug where the title bar color was wrong.
- Fix a periodic beachball that some users
experienced.
- Fix a bug where non-native fullscreen windows
overlapped the notch.
- Fix a bug where hotkey windows overlapped the
menu bar on notch displays.
3.4.13
Bug Fixes
- Fix a flashing white line in full screen mode
while in dark mode.
- Fix a bug where the action picker for key
bindings didn't draw its background correctly on
macOS 12.
- Fix a hang experienced by users of the git
status bar component.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
70b00efb2f3f732aef7a8dacbec3d199046ce63e9b776a82259788501309bb63
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYaMpRQAKCRB0Et0TaFtK
rM0GAQCFz8FpHXAURxVXWrMUlgzbKk2L+4ZTX+yFCn5c/fQQLAD/SAkF9vZtqATK
6EFMggcTsdLLDaLuhyfNupAn8l5PBB4=
=QG3O
-----END PGP SIGNATURE-----
iTerm2 3.4.13 (OS 10.14+)
This is the recommended build for most users. Built on November 22, 2021.
[▾ Hide Changelog](<javascript:hideId('243649287489657154')>)
3.4.13
Bug Fixes
- Fix a flashing white line in full screen mode
while in dark mode.
- Fix a bug where the action picker for key
bindings didn't draw its background correctly on
macOS 12.
- Fix a hang experienced by users of the git
status bar component.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
b3c28d4e207e400baebbbfc7021ffb001fef1432b72b3ade69689fab7c498013
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYZvbQwAKCRB0Et0TaFtK
rGCnAP0SSucDZ4a7TLPcftRkjfmiOLZrRyZB3ACi66Y9Q7T+GAEAkKGFw1Y2rHTV
LcHryMqQMKhlHrxcu7wP+NLQj+kxTg4=
=2Ykp
-----END PGP SIGNATURE-----
iTerm2 3.4.12 (OS 10.14+)
This is the recommended build for most users. Built on October 26, 2021.
[▾ Hide Changelog](<javascript:hideId('8199552582390999823')>)
3.4.12
This is a bugfix release to correct a problem with
version 3.4.11 on Macs with a notch.
Version 3.4.11 was short-lived and its release
notes are included below.
Bug fixes:
- Don't cause the whole machine's UI to shrink
when launching the app.
- Fix a crash during window restoration.
3.4.11
This version of iTerm2 was built with Xcode 13 for
macOS Monterey.
Bug Fixes
- The menu items that select a broadcast mode are
now toggles. This fixes a bug introduced in
3.4.10 where they lost the ability to turn
broadcasting off.
- Fix a bug where cmd-enter wouldn't toggle full
screen mode for hotkey windows when native full
screen mode was enabled.
- Fix a bug where control-space would not work
correctly in tmux integration.
- Improve visibility of non-selected tabs when one
tab has a custom tab color.
- Enable compatibility mode for displays with
notches.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
2083a4d0a37e62a7c18fca5eafdaea246bca8cccc98094c33b38e9946342fb2a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYXhk4AAKCRB0Et0TaFtK
rMRNAQC/tyK3PoHRtSnQvg+uzoTfwQ7VY7BTsDhD20NPv+6lWQEAsuYmgMyC0HVf
b4oAFh3AUsKz4YylkXjSjQc7fG3DMTA=
=v2UJ
-----END PGP SIGNATURE-----
iTerm2 3.4.11 (OS 10.14+)
This is the recommended build for most users. Built on October 25, 2021.
[▾ Hide Changelog](<javascript:hideId('1084506684598831144')>)
3.4.11
This version of iTerm2 was built with Xcode 13 for
macOS Monterey.
Bug Fixes
- The menu items that select a broadcast mode are
now toggles. This fixes a bug introduced in
3.4.10 where they lost the ability to turn
broadcasting off.
- Fix a bug where cmd-enter wouldn't toggle full
screen mode for hotkey windows when native full
screen mode was enabled.
- Fix a bug where control-space would not work
correctly in tmux integration.
- Improve visibility of non-selected tabs when one
tab has a custom tab color.
- Enable compatibility mode for displays with
notches.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
0d27df194a23f1c7fa13fb0e1319afa687c7c8816647af0f6754bb82a7055d6b build/Deployment/iTerm2-3_4_11.zip
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYXbw2QAKCRB0Et0TaFtK
rG6zAQDlX3a7V4jaVzQS/UD3AKImes/Inl/Mx154JLGtO+PZVwEAwlbivArexJP9
Ivl+iDBj64i9LLJsCqsWAlvy/2xGA14=
=puG7
-----END PGP SIGNATURE-----
iTerm2 3.4.10 (OS 10.14+)
This is the recommended build for most users. Built on September 13, 2021.
[▾ Hide Changelog](<javascript:hideId('5760116917859240041')>)
3.4.10
This is a minor update over 3.4.9, whose release
notes are below.
Bug fixes:
- Fix a bug where annotations were not visible.
- Fix a bug where row highlighting when navigating
among marks didn't work sometimes.
3.4.9
New Features
- Add support for new keyboard reporting mode
control sequences:
- CSI > u Push key reporting mode
- CSI < u Pop key reporting mode
- CSI ? u Query key reporting mode
- When you select hex characters and open the
context menu their base-10 equivalent is shown.
- Add Undo Close to menu so that you can bind a
keystroke to it. It undoes closing the last
session/tab/window.
- You can now enable and disable triggers both on
a per-profile basis and per-session. You can do
this through the usual prefs UIs and also
through the Session > Triggers menu.
- Add "Clear to Last Mark" and "Clear to Start of
Selection" menu items.
- Add an option to disable triggers in interactive
applications.
- You can now importa nd export snippets.
- Add a profile preference to open the password
manager automatically when a password prompt is
detected.
- Dynamic profiles may now name a "Dynamic Profile
Parent GUID" rather than "Dynamic Profile Parent
Name" to avoid breaking things when you rename a
profile with children.
- Timestamps can now be configured to show when
the mouse hovers over the right edge of the
window.
Other Improvements
- In tmux integration the tmux server will now
remember user-set tab titles.
- Preserve existing percent encoding when
cmd-clicking a URL.
- Avoid setting TTY's size when switching away
from a tab.
- Verbiage improvements to tmux dashboard.
- Improvements to escaping when sending text via
key binding action or snippets. Backaslashes can
now reliably be sent by escaping them as \\.
Existing key bindings and snippets will not
change behavior until edited.
- Sliders in prefs now include a text field
showing the actual value.
- The window menu now indicates windows'
shortcuts.
- Don't select tabs on mouse-down when option is
pressed so that you can option-drag a
non-selected tab.
- Set COPYFILE_DISABLE before creating an archive
to send with it2ul to not include extended
attributes files.
- Add Edit Triggers to Session menu.
- If the current directory is a symlink remember
it more reliably when creating a new session
that reuses the previous session's directory.
- Upload and download colors in the network usage
status bar component configurable.
- Prevent triggers that run commands from eating
infinite CPU if there are too many of them by
limiting the number that can run concurrently.
- Detect when triggers create a performance
problem and offer to disable them in interactive
apps.
- Page up, page down, home, and end now scroll
when you are not in an interactive app. There is
a new preference in Profiles > Keys to control
this.
- In tmux integration (for tmux 3.2 and later) tab
icons now reflect the current app in the tmux
pane.
- Add showingAlternateScreen as a session-scoped
variable.
- Add tmuxWindowPaneIndex as a session-scoped
variable (requires tmux 3.2+ and tmux
integration).
- Add logFilename variable to session scope.
- When a status bar is present without a composer
component and you open the composer, open the
big one instead of creating a temporary one in
the status bar.
- Include default environment variables when
launching a Python API script (e.g. so TMPDIR is
set).
- Tmux integration now uses #{pane_title} for the
tab title in most cases.
- Remove selection when pasting.
- Change the full screen mode shortcut to the mac
standard cmd-ctrl-F unless you have a profile
whose shortcut is set to this. Continue to
acccept cmd-enter as well.
- Minor performance improvements to legacy
renderer.
- Aesthetic improvements to the tabbar on big sur
to look more like system tabs.
- Make "movement keys scroll outside interactive
apps" into a profile preference.
- When dragging a window by the tabbar make it key
and front on mousedown.
- Order a window front when dragging begins.
- Add support for encrypted OpenSSH private keys
to upload/download with secure copy.
- Disable GPU renderer when macOS Monterey is in
low-power mode.
Bug Fixes
- Fix a bug where some input was dropped in tmux
integration.
- macOS Monterey support.
- Make "broadcast to panes in current tab" saner.
It is now a per-tab rather than per-window
setting. Toggling it will enable/disable the
setting only for the current tab.
- Don't highlight the area next to the search
field in the preferences pane on mouse-over.
- Fix a bug where windows could be created a bit
narrower than they should have been.
- When the standard "tmux" profile is created,
ensure it doesn't have a hotkey.
- Fix improper truncation in git status bar
component.
- Fix cmd-clicking on URLs with ipv6 addresses.
- Fix URL changing in various cases when
cmd-clicking on it.
- Fix discrepancy between legacy and GPU
renderer's drawing of tiled background images.
- Fix a bug where toolbelt tables could be
truncated on the bottom.
- Move cursor to first column after adding
'session contents restored' banner.
- Fix bug where inline images were scaled
incorrectly.
- Fix insets of inline images to be mroe sensible.
- Fix a bug where a shadow could appear under the
tabbar in full screen mode on Big Sur and also
in the minimal theme.
- Disable paste bracketing when sending 'cd
directory' due to a drag being dropped.
- Fix the expand arrow button in the status bar
composer component.
- Allow focus to stay on search field when a
terminal window becomes key.
- Don't let a control sequence take you out of
CSI u mode.
- Fix overly long underlines in GPU renderer.
- Prevent excessive CPU usage when the git status
bar component is enabled and the repo in the
current directory is enormous.
- Fix incorrect network throughput in network
status bar component when the set of NICs
changes.
- Update full-environment Python scripts'
setup.cfg after editing dependencies.
- Fixes a bug where the window shrinks when
splitting a tab in a 1-tab window.
- Fix various crashes.
- Fix a bug where prompt marks could survive the
screen being cleared (this happened a lot in
tmux integration).
- Respect zero-width joiners and allow them to
prevent ligatures.
- Fix a bug where restoring windows from an
arrangement via the dock menu could put them on
the wrong screen.
- Avoid sending focus reports when the password
manager is open.
- Fix a bug where tabs opened from the tmux
dashboard would open in the current window
instead of in a new window.
- Fix a bug where content would jump around when
scrolled up into history and new input is being
received.
- Fix a bug where it was impossible to make a
selection while scrolled into history and new
input is being received.
- Fix a bug where content was duplicated when
restoring a window on app launch.
- Fix a bug where buried sessions remained hidden
when the password manager was opened by a
trigger.
- Fix opening emacs in an existing window when
cmd-clicking on a text file.
- Unset SHLVL when launching a session to avoid it
being greater than 1.
- Control-J in CSI u mode now sends a control
sequence.
SHA-256 of the zip file is
40a62193582dd7c54e6f27e509bdb887ec864513b53d4003763d9e167e44a921
iTerm2 3.4.9 (OS 10.14+)
This is the recommended build for most users. Built on August 20, 2021.
[▾ Hide Changelog](<javascript:hideId('363194814567136306')>)
3.4.9
New Features
- Add support for new keyboard reporting mode
control sequences:
- CSI > u Push key reporting mode
- CSI < u Pop key reporting mode
- CSI ? u Query key reporting mode
- When you select hex characters and open the
context menu their base-10 equivalent is shown.
- Add Undo Close to menu so that you can bind a
keystroke to it. It undoes closing the last
session/tab/window.
- You can now enable and disable triggers both on
a per-profile basis and per-session. You can do
this through the usual prefs UIs and also
through the Session > Triggers menu.
- Add "Clear to Last Mark" and "Clear to Start of
Selection" menu items.
- Add an option to disable triggers in interactive
applications.
- You can now importa nd export snippets.
- Add a profile preference to open the password
manager automatically when a password prompt is
detected.
- Dynamic profiles may now name a "Dynamic Profile
Parent GUID" rather than "Dynamic Profile Parent
Name" to avoid breaking things when you rename a
profile with children.
- Timestamps can now be configured to show when
the mouse hovers over the right edge of the
window.
Other Improvements
- In tmux integration the tmux server will now
remember user-set tab titles.
- Preserve existing percent encoding when
cmd-clicking a URL.
- Avoid setting TTY's size when switching away
from a tab.
- Verbiage improvements to tmux dashboard.
- Improvements to escaping when sending text via
key binding action or snippets. Backaslashes can
now reliably be sent by escaping them as \\.
Existing key bindings and snippets will not
change behavior until edited.
- Sliders in prefs now include a text field
showing the actual value.
- The window menu now indicates windows'
shortcuts.
- Don't select tabs on mouse-down when option is
pressed so that you can option-drag a
non-selected tab.
- Set COPYFILE_DISABLE before creating an archive
to send with it2ul to not include extended
attributes files.
- Add Edit Triggers to Session menu.
- If the current directory is a symlink remember
it more reliably when creating a new session
that reuses the previous session's directory.
- Upload and download colors in the network usage
status bar component configurable.
- Prevent triggers that run commands from eating
infinite CPU if there are too many of them by
limiting the number that can run concurrently.
- Detect when triggers create a performance
problem and offer to disable them in interactive
apps.
- Page up, page down, home, and end now scroll
when you are not in an interactive app. There is
a new preference in Profiles > Keys to control
this.
- In tmux integration (for tmux 3.2 and later) tab
icons now reflect the current app in the tmux
pane.
- Add showingAlternateScreen as a session-scoped
variable.
- Add tmuxWindowPaneIndex as a session-scoped
variable (requires tmux 3.2+ and tmux
integration).
- Add logFilename variable to session scope.
- When a status bar is present without a composer
component and you open the composer, open the
big one instead of creating a temporary one in
the status bar.
- Include default environment variables when
launching a Python API script (e.g. so TMPDIR is
set).
- Tmux integration now uses #{pane_title} for the
tab title in most cases.
- Remove selection when pasting.
- Change the full screen mode shortcut to the mac
standard cmd-ctrl-F unless you have a profile
whose shortcut is set to this. Continue to
acccept cmd-enter as well.
- Minor performance improvements to legacy
renderer.
- Aesthetic improvements to the tabbar on big sur
to look more like system tabs.
- Make "movement keys scroll outside interactive
apps" into a profile preference.
- When dragging a window by the tabbar make it key
and front on mousedown.
- Order a window front when dragging begins.
- Add support for encrypted OpenSSH private keys
to upload/download with secure copy.
- Disable GPU renderer when macOS Monterey is in
low-power mode.
Bug Fixes
- Fix a bug where some input was dropped in tmux
integration.
- macOS Monterey support.
- Make "broadcast to panes in current tab" saner.
It is now a per-tab rather than per-window
setting. Toggling it will enable/disable the
setting only for the current tab.
- Don't highlight the area next to the search
field in the preferences pane on mouse-over.
- Fix a bug where windows could be created a bit
narrower than they should have been.
- When the standard "tmux" profile is created,
ensure it doesn't have a hotkey.
- Fix improper truncation in git status bar
component.
- Fix cmd-clicking on URLs with ipv6 addresses.
- Fix URL changing in various cases when
cmd-clicking on it.
- Fix discrepancy between legacy and GPU
renderer's drawing of tiled background images.
- Fix a bug where toolbelt tables could be
truncated on the bottom.
- Move cursor to first column after adding
'session contents restored' banner.
- Fix bug where inline images were scaled
incorrectly.
- Fix insets of inline images to be mroe sensible.
- Fix a bug where a shadow could appear under the
tabbar in full screen mode on Big Sur and also
in the minimal theme.
- Disable paste bracketing when sending 'cd
directory' due to a drag being dropped.
- Fix the expand arrow button in the status bar
composer component.
- Allow focus to stay on search field when a
terminal window becomes key.
- Don't let a control sequence take you out of
CSI u mode.
- Fix overly long underlines in GPU renderer.
- Prevent excessive CPU usage when the git status
bar component is enabled and the repo in the
current directory is enormous.
- Fix incorrect network throughput in network
status bar component when the set of NICs
changes.
- Update full-environment Python scripts'
setup.cfg after editing dependencies.
- Fixes a bug where the window shrinks when
splitting a tab in a 1-tab window.
- Fix various crashes.
- Fix a bug where prompt marks could survive the
screen being cleared (this happened a lot in
tmux integration).
- Respect zero-width joiners and allow them to
prevent ligatures.
- Fix a bug where restoring windows from an
arrangement via the dock menu could put them on
the wrong screen.
- Avoid sending focus reports when the password
manager is open.
- Fix a bug where tabs opened from the tmux
dashboard would open in the current window
instead of in a new window.
- Fix a bug where content would jump around when
scrolled up into history and new input is being
received.
- Fix a bug where it was impossible to make a
selection while scrolled into history and new
input is being received.
- Fix a bug where content was duplicated when
restoring a window on app launch.
- Fix a bug where buried sessions remained hidden
when the password manager was opened by a
trigger.
- Fix opening emacs in an existing window when
cmd-clicking on a text file.
- Unset SHLVL when launching a session to avoid it
being greater than 1.
- Control-J in CSI u mode now sends a control
sequence.
SHA-256 of the zip file is
30f947466c28a4e4514cb298be725324772b05c3632eccd8cf5430277e99e95a
iTerm2 3.4.8 (OS 10.14+)
This is the recommended build for most users. Built on May 24, 2021.
[▾ Hide Changelog](<javascript:hideId('8079767053793518141')>)
3.4.8
This is a bugfix release over 3.4.7.
- Fix a bug where background images didn't appear
correctly when subpixel antialiasing was
enabled.
3.4.7
This is a bugfix release over 3.4.6.
- Fix a bug where the GPU renderer would draw the
wrong part of history when receiving input.
- Fix a regression where clicking on an inactive
split pane while iTerm2 is not the active app
didn't focus it.
- Fix performance problems because of a timer
leak.
- Fix performance problems on certain systems that
constantly issue screen change notifications.
- Fix a crash when using Undo in the composer.
- Fix poor performance in full screen mode.
- Fix drawing bug in non-GPU renderer when
scrolled to the bottom while receiving input
quickly.
3.4.6
This is a minor bugfix release over 3.4.5, which
was not widely distributed.
- Fix crashing bugs.
- Fix a bug where the git status bar didn't work
when outside the root of a repo.
The release notes for 3.4.5 follow:
3.4.5
New Features:
- Add preference to allow/disallow apps changing
the function of the option keys with a control
sequence.
- Add a menu item to pop the current session into
a new window.
- The git status bar now indicates the repo state
(merging, reverting, cherrypicking, bisecting,
rebasing, or applying).
- When you right click on a hex color like #ffeedd
show a preview of the color in sRGB in the
context menu.
- Add a new type of trigger to highlight the whole
line. This is useful because matching .*foo.* is
very slow. With this trigger you can simply
match foo and the whole line changes color.
Improvements
- The git status bar component no longer shells
out to the system git. It uses libgit2 instead
(nicely named!) and should be faster and more
reliable now.
- When known, the current git branch is used as a
search feature in Open Quickly.
- Don't show a line between the titlebar and
tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
selecting the Move To Screen menu item, it will
lose its affinity for the window assigned to it
in Prefs > Profiles > Window and stay where it
was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
shortcuts.
- Ignore dynamic profiles whose filename ends in a
tilde.
- Reset terminal when relaunching a session (e.g.,
paste bracketing and mouse reporting).
- The composer window now uses the terminal's
font.
- Scrolling with the trackpad should be more
responsive now.
- Change how text is drawn when not using GPU
renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
treat a backslash in the last column as a
continuation mark and don't include it.
- By default, save terminal contents to history
when there is a scrolling region that touches
the top of the screen.
- Newly saved window arrangements will restore to
the right size when scroller style changes after
they were created (unless there are side-by-side
split panes).
- Treat soft hyphens as unicode punctuation in
Advanced Paste.
Bug Fixes
- Fix a bug where doublecliking on a session
titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
field.
- Blur is now correct after changing window type
or theme.
- Fix a bug where a window forgot it was blurred
when toggling traditional fullscreen in Minimal
theme.
- Fix a bug where windows would restore on the
wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
"off" when the "Reduce motion" accessibility
setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
sent the wrong code.
- Fix a bug where the app could hang after certain
trackpad touches.
- Fix a bug where copy on selection didn't always
work.
- Fix a bug where transparent windows changed
colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
didn't always work.
- Fix crashes.
- Fix a bug where disabling
middle-click-to-close-a-tab also breaks the tab
close button.
- Fix keystroke filtering in the Python APi which
seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
HTML for window title and tooltips.
- Fix a bug where inline images downscaled
with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
able to be created and is not already a
directory.
- Fix a bug where tab icons were flipped
vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
use the wrong thickness for text.
- Fix various bugs around snippets with the same
title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
~/.iterm2-1 cannot be created/used as writable
directories.
- Fix rendering bugs in background images with
transparency.
- When HTML titles are enabled, remove the tags
from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
changing screen.
- Fix a bug where no terminal content was shown
when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
sometimes be wrong.
- Fix a bug where smart cursor color didn't use
the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
retina scale into account.
- Fix blurry timestamps.
- Fix a hang when using a status bar with the
"stable layout" algorithm and a fixed-size
spacer.
- Fix a bug where scroll wheel mice could need
more than one click to scroll.
- Fix a bug where tmux integration was broken on
OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
or disabled.
- Fix bugs where tiled background images didn't
look right.
- Fix bug where the last command in the command
history toolbelt tool was cut off.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
29e1cf80dff3cd63e23e42d781969d74a7fed3aadebc756d0001942e40bb376f
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYKyUNQAKCRB0Et0TaFtK
rNidAP49cUAQ+sVC+aXGP0QDOgIzqq3ocK+noYaBvNSgF19xFgD+KrLAXHivpyan
u+UFakSmwo4gYZjl04xKmvglnEUcU1Q=
=Fc1R
-----END PGP SIGNATURE-----
iTerm2 3.4.7 (OS 10.14+)
This is the recommended build for most users. Built on May 19, 2021.
[▾ Hide Changelog](<javascript:hideId('2076248850012623528')>)
3.4.7
This is a bugfix release over 3.4.6.
- Fix a bug where the GPU renderer would draw the
wrong part of history when receiving input.
- Fix a regression where clicking on an inactive
split pane while iTerm2 is not the active app
didn't focus it.
- Fix performance problems because of a timer
leak.
- Fix performance problems on certain systems that
constantly issue screen change notifications.
- Fix a crash when using Undo in the composer.
- Fix poor performance in full screen mode.
- Fix drawing bug in non-GPU renderer when
scrolled to the bottom while receiving input
quickly.
3.4.6
This is a minor bugfix release over 3.4.5, which
was not widely distributed.
- Fix crashing bugs.
- Fix a bug where the git status bar didn't work
when outside the root of a repo.
The release notes for 3.4.5 follow:
3.4.5
New Features:
- Add preference to allow/disallow apps changing
the function of the option keys with a control
sequence.
- Add a menu item to pop the current session into
a new window.
- The git status bar now indicates the repo state
(merging, reverting, cherrypicking, bisecting,
rebasing, or applying).
- When you right click on a hex color like #ffeedd
show a preview of the color in sRGB in the
context menu.
- Add a new type of trigger to highlight the whole
line. This is useful because matching .*foo.* is
very slow. With this trigger you can simply
match foo and the whole line changes color.
Improvements
- The git status bar component no longer shells
out to the system git. It uses libgit2 instead
(nicely named!) and should be faster and more
reliable now.
- When known, the current git branch is used as a
search feature in Open Quickly.
- Don't show a line between the titlebar and
tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
selecting the Move To Screen menu item, it will
lose its affinity for the window assigned to it
in Prefs > Profiles > Window and stay where it
was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
shortcuts.
- Ignore dynamic profiles whose filename ends in a
tilde.
- Reset terminal when relaunching a session (e.g.,
paste bracketing and mouse reporting).
- The composer window now uses the terminal's
font.
- Scrolling with the trackpad should be more
responsive now.
- Change how text is drawn when not using GPU
renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
treat a backslash in the last column as a
continuation mark and don't include it.
- By default, save terminal contents to history
when there is a scrolling region that touches
the top of the screen.
- Newly saved window arrangements will restore to
the right size when scroller style changes after
they were created (unless there are side-by-side
split panes).
- Treat soft hyphens as unicode punctuation in
Advanced Paste.
Bug Fixes
- Fix a bug where doublecliking on a session
titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
field.
- Blur is now correct after changing window type
or theme.
- Fix a bug where a window forgot it was blurred
when toggling traditional fullscreen in Minimal
theme.
- Fix a bug where windows would restore on the
wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
"off" when the "Reduce motion" accessibility
setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
sent the wrong code.
- Fix a bug where the app could hang after certain
trackpad touches.
- Fix a bug where copy on selection didn't always
work.
- Fix a bug where transparent windows changed
colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
didn't always work.
- Fix crashes.
- Fix a bug where disabling
middle-click-to-close-a-tab also breaks the tab
close button.
- Fix keystroke filtering in the Python APi which
seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
HTML for window title and tooltips.
- Fix a bug where inline images downscaled
with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
able to be created and is not already a
directory.
- Fix a bug where tab icons were flipped
vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
use the wrong thickness for text.
- Fix various bugs around snippets with the same
title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
~/.iterm2-1 cannot be created/used as writable
directories.
- Fix rendering bugs in background images with
transparency.
- When HTML titles are enabled, remove the tags
from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
changing screen.
- Fix a bug where no terminal content was shown
when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
sometimes be wrong.
- Fix a bug where smart cursor color didn't use
the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
retina scale into account.
- Fix blurry timestamps.
- Fix a hang when using a status bar with the
"stable layout" algorithm and a fixed-size
spacer.
- Fix a bug where scroll wheel mice could need
more than one click to scroll.
- Fix a bug where tmux integration was broken on
OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
or disabled.
- Fix bugs where tiled background images didn't
look right.
- Fix bug where the last command in the command
history toolbelt tool was cut off.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
29cdf5874307a1fe73e3c44933e31b2c060475204ce67eb4c28b0b809c164c5f
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYKX64wAKCRB0Et0TaFtK
rMEhAPwITFAC+x+jfXT5UKZbAue0dg5NqIEy4Kl7ryjbZjo1ngEAroQmvoQuQcPq
HFEi6YQpqvkSPDxa3LOcwCq/C2I37nQ=
=m/Fp
-----END PGP SIGNATURE-----
iTerm2 3.4.6 (OS 10.14+)
This is the recommended build for most users. Built on April 25, 2021.
[▾ Hide Changelog](<javascript:hideId('7927549355096272521')>)
3.4.6
This is a minor bugfix release over 3.4.5, which
was not widely distributed.
- Fix crashing bugs.
- Fix a bug where the git status bar didn't work
when outside the root of a repo.
The release notes for 3.4.5 follow:
3.4.5
New Features:
- Add preference to allow/disallow apps changing
the function of the option keys with a control
sequence.
- Add a menu item to pop the current session into
a new window.
- The git status bar now indicates the repo state
(merging, reverting, cherrypicking, bisecting,
rebasing, or applying).
- When you right click on a hex color like #ffeedd
show a preview of the color in sRGB in the
context menu.
- Add a new type of trigger to highlight the whole
line. This is useful because matching .*foo.* is
very slow. With this trigger you can simply
match foo and the whole line changes color.
Improvements
- The git status bar component no longer shells
out to the system git. It uses libgit2 instead
(nicely named!) and should be faster and more
reliable now.
- When known, the current git branch is used as a
search feature in Open Quickly.
- Don't show a line between the titlebar and
tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
selecting the Move To Screen menu item, it will
lose its affinity for the window assigned to it
in Prefs > Profiles > Window and stay where it
was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
shortcuts.
- Ignore dynamic profiles whose filename ends in a
tilde.
- Reset terminal when relaunching a session (e.g.,
paste bracketing and mouse reporting).
- The composer window now uses the terminal's
font.
- Scrolling with the trackpad should be more
responsive now.
- Change how text is drawn when not using GPU
renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
treat a backslash in the last column as a
continuation mark and don't include it.
- By default, save terminal contents to history
when there is a scrolling region that touches
the top of the screen.
- Newly saved window arrangements will restore to
the right size when scroller style changes after
they were created (unless there are side-by-side
split panes).
- Treat soft hyphens as unicode punctuation in
Advanced Paste.
Bug Fixes
- Fix a bug where doublecliking on a session
titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
field.
- Blur is now correct after changing window type
or theme.
- Fix a bug where a window forgot it was blurred
when toggling traditional fullscreen in Minimal
theme.
- Fix a bug where windows would restore on the
wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
"off" when the "Reduce motion" accessibility
setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
sent the wrong code.
- Fix a bug where the app could hang after certain
trackpad touches.
- Fix a bug where copy on selection didn't always
work.
- Fix a bug where transparent windows changed
colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
didn't always work.
- Fix crashes.
- Fix a bug where disabling
middle-click-to-close-a-tab also breaks the tab
close button.
- Fix keystroke filtering in the Python APi which
seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
HTML for window title and tooltips.
- Fix a bug where inline images downscaled
with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
able to be created and is not already a
directory.
- Fix a bug where tab icons were flipped
vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
use the wrong thickness for text.
- Fix various bugs around snippets with the same
title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
~/.iterm2-1 cannot be created/used as writable
directories.
- Fix rendering bugs in background images with
transparency.
- When HTML titles are enabled, remove the tags
from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
changing screen.
- Fix a bug where no terminal content was shown
when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
sometimes be wrong.
- Fix a bug where smart cursor color didn't use
the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
retina scale into account.
- Fix blurry timestamps.
- Fix a hang when using a status bar with the
"stable layout" algorithm and a fixed-size
spacer.
- Fix a bug where scroll wheel mice could need
more than one click to scroll.
- Fix a bug where tmux integration was broken on
OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
or disabled.
- Fix bugs where tiled background images didn't
look right.
- Fix bug where the last command in the command
history toolbelt tool was cut off.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
008625d1a917ae4a2cdbee572bddf37ddd6bb2a9880ce1082f2e5a977e4bcb57
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYIYG5gAKCRB0Et0TaFtK
rKcvAQCHZH+ExBEEg3e6TsDW4EqEhocGap2Et9Q/iIM2+ZCo8wEA7qyHD32DEVZp
/UnaW9ToqBW7Fg0Ho0KWKy2E6Jia62w=
=zWyd
-----END PGP SIGNATURE-----
iTerm2 3.4.5 (OS 10.14+)
This is the recommended build for most users. Built on April 14, 2021.
[▾ Hide Changelog](<javascript:hideId('4515428513328382082')>)
3.4.5
New Features:
- Add preference to allow/disallow apps changing
the function of the option keys with a control
sequence.
- Add a menu item to pop the current session into
a new window.
- The git status bar now indicates the repo state
(merging, reverting, cherrypicking, bisecting,
rebasing, or applying).
- When you right click on a hex color like #ffeedd
show a preview of the color in sRGB in the
context menu.
- Add a new type of trigger to highlight the whole
line. This is useful because matching .*foo.* is
very slow. With this trigger you can simply
match foo and the whole line changes color.
Improvements
- The git status bar component no longer shells
out to the system git. It uses libgit2 instead
(nicely named!) and should be faster and more
reliable now.
- When known, the current git branch is used as a
search feature in Open Quickly.
- Don't show a line between the titlebar and
tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
selecting the Move To Screen menu item, it will
lose its affinity for the window assigned to it
in Prefs > Profiles > Window and stay where it
was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
shortcuts.
- Ignore dynamic profiles whose filename ends in a
tilde.
- Reset terminal when relaunching a session (e.g.,
paste bracketing and mouse reporting).
- The composer window now uses the terminal's
font.
- Scrolling with the trackpad should be more
responsive now.
- Change how text is drawn when not using GPU
renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
treat a backslash in the last column as a
continuation mark and don't include it.
- By default, save terminal contents to history
when there is a scrolling region that touches
the top of the screen.
- Newly saved window arrangements will restore to
the right size when scroller style changes after
they were created (unless there are side-by-side
split panes).
- Treat soft hyphens as unicode punctuation in
Advanced Paste.
Bug Fixes
- Fix a bug where doublecliking on a session
titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
field.
- Blur is now correct after changing window type
or theme.
- Fix a bug where a window forgot it was blurred
when toggling traditional fullscreen in Minimal
theme.
- Fix a bug where windows would restore on the
wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
"off" when the "Reduce motion" accessibility
setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
sent the wrong code.
- Fix a bug where the app could hang after certain
trackpad touches.
- Fix a bug where copy on selection didn't always
work.
- Fix a bug where transparent windows changed
colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
didn't always work.
- Fix crashes.
- Fix a bug where disabling
middle-click-to-close-a-tab also breaks the tab
close button.
- Fix keystroke filtering in the Python APi which
seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
HTML for window title and tooltips.
- Fix a bug where inline images downscaled
with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
able to be created and is not already a
directory.
- Fix a bug where tab icons were flipped
vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
use the wrong thickness for text.
- Fix various bugs around snippets with the same
title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
~/.iterm2-1 cannot be created/used as writable
directories.
- Fix rendering bugs in background images with
transparency.
- When HTML titles are enabled, remove the tags
from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
changing screen.
- Fix a bug where no terminal content was shown
when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
sometimes be wrong.
- Fix a bug where smart cursor color didn't use
the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
retina scale into account.
- Fix blurry timestamps.
- Fix a hang when using a status bar with the
"stable layout" algorithm and a fixed-size
spacer.
- Fix a bug where scroll wheel mice could need
more than one click to scroll.
- Fix a bug where tmux integration was broken on
OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
or disabled.
- Fix bugs where tiled background images didn't
look right.
- Fix bug where the last command in the command
history toolbelt tool was cut off.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
2fead9e50cf8d6b1604306acc3ad83791fda234e2583c26d02f59d0a8664426a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYCtcDwAKCRB0Et0TaFtK
rNV7AQCvTEEIq1DArq1zpZKEbOZKVnpCVBCyWiNY3WI84vsilgD7BmmhrBZIcjOt
3wWI1DoucA++txeTFFTi+7ObvcK1AMk=
=6od5
-----END PGP SIGNATURE-----
iTerm2 3.4.4 (OS 10.14+)
This is the recommended build for most users. Built on February 7, 2021.
[▾ Hide Changelog](<javascript:hideId('595233545945413183')>)
3.4.4
Annoying things I'm sorry about
- You'll be asked to re-install the Python
runtime. This fixes a problem where pip3 would
sometimes fail. Instead of creating a symlink
of ~/Library/ApplicationSupport we will now use
~/.config/iterm2/AppSupport.
New Features
- Tab titles now parse very basic HTML tags for
bold, italic, and underline. Less-than and
ampersand entites are also recognized.
- Margins are now adjustable in Prefs >
Appearance > Panes.
- Add an option to save prefs to a custom folder
automatically.
- The composer now integrates with command history
and makes completion suggestions.
- When you right click on text with a hyperlink,
"Copy Link Address" is now available in the
context menu.
Improvements
- The changelog now has a PGP signature.
- Improve performance of opening lots of tabs at
once.
- Improve performance when changing prefs that
affect many tabs.
- Tabs are now selected on mouse down rather than
on mouse up.
- Hide tab close button on small tabs to prevent
accidental closure.
- Confirm deleting entries in the password
manager.
- Tab icons are now always left aligned and get
replaced with the close button on hover.
- Plain-text logs now include timestamps.
- Recognize U+251C and U+2524 as column dividers
for selection's soft boundaries.
- Reduce minimum dimming amount allowed in Prefs >
Appearance > Dimming.
- Use terminal background color to determine
appearance of composer.
- You can now use Cmd-W to dismiss the composer.
- Don't show an alert if the initial tmux
integration command fails.
- When you split a pane in tmux integration and
focus follows mouse is on, don't make the pane
under the mouse active. Make the new pane
active.
- New tmux windows created outside iTerm2 (e.g.,
by running `tmux new-window`) will become tabs
in the current window.
- Give backpressure to commands run in the
background (e.g., from triggers) to keep them
from hogging CPU.
- Improve performance of creating a new session in
a custom directory.
- Improve performance when there are big
background images.
- The composer now clears the existing command by
sending C-U C-K.
- Handle "Default_Ignorable" unicode characters
correctly.
- Use the background color of inactive sessions to
determine the split pane divider color.
- Improve performance of decoding inline images.
- Allow emoji picker to be added to the touch bar.
- Add "Send Snippet" as a key binding action.
- Remove the popover composer UI; use the large
composer UI regardless of whether there is a
status bar.
- Add a button in the composer UI to open
explainshell.com.
- When you hold down cmd while dragging in a file
from Finder, insert a command to cd to its
containing folder.
- The GPU renderer now draws a frame at least
every half second to prevent a brief hang after
inactivity.
Bug Fixes
- Fix various crashes.
- Fix a bug where tab labels would be white in
light mode when there was a colored tab.
- Fix alignment of underlines in GPU renderer.
- Fix various drawing bugs in legacy renderer.
- Fix a bug where on Big Sur transparency doesn't
work with background images.
- Fix $$$$ in profile commands, which should be
replaced with $$.
- Fix a bug in key reporting for arrow keys when
application cursor mode is on. This caused
problems in vim.
- Improve how background colors are blended with
background images in GPU renderer to be
consistent with legacy renderer.
- Fix a bug where Window > Move to (display) was
disabled.
- Fix a bug where tmux panes would get killed when
switching sessions.
- Don't show the "short-lived session" warning in
tmux integration when creating a new tmux
session.
- Fix a problem where BBEdit couldn't find the
parent iTerm2 app.
- Tolerate missing profiles when restoring a
window arrangement.
- Don't show swipe-between-tabs animation when
there is only one tab.
- Give minimal windows an invisible proxy icon so
that accessibility can tell what the current
directory is.
- Tmux integration windows enter full screen when
the profile specifies it.
- Fix a bug where windows were not movable after
exiting full screen.
- Fix various bugs in the "Add Trigger" menu item.
- Fix bugs where switching tabs makes a cleared
search field regain its previous value.
- Fix a bug where async_get_full_profile in Python
API would throw for some profiles.
- Reduce size of saved state database.
- Fix a bug where tmux integration didn't work on
OpenBSD.
- Fix a bug where clicking in the search field
didn't work.
- Fix a bug where non-default background colors
had the wrong opacity in the GPU renderer.
- Fix tiled images, which did not tile properly.
- Fix a bug where newly added snippets cannot be
selected in the menu.
- Fix a bug where the login shell could be
launched as x86 only.
- Fix layout bugs when resizing shortcuts prefs
windows.
- Reduce CPU utilization when GPU resources are
scarce.
- Fix a bug where minimum contrast didn't work
correctly in GPU renderer sometimes.
- Make the tab color selection menu item look
right in dark mode.
- When you drag a tab out of a window, show the
previously selected tab. That makes it possible
to drag another tab into a pane in the current
tab.
- Fix a bug where the tmux initial window mode was
not respected.
- Fix a bug where miniaturized windows were
restored non-miniaturized.
- Fix a bug where the "do not remap" action didn't
work when secure keyboard input was turned on.
- Fix a file descriptor leak in the main app and
also the server.
- Fix crash when opening session title bar menu.
- Fix a bug where advanced working directory
settings were not editable.
- Fix a bug where sessions could have a line of
the wrong color near the top when empty.
- Fix color of tab bar text on Big Sur.
- Fix a bug where double-clicking on a session's
title bar didn't maximize tmux panes correctly.
- Fix truncated button in status bar search field.
- Update window blur when changing window styles.
- Turn off paste bracketing and other undesirable
terminal state when relaunching a session.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
cdf6dce864e53f60445f012cf6e4fb8113ed0ae28532921a0dec835565eb4b13
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYCDcUgAKCRB0Et0TaFtK
rESGAP9iNU5aZUk+FmJ750vbsViJzXSQUVzFWDsb0YlFWaqCcgEAyVXtKyDnkniL
t5B07vm/YtpS7Qnwm+aJvd2nVUSeDNk=
=1pnj
-----END PGP SIGNATURE-----
iTerm2 3.4.3 (OS 10.14+)
This is the recommended build for most users. Built on December 6, 2020.
[▾ Hide Changelog](<javascript:hideId('6599007751006309300')>)
3.4.3
- Fix crashes.
- Don't allow programs to turn on
"modifyOtherKeys" key reporting mode, which
caused problems in vim for many users.
This default can be changed in
Prefs > Profiles > Keys.
- Fix a bug where "Move Session to Window" was
disabled in the context menu.
- Fix a bug where long URLs couldn't be
cmd-clicked on.
- If Application Support is not writable, copy the
server binary to ~/.iterm2
- Save restorable state when upgrading, even if
it's normally not used.
- Fix a bug where custom status bar components
didn't work.
- Fix a bug where the python runtime couldn't be
downloaded.
- Bring back the ApplicationSupport symlink
because pip3 can't handle spaces in paths.
- Fix a crash when the scripting console was open.
3.4.2
- Fix a bug where sessions ended immediately.
- Fix a bug where tmux integration would
disconnect immediately.
- Fix crashes.
- Fix a bug where smart selection actions in the
context menu were disabled.
- Fix Prefs > General > Magic > Allow all apps to
connect, which gave an error every time.
- Fix right click to open context menu for
two-button mice.
- Improve performance when resizing windows with
background images.
- Fix shortcut for Composer in tip of the day.
- Fix support for control keys that include option
on non-US keyboard in modifyOtherKeys mode 2.
- Fix a bug where the tab title was used in place
of the window title.
3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
overlap terminal contents in full screen mode.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
9ed73844838bddf797eadf37e5f7da3771308c3f74d38cd422c18eebaaa8f6b9
iTerm2 3.4.2 (OS 10.14+)
This is the recommended build for most users. Built on November 24, 2020.
[▾ Hide Changelog](<javascript:hideId('1843954117354345147')>)
3.4.2
- Fix a bug where sessions ended immediately.
- Fix a bug where tmux integration would
disconnect immediately.
- Fix crashes.
- Fix a bug where smart selection actions in the
context menu were disabled.
- Fix Prefs > General > Magic > Allow all apps to
connect, which gave an error every time.
- Fix right click to open context menu for
two-button mice.
- Improve performance when resizing windows with
background images.
- Fix shortcut for Composer in tip of the day.
- Fix support for control keys that include option
on non-US keyboard in modifyOtherKeys mode 2.
- Fix a bug where the tab title was used in place
of the window title.
3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
overlap terminal contents in full screen mode.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
0ac49f8f5df0c28f8a3400952d3baf6e40233b62a1cec23ad9266f0019484e99
iTerm2 3.4.1 (OS 10.14+)
This is the recommended build for most users. Built on November 15, 2020.
[▾ Hide Changelog](<javascript:hideId('4159828087962551578')>)
3.4.1
Bug fixes:
- Work around a bug in Big Sur where downloads of
the Python API are interrupted.
- Work around a bug in Big Sur where modal alerts
don't resize when expanding their contents.
- Fix a bug where full screen tabbars would
overlap terminal contents.
3.4.0
New Features
- There's a new pane in Preferences calls
Shortcuts where you can define Snippets and
Actions. A Snippet is a piece of text that you
can paste from the toolbelt, status bar, or from
the Edit menu. Actions are similar to key
binding actions, but can be invoked from the
toolbelt, status bar, or Edit menu.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Add "Add Trigger" menu item, which lets you
quickly create a highlight trigger.
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- Window restoration made more reliable.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most table views now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
- Draw window borders on big sur in light theme.
Bug Fixes
- Fix a discrepancy between the legacy and GPU
renderers. When an emoji with default text
presentation follows an emoji with default emoji
presentation, CoreText renders the emoji with
the emoji presentation while the GPU does not.
Use the default presentation always.
- Detect hostname changes. Fixes the git status
bar component breaking.
- Fix support for multiple broadcast domains in
Python API.
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
3b817cc0985e250359b37167f63d26bbc97ffafa2926d0eb64e664e095852ae4
iTerm2 3.4.0 (OS 10.14+)
This is the recommended build for most users. Built on November 12, 2020.
[▾ Hide Changelog](<javascript:hideId('4283133780686103733')>)
3.4.0
New Features
- There's a new pane in Preferences calls
Shortcuts where you can define Snippets and
Actions. A Snippet is a piece of text that you
can paste from the toolbelt, status bar, or from
the Edit menu. Actions are similar to key
binding actions, but can be invoked from the
toolbelt, status bar, or Edit menu.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Add "Add Trigger" menu item, which lets you
quickly create a highlight trigger.
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- Window restoration made more reliable.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most table views now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
- Draw window borders on big sur in light theme.
Bug Fixes
- Fix a discrepancy between the legacy and GPU
renderers. When an emoji with default text
presentation follows an emoji with default emoji
presentation, CoreText renders the emoji with
the emoji presentation while the GPU does not.
Use the default presentation always.
- Detect hostname changes. Fixes the git status
bar component breaking.
- Fix support for multiple broadcast domains in
Python API.
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
5f78331d4786ead6fff49c86738be8fab3a1777346c3e35e6bb9c6cad52c1a47
iTerm2 3.3.12 (OS 10.12+)
This is the recommended build for most users. Built on July 2, 2020.
[▾ Hide Changelog](<javascript:hideId('6269053326441030598')>)
3.3.12
This is a bugfix release for 3.3.11, which was
short-lived. The release notes for 3.3.11 are
included below.
Bugs Fixed
- Fix a bug where the tab bar was translucent in
dark mode when any pane has transparency.
- Fix a bug where new full screen windows weren't
created properly in macOS 10.15.5.
- Fix the vertical alignment of tmux split panes
when the GPU renderer is enabled.
- Reduce lag when activating the app while the GPU
renderer is enabled.
- Fix a bug where plain-text session logs could be
corrupted.
SHA-256 of the zip file is
6811b520699e8331b5d80b5da1e370e0ed467e68bc56906f08ecfa986e318167
iTerm2 3.3.11 (OS 10.12+)
This is the recommended build for most users. Built on June 8, 2020.
[▾ Hide Changelog](<javascript:hideId('4627865024982967829')>)
3.3.11
This is a bugfix release for 3.3.10, which was
short-lived. The release notes for 3.3.10 are
included below.
- Fixes a bug introduced in 3.3.10 where the dock
and menu bar would sometimes remain hidden after
exiting non-native fullscreen.
- Works around a possible macOS bug where Metal
drops frames occasionally.
- Fixes a bug where the advanced setting to not
create an ApplicationSupport symlink was
ignored.
3.3.10
Security Improvements
- Improves the method for gaining authorization
to run Python scripts launched from outside
iTerm2.
Version 3.3.9 deprecated the older auth
mechanism based on the command line, requiring
the user to consent to every connection. That
was annoying.
There are now two ways to get permission:
1. The UI prompts on every connection.
2. The app requests a cookie using Applescript.
Therefore, Applescript permission is
required. This requires the user to
consent only once per app that originates the
connection.
Note that this does not affect scripts launched
by iTerm2, such as those opened from the Scripts
menu.
For more information, including details on how
to use osascript to get a cookie, please see:
https://iterm2.com/python-api-security-model
New Features:
- Updated shell integration installer UI, now with
internet-free install option.
- Add a setting to Edit Session to prevent
Automatic Profile Switching from changing the
profile.
- Add support for opening files to line number
with IntelliJ.
- Applescript can now launch a Python API script
from an absolute path.
Improvements:
- Add a delay before previewing a color preset to
make it easier to navigate the menu quickly.
- Set SSL_CERT_FILE and SSL_CERT_DIR when running
Python scripts so they can use TLS.
- Change "Broken Pipe" to "Session Ended" and make
it a soothing blue color.
- Network filesystems can not hang the UI any
more. Calls to proc_pidinfo are now made in an
XPC server.
- Default to built-in mouse cursor on Catalina
since it is now visible against a black
background.
- Updated internet access policy for all outgoing
connections.
- Improve appearance of items in the Uploads and
Downloads menus.
- "Flash tab bar in full screen" is now off by
default since it is now a titlebar accessory.
- Add keyboard shortcuts for some announcements.
- The foreground and background color are shown in
the context menu when exactly one cell is
selected.
- Automatically detect when mouse reporting
control sequences are getting printed and offer
to turn it off.
- Automatically detect when paste bracketing
control sequences are getting printed and offer
to turn it off.
- Tab label font size is now customizable in an
advanced setting.
- Improve legibility of highlighted search results
in the profile list in dark mode.
- Restore tmux window locations better when
burying the attaching window.
- Improve UI for selecting a key binding action.
- Close the man page window (opened when tapping
the man page button on the touch bar) when man
quits.
- You can now close the crash reporter with cmd-w.
- Improve the appearance of window borders (when
enabled in Appearance settings) on macOS 10.14+.
- Improve usability of Arrangement prefs. You can
now do multiple selection, rename, and undo.
- Improve legibility of window titles in Minimal
theme with light tab colors.
- Improve legibility of autocomplete popup text.
- Improve the tab color menu item UX.
- Make clearing command history faster.
Bug Fixes:
- Fix a bug where hotkey windows could appear
under the menu bar on secondary display.
- Fix session restoration with custom shells.
- Fix various crashes.
- Fix a bug where a keypress with the option key
in the very first keypress in a session could be
misinterpreted.
- Fix a bug where URLs with ports were sometimes
not recognized.
- Fix a bug where closing a tmux integration
window with many tabs would send garbage to the
command line of the
attaching session.
- Fix Shell>Close Terminal Window in tmux
integration.
- Fix support for ligatures with spaces when the
advanced pref "Prefer speed to accuracy for
characters with
combining marks" is off.
- Fix bugs with it2git
- Fix bugs in tmux dashboard for session names
containing nonbreaking spaces.
- Fix bug where you couldn't map a keystroke to
increase height.
- Fix high CPU utilization in some situations.
- Fix a bug where attaching to tmux could restore
a window to a different position than where it
was before detaching.
- Respect key action of "Ignore" when there is no
terminal window.
- Prevent annoying system log messages from
IIONumber.
- Fix a bug where applescript launched from
Scripts menu would timeout improperly.
- Fix escaping of single quotes in semantic
history commands.
- Fix a bug where new tabs created in Applescript
weren't always usable right away.
- Disable performance statistics to try to
find cause of memory corruption bug.
- Fix memory leaks.
- Fix a bug where the arrow icon was missing from
tmux tabs.
- Replace calls to calloc() with a safer wrapper
function.
- Fix a bug where the zsh command line could be
pushed into history unnecessarily.
- Fix icon alignment in New Python Script window.
SHA-256 of the zip file is
7b65a5712cf9f14bedabb6281b96291118c1c007274bc66ad86cb3dff242a73b
iTerm2 3.3.10 (OS 10.12+)
This is the recommended build for most users. Built on May 14, 2020.
[▾ Hide Changelog](<javascript:hideId('3815096843377686748')>)
3.3.10
Security Improvements
- Improves the method for gaining authorization
to run Python scripts launched from outside
iTerm2.
Version 3.3.9 deprecated the older auth
mechanism based on the command line, requiring
the user to consent to every connection. That
was annoying.
There are now two ways to get permission:
1. The UI prompts on every connection.
2. The app requests a cookie using Applescript.
Therefore, Applescript permission is
required. This requires the user to
consent only once per app that originates the
connection.
Note that this does not affect scripts launched
by iTerm2, such as those opened from the Scripts
menu.
For more information, including details on how
to use osascript to get a cookie, please see:
https://iterm2.com/python-api-security-model
New Features:
- Updated shell integration installer UI, now with
internet-free install option.
- Add a setting to Edit Session to prevent
Automatic Profile Switching from changing the
profile.
- Add support for opening files to line number
with IntelliJ.
- Applescript can now launch a Python API script
from an absolute path.
Improvements:
- Add a delay before previewing a color preset to
make it easier to navigate the menu quickly.
- Set SSL_CERT_FILE and SSL_CERT_DIR when running
Python scripts so they can use TLS.
- Change "Broken Pipe" to "Session Ended" and make
it a soothing blue color.
- Network filesystems can not hang the UI any
more. Calls to proc_pidinfo are now made in an
XPC server.
- Default to built-in mouse cursor on Catalina
since it is now visible against a black
background.
- Updated internet access policy for all outgoing
connections.
- Improve appearance of items in the Uploads and
Downloads menus.
- "Flash tab bar in full screen" is now off by
default since it is now a titlebar accessory.
- Add keyboard shortcuts for some announcements.
- The foreground and background color are shown in
the context menu when exactly one cell is
selected.
- Automatically detect when mouse reporting
control sequences are getting printed and offer
to turn it off.
- Automatically detect when paste bracketing
control sequences are getting printed and offer
to turn it off.
- Tab label font size is now customizable in an
advanced setting.
- Improve legibility of highlighted search results
in the profile list in dark mode.
- Restore tmux window locations better when
burying the attaching window.
- Improve UI for selecting a key binding action.
- Close the man page window (opened when tapping
the man page button on the touch bar) when man
quits.
- You can now close the crash reporter with cmd-w.
- Improve the appearance of window borders (when
enabled in Appearance settings) on macOS 10.14+.
- Improve usability of Arrangement prefs. You can
now do multiple selection, rename, and undo.
- Improve legibility of window titles in Minimal
theme with light tab colors.
- Improve legibility of autocomplete popup text.
- Improve the tab color menu item UX.
- Make clearing command history faster.
Bug Fixes:
- Fix a bug where hotkey windows could appear
under the menu bar on secondary display.
- Fix session restoration with custom shells.
- Fix various crashes.
- Fix a bug where a keypress with the option key
in the very first keypress in a session could be
misinterpreted.
- Fix a bug where URLs with ports were sometimes
not recognized.
- Fix a bug where closing a tmux integration
window with many tabs would send garbage to the
command line of the
attaching session.
- Fix Shell>Close Terminal Window in tmux
integration.
- Fix support for ligatures with spaces when the
advanced pref "Prefer speed to accuracy for
characters with
combining marks" is off.
- Fix bugs with it2git
- Fix bugs in tmux dashboard for session names
containing nonbreaking spaces.
- Fix bug where you couldn't map a keystroke to
increase height.
- Fix high CPU utilization in some situations.
- Fix a bug where attaching to tmux could restore
a window to a different position than where it
was before detaching.
- Respect key action of "Ignore" when there is no
terminal window.
- Prevent annoying system log messages from
IIONumber.
- Fix a bug where applescript launched from
Scripts menu would timeout improperly.
- Fix escaping of single quotes in semantic
history commands.
- Fix a bug where new tabs created in Applescript
weren't always usable right away.
- Disable performance statistics to try to
find cause of memory corruption bug.
- Fix memory leaks.
- Fix a bug where the arrow icon was missing from
tmux tabs.
- Replace calls to calloc() with a safer wrapper
function.
- Fix a bug where the zsh command line could be
pushed into history unnecessarily.
- Fix icon alignment in New Python Script window.
SHA-256 of the zip file is
ec50ecd509942d2d800e1c4672223e47504b05e64aebf687f24c4a29d9f534a0
iTerm2 3.3.9 (OS 10.12+)
This is the recommended build for most users. Built on February 12, 2020.
[▾ Hide Changelog](<javascript:hideId('5817551272307318477')>)
3.3.9
This release fixes a number of crashes and adds a security
improvement to the Python API.
Security Improvements
- The security model for the Python API has changed. Any
process attempting to use the API that was not launched by
iTerm2 will require explicit user approval.
The previous technique, which relied on inferring the job
name from its command line, could be subverted.
Consequently, the UI for authorizing particular scripts
has been removed.
For more information, please see
https://iterm2.com/python-api-security-model
Bug Fixes
- Fix a bug where the character accent menu would appear
when holding down a key.
- Fix crash when restoring window arrangement.
- Fix crash when a download finishes.
- Fix crash when a downloaded file has disappeared.
- Fix crash after closing a window that completely obscures
another window and the GPU renderer is enabled.
- Fix crash when there is no default fixed-pitch font.
- Fix crash when removing invalid automatic profile
switching rule.
- Fix crash when a bonjour host appears/disappears and the
default profile has a hotkey and you're switched to a
different user account than the one iTerm2 is in.
- Enable same-origin policy for webkit popovers.
- Fix a crash when a shortcut is configured to invoke a menu
item that has a submenu.
- Fix a crash when a tab icon is 0x0 pixels.
- Fix a crash when there's a process ID cycle.
- Fix a bug where shortcuts are shown in tabs when
navigation by modifiers+number is disabled.
- Fix various other crashes.
Version 3.3.8 was a short-lived release. Its release notes
follow:
3.3.8
New Features
- You can now specify that a profile should use a "custom
shell". With this option, you can ask to use a particular
shell (e.g., /usr/local/bin/fish) without having to update
your Unix account with chsh. Such sessions are launched through
/usr/bin/login, which initializes them properly.
- Add a new status bar component that opens a menu with a
list of actions. Actions are defined by the toolbelt
Actions tool.
- You can now log plain text, both for automatic logging and
for one-off logging from the menu.
- Adds a new built-in color preset, Smoooooth. Works around
bloom issues on Pro Display XDR.
- Add "Send Selection" to context menu.
- Dynamic Profiles now log errors to the scripting
console.
Improvements
- Add reordering and multiple selection to the Actions
toolbelt tool.
- Add actions in the Actions tool to the Open Quickly
window.
- Speed up Open Quickly window animation.
- Change how shortcuts in the Open Quickly window work to
not require a space. For example, /afoo will now find
window arrangements matching the search query "foo".
Previously, you'd need to put a space after "/a".
- Save search history outside of user defaults for better
privacy.
- Tighten up image decoding sandboxes. There were some
permissions that aren't needed by the currently supported
versions of macOS.
- Copy mode now supports moving forward and back by a vim
"WORD" with W and B. A WORD can contain symbols, as
opposed to a word which is approximately alphanumeric.
- Be more paranoid about parsing imported recording files.
- Sandbox sixel image decoding.
- Improve the reliability of three-finger-drag-to-select.
- Downloaded files (e.g., with it2dl) are now quarantined.
- When a session's current directory is fetched from the OS,
rewrite root-firmlinked paths to their more familiar
aliases.
- Add more advanced preferences to tame the dumpster fire
that is Consolas.
- Restore tmux windows' positions more consistently in tmux
integration mode.
- As you select items in the color presets menu, temporarily
apply them so you can see the effect.
- Signed script archives now sign the entire file (other
than the signature itself) to prevent tampering with
embedded certs. For now older archives are still accepted
as input.
- Require user permission for various control sequences that
could possibly be abused for evil purposes.
- Separate next/previous mark and next/previous annotation
into separate menu items.
- Various performance improvements.
- Three-finger drags are now reported when three finger
drags are configured to act as regular left mouse drags.
- Use momentum scrolling for mouse reporting the scroll
wheel.
- Remove various unneeded entitlements for extra security.
- Changes to custom touch bar items are now reflected
immediately.
- Deal with attempting to attach twice to the same tmux
session more nicely.
- User-defined variables are now saved in the tmux server
and restored upon attaching in tmux integration mode.
- Add "Ignore" as a new pointer action.
- If Paste is waiting for a prompt and you press either
control-C or esc, the paste will be aborted.
- Add an advanced pref to force antialiasing on retina
displays, even when AA is disabled in Text prefs.[
- Use hardened runtimes in helper programs.
- Use secure timestamps everywhere.
Bug Fixes
- Voice dictation now works!
- Fix incorrect handling of three finger taps that caused
the dictionary to open.
- Fix gray bar that appeared when in native full screen with
one tab and no tab bar.
- Fix a bug where the title could be misaligned in the
Minimal theme.
- Fix off-center red/yellow/green buttons in Minimal theme.
- Fix various crashes.
- Improve argument parsing for identifying Python scripts
that use the API.
- Fix improper text alignment in font picker.
- Duplicate Tab now respects the advanced pref that controls
where new tabs are added.
- Fix a bug where the shorcut for switching
panes/tabs/window by number could show the wrong modifiers
in the settings UI.
- Don't convert control sequences from screen to xterm in
tmux integration if the default-terminal tmux option is
set to something not including 'screen'.
- Fix a bug where tmux integration would get confused about
which tab is which after reordering them.
- Fix a bug where editing a trigger's regex could update the
first row instead of the one you were editing.
- Don't show the "document edited" dot in the close button
when the profile has a custom command, which tricked us
into thinking it was always edited.
- Fix a bug where the tab title could become empty after
popping a title from the stack (such as when exiting vim).
- Don't hang when importing a script with a self-signed
cert.
- Improve how the git status bar component truncates text.
- The GPU renderer drew selected tab characters incorrectly.
Fix it.
- Disable quicklook for http, since it won't work anyway due
to ATS.
- Fix bugs in restoring annotations that would cause them to
change what text was annotated.
- Fix the git status bar tool in directories with tildes in
their names.
- Fix crazy big mouse cursor when screen sharing.
- Don't do crazy things if you try to mouse report past the
223rd row/column in xterm mouse reporting mode.
- Fix printing of images in black-and-white mode.
- Fix a bug where "select menu item" actions got performed
twice.
- Fix a bug where the dock got hidden on the wrong screen
when entering full screen.
- You can now assign force click to smart select and it'll
work the way you'd expect.
- .its files now have proper icons and are bound to iTerm2.
- Fix a bug where background images would sometimes not
update right away when using the GPU renderer.
- Make highlighted search results in the profile list more
legible in dark mode.
Things Made Worse
- Remove the CPU profiling feature. It was never very good
and the command line "sample" program is better.
- Tab icons are no longer supported on macOS 10.12 because
Apple made a dog's breakfast of drawing images in the
10.15 SDK.
SHA-256 of the zip file is
4aff009d2695f9921708f9927af1578be37d12ecab28aaca27646f02842ebede
iTerm2 3.3.8 (OS 10.12+)
This is the recommended build for most users. Built on February 2, 2020.
[▾ Hide Changelog](<javascript:hideId('4186230932753577828')>)
3.3.8
New Features
- You can now specify that a profile should use a "custom
shell". With this option, you can ask to use a particular
shell (e.g., /usr/local/bin/fish) without having to update
your Unix account with chsh. Such sessions are launched through
/usr/bin/login, which initializes them properly.
- Add a new status bar component that opens a menu with a
list of actions. Actions are defined by the toolbelt
Actions tool.
- You can now log plain text, both for automatic logging and
for one-off logging from the menu.
- Adds a new built-in color preset, Smoooooth. Works around
bloom issues on Pro Display XDR.
- Add "Send Selection" to context menu.
- Dynamic Profiles now log errors to the scripting
console.
Improvements
- Add reordering and multiple selection to the Actions
toolbelt tool.
- Add actions in the Actions tool to the Open Quickly
window.
- Speed up Open Quickly window animation.
- Change how shortcuts in the Open Quickly window work to
not require a space. For example, /afoo will now find
window arrangements matching the search query "foo".
Previously, you'd need to put a space after "/a".
- Save search history outside of user defaults for better
privacy.
- Tighten up image decoding sandboxes. There were some
permissions that aren't needed by the currently supported
versions of macOS.
- Copy mode now supports moving forward and back by a vim
"WORD" with W and B. A WORD can contain symbols, as
opposed to a word which is approximately alphanumeric.
- Be more paranoid about parsing imported recording files.
- Sandbox sixel image decoding.
- Improve the reliability of three-finger-drag-to-select.
- Downloaded files (e.g., with it2dl) are now quarantined.
- When a session's current directory is fetched from the OS,
rewrite root-firmlinked paths to their more familiar
aliases.
- Add more advanced preferences to tame the dumpster fire
that is Consolas.
- Restore tmux windows' positions more consistently in tmux
integration mode.
- As you select items in the color presets menu, temporarily
apply them so you can see the effect.
- Signed script archives now sign the entire file (other
than the signature itself) to prevent tampering with
embedded certs. For now older archives are still accepted
as input.
- Require user permission for various control sequences that
could possibly be abused for evil purposes.
- Separate next/previous mark and next/previous annotation
into separate menu items.
- Various performance improvements.
- Three-finger drags are now reported when three finger
drags are configured to act as regular left mouse drags.
- Use momentum scrolling for mouse reporting the scroll
wheel.
- Remove various unneeded entitlements for extra security.
- Changes to custom touch bar items are now reflected
immediately.
- Deal with attempting to attach twice to the same tmux
session more nicely.
- User-defined variables are now saved in the tmux server
and restored upon attaching in tmux integration mode.
- Add "Ignore" as a new pointer action.
- If Paste is waiting for a prompt and you press either
control-C or esc, the paste will be aborted.
- Add an advanced pref to force antialiasing on retina
displays, even when AA is disabled in Text prefs.[
- Use hardened runtimes in helper programs.
- Use secure timestamps everywhere.
Bug Fixes
- Voice dictation now works!
- Fix incorrect handling of three finger taps that caused
the dictionary to open.
- Fix gray bar that appeared when in native full screen with
one tab and no tab bar.
- Fix a bug where the title could be misaligned in the
Minimal theme.
- Fix off-center red/yellow/green buttons in Minimal theme.
- Fix various crashes.
- Improve argument parsing for identifying Python scripts
that use the API.
- Fix improper text alignment in font picker.
- Duplicate Tab now respects the advanced pref that controls
where new tabs are added.
- Fix a bug where the shorcut for switching
panes/tabs/window by number could show the wrong modifiers
in the settings UI.
- Don't convert control sequences from screen to xterm in
tmux integration if the default-terminal tmux option is
set to something not including 'screen'.
- Fix a bug where tmux integration would get confused about
which tab is which after reordering them.
- Fix a bug where editing a trigger's regex could update the
first row instead of the one you were editing.
- Don't show the "document edited" dot in the close button
when the profile has a custom command, which tricked us
into thinking it was always edited.
- Fix a bug where the tab title could become empty after
popping a title from the stack (such as when exiting vim).
- Don't hang when importing a script with a self-signed
cert.
- Improve how the git status bar component truncates text.
- The GPU renderer drew selected tab characters incorrectly.
Fix it.
- Disable quicklook for http, since it won't work anyway due
to ATS.
- Fix bugs in restoring annotations that would cause them to
change what text was annotated.
- Fix the git status bar tool in directories with tildes in
their names.
- Fix crazy big mouse cursor when screen sharing.
- Don't do crazy things if you try to mouse report past the
223rd row/column in xterm mouse reporting mode.
- Fix printing of images in black-and-white mode.
- Fix a bug where "select menu item" actions got performed
twice.
- Fix a bug where the dock got hidden on the wrong screen
when entering full screen.
- You can now assign force click to smart select and it'll
work the way you'd expect.
- .its files now have proper icons and are bound to iTerm2.
- Fix a bug where background images would sometimes not
update right away when using the GPU renderer.
- Make highlighted search results in the profile list more
legible in dark mode.
Things Made Worse
- Remove the CPU profiling feature. It was never very good
and the command line "sample" program is better.
- Tab icons are no longer supported on macOS 10.12 because
Apple made a dog's breakfast of drawing images in the
10.15 SDK.
SHA-256 of the zip file is
6e6755d857c8f30bd0efcd60719a78a8cf4142a91e28fd89377ad5a37cc36a68
iTerm2 3.3.7 (OS 10.12+)
This is the recommended build for most users. Built on November 17, 2019.
[▾ Hide Changelog](<javascript:hideId('2626036229574813521')>)
iTerm2 version 3.3.7
New Features
- Adds a preference to specify whether you want
each tab to control the window title
separately, or if all tabs in a window should
share a single window title. This affects window
title set by control sequences like OSC 2.
- Separate 'use custom bold color' from 'brighten
bold colors', which previously were confusingly
grouped into a single setting.
- Password manager now has a column for user
names.
- Add support for 2-factor codes appended to
password in password manager.
Improvements
- Various performance improvements.
- When the window title is changed by a control
sequence, set the window title to exactly that
string.
- Remember whether "tags" view of profile list is
expanded in toolbelt.
- Move selection-related settings into General >
Selection.
- Add advanced pref to disable tabbar tooltips.
- Set pixel size in TTY.
- Don't show a warning when modifying a session's
copy of its profile when that profile is backed
by a dynamic profile.
- When prefs from a remote location fail to load,
offer to reveal the responsible preference.
- The toolbelt now uses a dark background in the
Minimal theme when the terminal window's
background is dark.
- Add Unicode 12 width tables for emoji.
- Add "Edit Account Name" and "Edit User Name" to
password manager context menu.
- Variable-size tmux windows are now pretty
usable. Try turning on Prefs>Advanced>Allow
variable window sizes in tmux integration.
- Put a dot in the close button when there is an
active job running.
- You can now drag the window using the New Tab +
button.
- When selecting a tag from the "tags" view, use
the tag: operator to restrict the search term to
tags.
- Add advanced pref to enable italic in tmux
integration. It uses the "screen" terminal where
the control sequence normally used for italics
instead does reverse video.
Bug Fixes
- Disable quicklook if it's disabled systemwide.
- Fix drawing of "tags" view of profile list.
- Fix bug where users with spaces in their names
couldn't log in.
- Fix a bug where windows with a left-side tab bar
had the wrong number of columns when first
created.
- Fix a bug where activating a session via API in
an inactive tab would activate the wrong session
in that tab.
- Fix a bug where setting the icon title when
showing Profile + Session name caused the
profile name to go away.
- Fix padding of "broken pipe" message.
- Fix bugs in updating session list in tmux
dashboard.
- Fix a bug where window buttons were hidden when
entering native full screen.
- Disable selection scroll if it begins in the
mutable area while reporting mouse clicks.
- Fix a bug where option-clicking the zoom button
after exiting full screen doesn't zoom.
- Fix a bug where selection by dragging three
fingers selects too much text.
- Fix imgcat in Catalina.
- Fix dragging folders to iTerm2 icon.
- Remove a brittle performance hack for scroll
views that may have been causing crashes.
- Fix a bug when changing tabs while selecting
text causing future selections to be wrong.
- Fix a few crashes.
- Fix manpage viewer in touch bar.
- If you use the CurrentDir control sequence
without the rest of shell integration, it will
now work reliably.
- Fix escaping of smart selection "run command in
window" commands.
- Fix some integer overflow bugs.
- In secure copy, keyboard-interactive and private
key passpharse input deadlocked. Fix it.
- Preserve the selected weight when changing
typeface, when possible.
- Respect the desired popover size for custom
status bar components. This fix may cause some
popovers to have different-sized popovers than
expected, and may require updating the script to
correct.
- Fix a bug where Find Next would not navigate to
the very first word in history.
- Fix a runaway CPU issue when initializing GPU
renderer.
- Touch bar in full screen now shows correct tab
titles. Fixes a bug where they would get out of
sync with reality.
- Fixes a bug where adding a new password in the
password manager could hang.
Scripting
- Python 3.8.0 is now available. It requires
3.3.7beta3 or later, so keep that in mind when
distributing scripts.
- Add support for delta updates of the Python
runtime.
- Add Session.async_get_contents to docs.
- Add Profile.async_get_default and
PartialProfile.async_get_default.
SHA-256 of the zip file is
a993e66119b8ddf97e6b50a03a8aa6fbf3954f66a3f896a7503876c06702e724
iTerm2 3.3.6 (OS 10.12+)
This build contains an important security fix and all users should install it. Built on October 9, 2019.
[▾ Hide Changelog](<javascript:hideId('2049574003685595374')>)
iTerm2 version 3.3.6
This build fixes a serious security issue. All
users should upgrade.
The Mozilla Foundation has generously sponsored a
security audit of the iTerm2 source code. As part
of this audit, a problem was discovered which
could cause iTerm2 to issue commands in response
to receiving certain input. This is a serious
security issue because in some circumstances it
could allow an attacker to execute commands on
your machine when you view a file or otherwise
receive input they have crafted in iTerm2.
For more information, please visit the
iterm2-discuss group.
https://groups.google.com/forum/#!forum/iterm2-discuss
Improvements
- Visual improvements to minimal and compact
themes' titlebar.
- Make overlay scrollbars dark in dark theme with
light terminal background so they're more
visible.
- Various UI improvements to the Composer status
bar component.
Bug Fixes
- Fix a bug where you couldn't import an .its file
requiring the latest runtime version.
- Fix a bug where exporting an autolaunch script
wouldn't work if there was a symlink in the
path.
- Fix the frame of the hotkey window when there's
another terminal window in lion fullscreen on a
different desktop.
- Fix a bug where three-finger drag was broken.
- Prevent very wide/tall images from disappearing.
- Make the color picker remember hue and
saturation when the color passes through pure
black or white.
- Don't get confused about the working directory
when only a subset of the shell integration
control sequences are used.
- Fix a bug where changing the badge and the title
in quick succession would only affect the badge.
- Ensure all file descriptors are closed when
launching a coprocess (before only 0-255 were
closed).
- Fixes a crash-on-launch problem for some users
in corporate environments.
Scripting
- Add Session.async_get_contents
SHA-256 of the zip file is
31fe60529974761a198d127c4d246c59a418e3508dcc4f172a51ab07b0a65373
iTerm2 3.3.5 (OS 10.12+)
This is the recommended build for most users. Built on October 6, 2019.
[▾ Hide Changelog](<javascript:hideId('3954192201663301831')>)
iTerm2 version 3.3.5
This build uses the "hardened runtime", which makes the app
more secure. It is also notarized so it will run on Catalina.
New Features
- You can now import and export key bindings from the
Presets... menu under the list of key bindings.
- Add an advanced pref to allow paste history to work while
secure keyboard entry is on.
- New advanced pref to disable bottom line of
tabbar for low-budget Minimal theme on 10.12 and
10.13.
- New advanced pref to tweak the initial alpha
value of flashing indicators, like the bell.
- New advanced pref to escape with quotes instead
of backslashes for xonsh users.
- Add two new Applescript commands:
1. invoke API function "f()"
2. lauch API script with name "scriptname"
This gives you a bridge to the modern world.
- New window style "Maximized" that is an
always-maximized window.
Improvements
- Clear the selection when the scroll wheel sends
an arrow key.
- Improve performance of creating sessions with
the Python API.
- Update the "xterm" keyboard presets to include
control+function keys.
- tmux integration will now enable the "Session
Name" title component by default when using the
"tmux" profile.
- Double-clicking on a profile in the panel shown when you
do Shell > Split Horizontally/Vertically... will now split
with that profile.
- Paste history, command history, and captured output
toolbelt tools now use a fixed-pitch font.
- Show a warning in Paste History UIs that it is disabled
when secure keyboard entry is on.
- Don't redraw the whole window every time the mouse moves.
- Update window and tab titles immediately after getting an
OSC 0, 1, or 2 control sequence.
- Reduce CPU usage for miniaturized windows.
- Add "Stop Coprocess" to context menu.
- Improve reliability of semantic history in
interactive apps.
- Improve performance of splitting panes with
Python API.
- Improve git state status bar component's ability
to detect Xcode license-related issues that
prevent it from using git.
- Replace "copy profile as JSON" with
functionality that saves it to a file.
- Visual improvements to Prefs.
- Require user confirmation of downloads over 1
gb.
- Various security improvements to the Python API:
- Make it harder for a web browser to connect by
requiring a special HTTP header.
- Detect when two processes hold the file
descriptor to the websocket and deny the
connection.
Bug Fixes
- Don't open files as URLs when you cmd-click a
file in a network mount.
- Fix a bug where git commands invoked by clicking
the git status bar component wouldn't work if
there was a space in the path to iTerm2.
- Hide a gray line under the title bar that
occasionally appears in native full screen
windows with the minimal theme.
- Show the tab color in per-pane title bars.
- Fix a bug where the window shadow would
disappear after exiting native full screen.
- Sometimes, "show next/previous tab" would appear
as a grayed out menu item under Window. macOS
kindly adds this at random for no discernable
reason. It is no longer grayed out.
- The selection is now cleared on mouse-down.
- The local copy of the profile is no longer
modified when the cursor shape is changed by a
control sequence. This fixes a bug where
splitting a window where the cursor shape had
been changed caused the new session to have that
cursor shape.
- Fix a race condition that caused the initial
directory to sometimes be wrong when creating a
bunch of new sessions quickly.
- Fix layout bug when resizing triggers window.
- Don't treat force touch as quicklook if disabled in system
prefs.
- Fix a bug in rendering inline images that are a fixed
number of cells tall.
- Fix the "broken pipe" divider, which rendered incorrectly.
- If you click on a selection, wait until mouse-up to remove
it so it can be dragged.
- Fix a bug where the window buttons and window shortcut
titlebar accessory remained visible after exiting native
full screen.
- Fix a bug when performing two consecutive searches for
URLs where the second search had no effect.
- Make text field first responder when opening "send command
to tmux" window.
- Fix a bug where you couldn't always write to a
session after creating it in applescript.
- Fix a bug where secure copy drop targets were
not visible when using the GPU renderer.
- Suport system preference for three-finger tap
Quicklook.
- Fix incorrect tip of the day about compact
window style, which was replaced by the compact
theme.
- Fix rounding error in color picker.
- Fix various memory errors.
- Fix a bug where blinking text didn't redraw
correctly when scrolled up with legacy renderer.
Scripting
- New APIs for coprocesses.
- Adds a 'title' variable to the tab scope that has the
tab's actual title.
SHA-256 of the zip file is
116f5f349f08fcfac8934c43704a80a8c55c2f85be288ec176c32c9b6b58d5b9
iTerm2 3.3.4 (OS 10.12+)
This is the recommended build for most users. Built on September 15, 2019.
[▾ Hide Changelog](<javascript:hideId('4489009668217355144')>)
iTerm2 version 3.3.4
New Features
- There's a new pref for whether you want to
be asked to confirm quitting the app when there
are no windows.
Improvements
- Infer current job name (for status bar, title
bar, etc.) when using tmux integration locally.
- Append to automatic log output files by default,
instead of replacing them.
- Search history is no longer opened by default
when you type in a Find field. Press the down
arrow to see your recent searches.
- Control sequences that set the window or icon
title now cause that title to become visible.
- Preserve the exact dimensions of sixel images
when possible.
- Translate italic to reverse video in tmux
integration.
- The git status bar component now truncates long
branch names instead of disappearing because
it's too big to fit.
- Python API scripts are now run through the
user's shell so they'll have the right PATH,
in case they want to spawn subprocesses.
- Use dark appearance for scrollbars in minimal
theme when the terminal background color is
dark.
- When you create a tab with the Python API,
iTerm2 will no longer get activated
automatically.
- Add "disable status bar" to the status bar
context menu.
Bug fixes
- Fixes a bug when clicking on an iTerm2 window
with a selection while another app is active:
the selected text is no longer copied to the
pasteboard.
- Fix many crashes.
- Fix a bug where two custom status bar components
or title providers could not run concurrently if
their callbacks had the same signature.
- Fix a regression where control-| stopped sending
control-backslash on Japenese keyboards.
- Fix flickering job name when using tmux
integration locally.
- Show a context menu when right clicking on the
titlebar in minimal or compact mode when there
is no tab bar.
- Fix colors of graph-based status bar components
in dark mode.
- Fix a crash when a shell integration-reported
hostname has a leading dot or two consecutive
dots in its name.
- Use the right color for the window shortcut
number in minimal theme when the first tab is
colored.
- Fix various rendering bugs with inline images in
both the GPU and legacy renderers.
- Fix a bug where popping an icon or window title
from the stack didn't always work.
- Fix a bug that caused hotkey windows to
immediately hide after showing when two of them
had the same shortcut.
- Fix GPU rendering of ASCII text when the font
includes glyphs that spill outside their bounds
to the left, like AnonymousPro.
- When stealing key focus is enabled, make the
session that's receiving stolen keys first
responder.
- Fix a bug where the cursor was advanced one
position more than it should have been after
showing an image.
- Fix a bug where resizing panes by the Window >
Resize Split Pane menu items would not always
work if the panes had different fonts.
- Don't expose the existence of the placeholder
status bar component (used in empty status bars)
in the context menu.
SHA-256 of the zip file is
c053efa721ab0f6311144d2e3f06ffd88cafb2cd23132cdd7929c12610b3ddf9
iTerm2 3.3.3 (OS 10.12+)
This is the recommended build for most users. Built on September 3, 2019.
[▾ Hide Changelog](<javascript:hideId('7504659557678332549')>)
iTerm2 version 3.3.3
New Features
- Holding Option while dragging a tab now drags
the window. This makes it easier to move windows
in the Minimal and Compact themes.
Improvements
- Change the default tab/window title to show the
job name.
- The hostname status bar component now has the
ability to abbreviate the local host name to a
configurable string.
- Make up files with it2ul much faster.
- More process -> icon mappings.
- "Split Horizontally/Vertically" in the context
menu reuses the session's profile rather than
always using the default profile.
- The default tabstops are now configurable in
advanced prefs.
- There's a new advanced pref to use black for the
filler color in tmux integration for full screen
windows.
- Increased the timeout for the git status bar
component data fetch to four seconds.
- Selection is not cleared on mouse-up any more.
When clicking on an inactive window, the
selection will not be removed.
- Tweak insets of stoplight buttons.
- Performance improvements for non-GPU renderer.
- You can now move tmux windows between sessions
in the tmux dashboard by holding Opt while
dragging.
- Replace control characters in titles with
caret+letter instead of ?.
- Make dark high contrast theme more readable for
people with poor eyesight.
- Allow top-of-screen hotkey windows to overlap
the menu bar.
Bug fixes
- Fix a crash when showing a hotkey from a full
screen window.
- Fix various other crashes.
- Fix some memory leaks.
- Fix a bug where a window would be covered with
an opaque rectangle after exiting full screen.
- Fix a bug where the flashing full-screen tab bar
would leave behind an opaque rectangle.
- Enforce a minimum left-side tabbar width so
stoplight buttons and window shortcut will fit.
- Fix a bug where selecting case-insensitive regex
in search would incorrectly put a checkmark next
to "erase search history."
- Fix a bug where the working directory wasn't
detected if insecure control sequences were
disabled.
- Fix a bug where a full screen window in tmux
integration with legacy scroll bars enabled
would have an empty margin on the right.
- Fix a bug where blinking text might not always
blink.
- Improve escaping of URLs in smart selection
actions.
- Fix escaping of tildes in secure copy paths.
- Fix a bug where "set name" in Applescript didn't
work.
- Fix a bug where double-clicking a window's
shortcut label didn't work to zoom when there
was no tabbar in the minimal or compact theme.
- Fix an exception in Python API scripts when fetching a profile with a hotkey
with control characters.
- Fix a bug where the coordinates in
the AddHiddenAnnotation control sequence were
not respsected.
SHA-256 of the zip file is
be7ee93b73e759a7e14dd5587826c4703df2e0f86df0c7015f5a7e98318abcd9
iTerm2 3.3.2 (OS 10.12+)
This version contains a fix for a security issue, and all users should upgrade. Built on August 18, 2019.
[▾ Hide Changelog](<javascript:hideId('938302310906322570')>)
iTerm2 version 3.3.2
NOTE: This build contains a bug fix for the secure
keyboard entry feature. Please see the bug fixes
section for details. The bug was present in 3.3.0
and 3.3.1.
New Features
- Custom status bar components can now show an
"unread count".
- Custom status bar components can now provide an
icon.
Improvements
- Status bar setup window size increased.
- Help button added to status bar setup window.
- Improve reliability of detecting the current
directory.
- Improve colors of tabs in Dark (High Contrast)
theme.
- Initialize username and hostname variables from
$$USER$$ and $$HOST$$.
- Change color of filler area in tmux integration
to look better with status bars.
- When a window has a single tab and the theme is
minimal and the tabbar is shown treat dragging
the tab as dragging the window.
- Keep the "current directory" status bar
component up to date in tmux integration.
- Add setting to control whether the native or
tmux status bar is used in tmux integration
mode.
- Adds a "number" variable to the window scope.
- Show the tab title or tmux window name in the
Open Quickly UI when it difers from the session
name.
- Add an advanced pref to tweak the size of the
window dragging area in minimal and compact
windows.
- Don't offer to reset paste bracketing/mouse
mode when the username changes but the hostname
does not.
- Changes to the status bar are now applied
immediately. Cancel undoes them.
Bug fixes
- Fix a bug where secure keyboard entry was not
enabled immediately after the app launches. It
was enabled the first time iTerm2 was activated
or the menu was opened.
- Fix a bug where underlined text has wrong colors
when the GPU renderer was on for 2015+ iMacs.
- Fix a bug where restoring a saved arrangement
with a hotkey window could leave you with a
transparent window.
- Fix a bug where using $$ macros in profile names
didn't always work.
- Fix handling telnet: URLs with ports.
- Fix a bug where underlines on non-ascii text
could have the wrong offset or thickness.
- Fix a bug where a session titlebar's label could
have the wrong background color.
- Respect soft boundaries for determining the
"before" and "after" text reported by semantic
history, since they are respected for finding
file names/URLs.
- Fix a bug where the Composer status bar
component's popover would have white-on-white
text on macOS 10.12 and 10.13.
- Fix a bug where a restored session's cursor
would be on the same line as the the "session
restored" banner.
- Fix a bug where Find stops working after moving
a session into a split pane when there is a
status bar.
- When entering non-native fullscreen, don't
auto-hide the dock if it's not on the same
screen as the window.
- Fix a bug where windows jump to the first screen
when entering or exiting full screen mode and
the theme is Minimal or Compact.
- Fix a bug where a floating hotkey window appears
beneath other apps' fullscreen windows after
toggling full screen.
- Fix a bug where automatic log files had the
wrong tab number in the filename.
- Fix a bug where exiting full screen after
changing the theme could leave some junk behind
where the title bar was.
- Python scripts that set a variable without
changing its value will no longer raise an
exception.
- Fix a bug where the window size after exiting
non-native full screen was different than before
entering it.
- Fix a bug where a non-native fullscreen window
didn't go all the way to the top of the screen.
- Update the session "path" variable when the
working directory is updated (when shell
integration is not installed).
- Fix a bug where a window could not be made full
screen twice when native full screen is enabled
and the app is excluded from the dock.
For the full release notes for version 3.3, please
see:
https://iterm2.com/downloads/stable/iTerm2-3_3_0.changelog
SHA-256 of the zip file is
e36b30bfa480ce7d4eca601b60e0e0e5a8b96f94617b584085e969d65d282b47
iTerm2 3.3.1 (OS 10.12+)
This is the recommended build for most users. Built on August 6, 2019.
[▾ Hide Changelog](<javascript:hideId('5065479894410574283')>)
iTerm2 3.3.1
New Features
- Support binary control characters (aka C1
control codes) when the text encoding is ASCII
or Latin-1.
- Show the window size in an overlay during live
resizing when there is no title bar.
Improvements
- Improve readability of advanced prefs.
Bug Fixes
- Fix a bug where closing a full screen window
would cause another window to appear.
- Fix a crash when switching from Dark/Light theme
to Minimal or Compact.
- Fix a bug where automatic logging created files
with the wrong tab number.
- Fix a bug where floating hotkey windows did not
overlap the menu bar.
- Fix a bug where opening the Open Quickly window
would hide a hotkey window.
- Fix a bug where an alert box could cause a
hotkey window to hide.
- Fix a bug where the git status bar component
would fail to update.
- Fix a crash when setting the badge height to 0.
- Fix a bug where adjusting the badge size didn't
always work right away.
- Improve the accuracy of the badge preview when
editing its size and position.
For the full release notes for version 3.3, please
see:
https://iterm2.com/downloads/stable/iTerm2-3_3_0.changelog
SHA-256 of the zip file is
86dd784d54923fde6be6cadd37127e9b91c4dcde4fb2a26a3b62d94cae74ad1c
iTerm2 3.3.0 (OS 10.12+)
This is the recommended build for most users. Built on July 31, 2019.
[▾ Hide Changelog](<javascript:hideId('3377481974206081060')>)
iTerm2 3.3.0
This is a major release that contains a number of
new features.
Major New Features
- A Python scripting API has been added to enable
extensive configuration and customization. See
https://iterm2.com/python-api for details.
- A scriptable status bar has been added with 13
built-in configurable components.
- Two new themes:
Minimal: Reduces visual clutter. Modernist.
Compact: Moves tabs into the title bar to save
space, while preserving the general
appearance of a macOS app.
Other New Features
- Session, tab, and window titles have been
revamped to be more flexible and comprehensible.
You can now configure them separately and select
what information is shown per profile. They are
integrated with the new Python scripting API.
- Tabs may now have icons: either an icon
indicating the running app, or a fixed icon per
profile.
- The display of Sixel images is now supported.
- Add menu item to arrange split panes evenly. In
tmux, this uses the tiled layout.
- Greatly improved support for background images:
they may now span split panes and you can adjust
how they are scaled to avoid stretching.
- Add support for reporting keystrokes with CSI u.
- New type of trigger added that turns text into a
hyperlink.
- New type of trigger added that adds annotations
to the matching text.
- You can now export a recording of your screen
from the Instant Replay panel.
- A new toolbelt tool, Actions, provides shortcuts
to frequent actions like sending a snippet of
text.
- You can now search preferences. There's a search
bar in the top right of the window.
- Add a new utility, "it2git", which allows the
git status bar component to show git state on a
remote host. Install the utilities and then view
~/.iterm2/it2git for further instructions.
- Add touch bar mitigations: haptic feedback, key
click, and blink cursor when touching esc.
- Replace the system font picker with an easier-
to-use custom one.
- Search now remembers your 10 most recent queries
and offers them as suggestions.
- Adds support for crossed-out text (SGR 9)
- Add support for automatically restarting a
session when it ends.
Other Improvements
- Numerous visual improvements.
- Update app icon.
- You can now change the color preset from the
Open Quickly window.
- Added an advanced pref for the height of the
underline cursor.
- The state of various terminal emulation flags is
now exposed in Session > Terminal State.
- Remove the bell icon from tabs more
aggressively.
- Various pages of preferences have been
rearranged to make more sense or be more
visually pleasing.
- A new menu item lets you configure cmd-+ and
cmd-- to adjust the underlying profile rather
than only the current session.
- By default the tab bar now stretches to fill the
available width so it looks more like a native
tab bar. You can change this in Prefs >
Appearance.
- Add a new proprietary control sequence to bounce
the app icon only one time.
- Add support for setting the proxy icon by
control sequence.
- Add support for broadcasting passwords to
multiple sessions from the password manager. Off
by default.
- Update "Terminal.app Compatibility" key mapping
for option left and right arrows.
- Add support for natively drawn Powerline glyphs,
allowing you to use any font and still get the
fancy arrows. They also align properly with
other elements, which the Powerline fonts do not
always do.
- Cmd-clicking on filename[line,column] will now
open the file to the specified line and column.
- Add "use transparency" as a profile setting for
newly created windows.
- Adjust how underlines are drawn to have a more
correct baseline offset.
- Add an advanced pref to swap find next/find
previous behavior (since the default does not
conform to macOS norms)
- The default scheme for URLs when you cmd-click
is now https rather than http. You can change it
with an advanced pref.
- Sparkle updates now use EdDSA signatures. DSA
signatures will be phased out soon.
- Add an advanced preference to show a hint with
split pane direction in menu items.
- Add an option to preserve window size when tab
bar shows or hides
- You can now use the password manager when
entering a password for secure copy.
- Adds support for the DECRQM control sequence.
- Performance improvements for long scrollback
history.
- iTerm reports itself as a VT200 supporting
Sixel in response to DA1.
- Doesn't block the main thread when checking if the
text under the cursor is an existing file.
- Avoid blocking the main thread when creating a
new session.
- Performance improvements for box drawing
characters when not using GPU renderer.
- Performance improvements for opening long lists
of color presets.
- Change natural text editing keyboard preset to
include cmd-left and cmd-right.
- Work around a bug in tmux 2.9 that would crash
the tmux server when changing panes.
- When the current tab is closed select the one to
its right, like standard macOS tabs.
- Work around a macOS quirk where the equals sign
on the numeric keypad is not treated as a
numeric keypad key.
- When tabs are very narrow, prefer to show the
tab label over the new-output/bell icon.
- Add an advanced setting to handle spacing
combining marks properly ("Detect base unicode
characters with lookup table").
- Respect System "Prefs>Dock>Prefer tabs when
opening documents".
- Reduce default fast paste speed.
- Revamp titles in tmux integration mode. Pane
titles and window names are now distinct when
using tmux 2.6 or later. set-titles and
set-titles-string is now respected.
- Allow Highlight triggers with "Instant" enabled
to fire more than once per line.
- Add a profile preference to disable paste
bracketing.
- When semantic history is configured to run a
command and the command fails, you can now see
the output.
- Add an option to log Automatic Profile Switching
messages to the scripting console.
- Use Menlo in advanced paste and in the notes
tool.
SHA-256 of the zip file is
30cdb093764684a65efdf98afde393fcbef0bee985a415346ae4186d72c893c8
iTerm2 3.2.9 (OS 10.12+)
This is the recommended build for most users. It contains a security fix, and all users on 3.2.8 should upgrade. Built on April 20, 2019.
[▾ Hide Changelog](<javascript:hideId('7330916824228127372')>)
The only change in version 3.2.9 vs 3.2.8 is that
it was built with libssh2 1.8.2 because of a
security vulnerability. iTerm2 version 3.2.8 was
built with libssh2 1.8.0.
More information on the vulnerability in libssh2
may be found here:
https://nvd.nist.gov/vuln/detail/CVE-2019-3855
SHA-256 of the zip file is
de36881fea3b4ff4c9c421a3db68292ad1f6a467af3b7f84b8455b000314c191
iTerm2 3.2.8 (OS 10.12+)
This is the recommended build for most users. Built on March 23, 2019.
[▾ Hide Changelog](<javascript:hideId('2672865380864768773')>)
Bug fixes
---------
- Fixes a bug where sessions become unusable after
switching users and then switching back.
- Ignore hotkey while an app-modal window is open
to prevent a hang.
- Fix some crashes.
- Improve how language is determined by ignoring
3-letter language codes.
- Fix a bug where annotations were not visible
when using the GPU renderer.
- Fix a bug where two concurrent downloads with
the same filename would both write to the same
file.
- Disable window shadow when there's a transparent
pane to prevent "ghosts" of characters
persisting.
Other improvements
------------------
- Don't ask for full disk access on startup.
Instead, request admin permissions when needed.
- The bell icon is now cleared when a session
becomes active (used to require a keypress).
- Make toolbelta width and tools' heights more
stable.
- Improve tab colors in dark mode when there is a
colored tab.
- If you select a hidden pane in a maximized tab
with open quickly switch to it without
unmaximizing.
- Prevent sessions from resizing while dragging a
split pane over a maximized window.
- Adds a public EdDSA key to begin the migration
to a more secure app update algorithm.
SHA-256 of the zip file is
e1a659c8041bb765f1a71dcec8d2bd34e598f9c433ecd15c53fdb15fb1db5148
iTerm2 3.2.7 (OS 10.12+)
This is the recommended build for most users. Built on January 21, 2019.
[▾ Hide Changelog](<javascript:hideId('5991286005789523830')>)
iTerm2 3.2.7
Bug fixes
---------
- Fix a crash on launch if Safari has never been
run before. This happened because of a bug in
checking if full disk access was already granted.
- Fix the alpha blending of timestamps with GPU
renderer.
- Fix various crash bugs.
- Fix a bug where the GPU renderer was not used
when a split pane was maximized.
- Improve opening a password manager from a
trigger: it would fail if the trigger fired
twice quickly.
- Improve various wrong colors in Mojave.
- Fix a bug wher elink underlines could be
misaligned in the presence of double-width
characters.
- Add support for detecting column and line number
in semantic history when formatted as:
filename.ext(column, line number)
- Fix a bug where control+page up/page down
scrolls the wrong split pane.
- Fix a bug where minimum contrast was not
respected after a box-drawing character.
- Fix a bug where a hotkey window would forget it
was a hotkey window when you launched tmux -CC
from it.
Other improvements
------------------
- Performance improvements for large history.
- Remember the "use transparency" setting when
restoring a window.
- Issue a vociferous warning when you try to use
non-antialiased PragmataPro, which doesn't work
well at all.
- Show a second alert to remind you of the steps
to perform to grant full disk access.
- When you drag a pane over a tab with a maximized
pane, unmaximize it temporarily but do not send
window-resize notifications to those
pseudoterminals.
- Change how the secure keyboard entry menu item
works. It now indicates enabled (check) disabled
(no accessory view) or "another app is enablign
it" (a hyphen). Selecting it toggles whether
iTerm2 wants it set. Previously, selecting it had
no effect if another app was keeping it on.
- Fix weird behavior when downgrading from 3.3 to
3.2.
- Adds a CPU profiler to the iTerm2 menu to aid in
debugging performance issues.
- Improve the appearance of underlines when not
using the GPU renderer.
- Allow input of surrogate pairs with the hex
keyboard.
- Improve editing of number of lines of scrollback
to tolerate invalid inputs more gracefully.
SHA-256 of the zip file is
ac71ddf4b9378fb87a30c64aa9bde543300728ed5e5ab996f1687f40fd7e2ae1
iTerm2 3.2.6 (OS 10.12+)
This is the recommended build for most users. Built on November 25, 2018.
[▾ Hide Changelog](<javascript:hideId('2451659862827131657')>)
Bug fixes:
- Improve the tab bar colors.
- Fix a bug where the password manager would
reveal a password when you switch to another app
and back while editing the password. The table
view no longer has the ability to show a
password; all editing and revealing is done in
modal alerts to avoid the complexity of table
views.
- Fix some crashes.
- Improve the appearance of background color
blending with the GPU renderer.
- Improve appearance of per-pane title bars when
subpixel antialiasing is on.
- Fix a bug where a window changes screen when
entering full screen mode.
- Improve disable animations for password manager
(it didn't always work).
- Fix a bug where the dock would not reappear when
exiting non-native full screen mode when the
appearance is set to dark and the system
appearance is light.
- Fix a bug where windows didn't have shadows when
the visual effect view advanced setting was on.
- Fix a crash when saving a window arrangement
when a pane is maximized.
- Fix rendering of ASCII text with the GPU
renderer for fonts whose descenders go unusually
low, like Iosevka Light.
- Fix rendering of images > 256 columns wide with
GPU renderer.
- Don't resize window vertically when scroller
style changes.
- Fix mark highlighting in the GPU renderer (the
highlight was drawn slightly off vertically).
- Improve the appearance of dragging a tab.
- Fix a bug where blinking text might stop
blinking.
- Fix a bug where window size would change too
much when adjusting font size when there were
multiple tabs.
Other improvements:
- Do not use any language but the most preferred
system language in LANG
- Performance improvements.
- Add emacs to the supported editors for semantic
history.
- Improve the appearance of the no-man's land
between panes in tmux integration in some cases.
- Temporarily unmaximize tab while dragging
another session in to it.
- Improve performance of toggling GPU renderer,
which will make switching tabs faster.
- Update libssh to version 1.8.
- Improve launch time when using the GPU renderer.
SHA-256 of the zip file is
dbc44180c2de9c741fdd8f96750f3502d79aa1c53ed884538648bdb558abd884
iTerm2 3.2.5 (OS 10.12+)
This is the recommended build for most users. Built on October 29, 2018.
[▾ Hide Changelog](<javascript:hideId('8430465668785281296')>)
- Fix a memory leak when blinking text is enabled.
- Fix a crash when waking from sleep.
- Fix a bug in the size of the prefs window on
10.13 and earlier.
- Fix a bug where box-drawing characters would sometimes not
appear.
- Disable GPU renderer when the window is more
than 50% occluded.
- Tweak tab colors.
- Trim spaces from background image filenames in
control sequences.
- Improve the appearance of box drawing characters
with the GPU renderer.
- Improve the appearance of tab titles on
non-retina displays in Mojave when subpixel
antialiasing is enabled.
- Don't try to use the GPU renderer on enormous
windows (over 8k pixels in any one dimension).
It should work but not all GPUs are created
equal.
SHA-256 of the zip file is
ec1ee603de1f8665d67781df98857c7feeb72461729f7cab2fabcecc19cf7268
iTerm2 3.2.4 (OS 10.12+)
This is the recommended build for most users. Built on October 23, 2018.
[▾ Hide Changelog](<javascript:hideId('12480199559373247')>)
- Major performance improvements on Mojave.
- Fix locale setting on macOS Mojave.
- Ask for full disk access on startup.
- Fix some memory leaks.
- Fix some crashes.
- Fix the appearance of the input method editor in
the GPU renderer.
- Fix a bug where antialiasing would sometimes not
be used.
- Fix a bug where transparent windows would leave
behind a ghost of the text that was once in
them in Mojave.
- Fix a bug where imgcat couldn't show PDFs
sometimes.
- Improve performance when blinking text is
enabled.
- Improve the appearance of underlined text.
- Improve the appearance of the window title bar.
- Fix a bug where the prefs panel would open under
other apps' windows when using a floating hotkey
window.
- Fix typing non-ascii characters in tmux
integration on tmux 2.2.
SHA-256 of the zip file is
584274f5ba3d3660931fe7a1e1d9169a2a708d36aa5cb4c79dd41bce4dcff101
iTerm2 3.2.3 (OS 10.12+)
This is the recommended build for most users. Built on October 5, 2018.
[▾ Hide Changelog](<javascript:hideId('4880014313042251250')>)
iTerm2 version 3.2.3
Bug fixes:
----------
- Fix bug that broke subpixel antialiasing on
macOS 10.13.
- Fix support for subpixel antialiasing on Mojave.
Previously, if you had enabled this hidden OS
feature, text would be very hard to read.
- Fix rendering of double-struck bold with GPU
renderer.
- Get thin strokes working on macOS 10.14 with and
without GPU renderer.
- Fix a nasty memory leak.
- Improve the appearance of translucent tmux
integration windows on Mojave.
- Fix a bug where left/right-of-screen hotkey
windows floating over another app's full screen
window did not go all the way to the top of the
screen.
- Add usage descriptions so programs running
within iTerm2 that use the camera, contacts,
location, the microphone, or contacts can
request permission to do so.
Other improvements:
-------------------
- Expose English keyboard emulation setting in
Prefs>Keys. If switching panes/tabs/windows by
pressing modifier+number stopped working and you
have a non-English keyboard, go flip the switch
there.
- Add a setting to toggle subpixel antialiasing in
Mojave in Prefs>Profiles>Text.
SHA-256 of the zip file is
5ec9d0cbd085bc226fdce6d26b8fa7158c268e9555577264bf92994faf087a6f
iTerm2 3.2.2 (OS 10.12+)
This build fixes serious bugs in 3.2.1 and is recommended for all users. Built on October 1, 2018.
[▾ Hide Changelog](<javascript:hideId('3562947555574404221')>)
iTerm2 version 3.2.2
This release fixes serious bugs in 3.2.1. All users are urged to upgrade.
Critical Bug Fixes:
- Fix various crashing bugs.
- Fix a serious memory leak when displaying
non-ASCII characters.
- Fix a bug that caused notification triggers not
to work.
Other Bug Fixes:
- Improve legibility of text on Mojave with GPU
renderer.
- Fix a bug where scrollbars could be transparent.
- Fix a bug where the title bar was not opaque on
Mojave.
- Fix a bug where toggling transparency did not
take effect immediately.
- Fix a bug where the hotkey window would always
be opened when opening a file with iTerm2.
- Fix temporarily incorrect drawing in new
sessions on Mojave.
- Fix resizing split panes on Mojave via menu or
keyboard shortcut.
- Add a usage description for Apple Events so
programs run within iTerm2 can use Applescript.
- Fix a bug where a "ghost" of text would remain
behind in transparent windows.
- Fix a bug where sessions might temporarily turn
transparent after being created.
SHA-256 of the zip file is
c97702eba2b943e800fd8417b780596c35cfccef2e579a6b6a6203efea40e745
iTerm2 3.2.1 (OS 10.12+)
This build adds support for macOS Mojave. Built on September 24, 2018.
[▾ Hide Changelog](<javascript:hideId('3552114342457765036')>)
iTerm2 3.2.1
This version adds support for macOS Mojave.
Mojave-specific Changes
-----------------------
- The GPU renderer supports transparent windows.
- The GPU renderer is no longer disabled temporarily while
other views (such as the find bar) are visible.
- Your theme will be changed to "Automatic" and will follow
the system's light/dark theme. You can change it back to
Light or Dark if you prefer.
Bug Fixes
---------
- Fixes a number of crashes.
- Fixes cases hotkey windows would be overlapped by the
menu.
- Improves rendering of box drawing characters on non-retina
displays with GPU renderer.
- Fixes a bug where a modal dialog could be overlapped by a
floating hotkey window.
- Reduced CPU usage when blinking text exists but blinking
is disabled and the GPU renderer is on.
- Fix appearance of copy mode cursor with GPU renderer.
- Fix a problem where tmux window panes might not always
have per-pane title bars when they ought to.
- Fix a bug where terminal side margins could not exceed 100
points.
- Fixes a bug where the frame right could be double what it
ought to be during scrolling.
- Fixes cases where non-hotkey windows would be raised above
other apps' windows when activating the hotkey window.
- Fix a performance issue when using fast user switching and
a hotkey window is registered.
- Fix a bug where announcements' frames could be wrong.
- Do not use virtual keycodes to detect digits because it
causes problems with certain keyboards.
- Fix a bug where the split pane panel did not resize
properly.
- Improve menu detection so non-native full screen windows
can adjust their vertical position properly.
- Escape the user name for compatibility with active
directory usernames that have a backslash.
- Fix a bug where mouse reporting of the scroll wheel would
sometimes reverse direction for one line when scrolling
ends.
- Fix a bug where hotkey windows would sometimes
hide when a modal alert was presented. Many
modal alerts are now window-modal rather than
app-modal.
- Fix a crash when dragging a color well.
- Fix a bug where the wrong text could be used
when you right click on an existing selection,
the text under that selection changes, and then
you pick an action from the menu.
New Features
------------
- Add support for macOS 10.14.
- Add support for CSI CHT control sequence.
- New advanced pref to set the prominence of the outline on
the selected tab when there is a colored tab present.
- New advanced pref to adjust the prominence of text in
non-selected tabs when a colored tab is present.
- New advanced pref to adjust the prominence the outline of
the current tab when colored tabs are present.
- New advanced preference to set fallback value of LC_CTYPE
when LANG can't be set because it would be an unrecognized
locale.
Other Improvements
------------------
- When focus reporting is set or unset, the announcement
asking if you want to turn it off is removed.
- Improved performance for memory-starved GPUs with GPU
renderer.
- Performance improvents when there is a badge and GPU
renderer is on.
- Show "key" cursor icon at password prompt when GPU
renderer is on.
- Confirm before running a script that iTerm2 handles (e.g.,
by double clicking a .sh file)
- Improve vertical alignment of new-output indicator in
tabs.
- Improve contrast of tab titles in non-selected tabs when a
colored tab is present.
- Ignore trailing ] on URLs for semantic history.
- Minimum Contrast no longer applies to box- and
block-drawing characters.
- Improve how advanced preferences are implemented for
better performance.
- Releases are now notarized for offline initial launch on
macOS Mojave.
- Performance improvements for long scrollback
history.
- Move "use bright colors for bold text" to Colors
pane to make its true purpose clear: it actually
has always controlled whether the bold color you
specify gets used.
Things Made Worse
-----------------
- Support for Growl has been removed because it cannot be
notarized under macOS Mojave.
SHA-256 of the zip file is
00d6bd333ea5819c6a2e8139ea63a28d1b44e7a07da2fde537c7516e3353c31d
iTerm2 3.2.0 (OS 10.12+)
This is the recommended build for most users. Built on August 7, 2018.
[▾ Hide Changelog](<javascript:hideId('4890847525870889443')>)
iTerm2 3.2.0
The big new feature in iTerm2 version 3.2 is a new rendering
engine that uses Metal. It provides much higher drawing
performance. Its availability is subject to some
configuration settings. For details, see
https://gitlab.com/gnachman/iterm2/wikis/Metal-Renderer.
New Features
------------
- Metal renderer
- Show inline images in Retina resolution.
- There is a new key binding action to toggle mouse
reporting.
- Semantic history now recognizes visual studio code-style
"filename[line, column]" references.
- There's a new type of trigger that turns text into a
hyperlink.
- Add support for VS Code Insiders to semantic history's
editors.
- Warn if the terminal tries to access the clipboard when it
lacks permission rather than silently denying it.
- Change ReportCellSize to include a scale factor, which
gives how much images will be downscaled by because of
Retina support.
- New advanced pref: Fraction of character’s width on its
right side that can be used to select the character to its
right.
- New advanced pref: Open a new window when you click the
dock icon and no windows are already open?
- New advanced pref: When Focus Follows Mouse is enabled,
activate the window under the cursor when iTerm2 becomes
active?
- New advanced pref: Underline Semantic History-selectable
items under the cursor while holding cmd?
- You can now escape $$ in an Applescript profile command
with $$$$
- New advanced pref (affecting semantic history's URL
detection): URLs must contain a scheme?
- New advanced pref: Minimum weight difference between
regular and bold font.
Bug Fixes
---------
- Triggers and Find now recognize tab characters.
- Fix a bug where Triggers and Find would sometimes not see
past a double-width character that was wrapped to the next
line.
- When you drag a session onto itself in a window with split
panes, do not move the window.
- Don't allow fullscreen or edge-attached windows to be
moved with cmd-opt-shift-drag.
- Fix the color picker's eyedropper feature to respect color
spaces.
- If multiple hotkey windows are open, do not return to the
previously active app when one is closed.
- When changing the number of lines of scrollback, do not
apply the change until focus leaves the text field. This
solves a problem where erasing the value would erase your
history.
- Scrolling with wheel mice is no longer oversensitive.
- Change behavior of prompt-before-closing for tmux
integration. Since the list of jobs is not visible, always
prompt when a whitelist of jobs is specified.
- Fix a bug where changing the cursor shape by escape
sequence could be reverted by changing any profile
property.
- When the password manager fails to get a password because
the system Keychain denied access, show an alert
explaining what happened.
- Ignore modifier+number when there's no matching
pane/tab/window to switch to rather than passing it to the
terminal as a keypress.
- Fix a bug where cmd-0 did not restore the original font
size in tmux integration.
- Ignore malformed OSC 11.
- Fixes a bug where images could be drawn in the wrong
column.
- Improved behavior of Yen key sending backslash for
Japanese keyboards.
- "Select Current Command" works while the command
is running
- Fix a bug where the offer to turn off paste bracketing
didn't actually turn off paste bracketing.
- Fix a bug where a floating hotkey window overlapped the
emoji panel.
- Improve reliability of entering native full screen.
Other improvements
------------------
- When a split pane in tmux integration mode closes the
nearest neighbor gets keyboard focus rather than the first
split pane in the tab.
- When not in alternate screen mode, tab will change the
background color of cells the cursor skipped over. This
violates tradition but is more sensible behavior for
printing syntax-highlighted code with tabs.
- Inset marks by one pixel on the left margin.
- The rendering of faint text has been changed to take the
background color into account.
- The toolbelt tools look nicer in the dark schemes.
- The pointing hand cursor will show only while over a
clickable item while holding cmd.
- Tab name truncation no longer takes a parenthesized (job)
name at the end into account when deciding whether to
truncate the head or tail.
- Add an option to share the tip of the day.
- Treat { and } as shell characters to escape.
SHA-256 of the zip file is
7d4862976f6e5dbf29a7193dc090d6c17c549daf47a373a8a97ae306870a22a4
iTerm2 3.1.7 (OS 10.10+)
This is the recommended build for most users. Built on July 3, 2018.
[▾ Hide Changelog](<javascript:hideId('2782083215013742491')>)
This version patches a security issue in 3.1.6 where a
password in the password manager could be displayed in
the clear during editing when you click on another row in
the table.
SHA-256 of the zip file is
d5496b3c42fe2eaf65befef7d6d6682cde3e8cd1f042f63343f821e8582b1ede
iTerm2 3.1.6 (OS 10.10+)
This is the recommended build for most users. Built on April 22, 2018.
[▾ Hide Changelog](<javascript:hideId('5660878653602912852')>)
iTerm2 3.1.6
New features:
- Add item to help menu to show third party licenses.
- Add buried sessions to status bar icon menu.
- Add option to suppress restart session confirmation.
- Add support for OSC 10 and OSC 11 (querying colors).
- Add an advanced pref that prevents wraparound when
changing the active split pane directionally.
- Add an advanced pref to allow tabs to wrap around.
- Add a new advacned pref to disable middle-click closes a
tab.
- Add F21-F24 to touch bar.
- Add GPU-based Metal renderer. It's off by default and
still in development, but you can try it out if you like.
More details here:
https://gitlab.com/gnachman/iterm2/wikis/Metal-Renderer
Bug fixes:
- Fix crash when deleting a password manager entry.
- Fix crash when saving an arrangement.
- Fix crash when searching a regex of $.
- Update Solarized color schemes to use SRGB and match the
spec.
- Improve appearance of tab color menu item with dark
scheme.
- Fix advanced preference for suppressing tab-to-spaces
conversion.
- Fix bug in Zoom where the last line was not included.
- Improve support for tab color in tmux integration. New
tmux tabs use the tmux profile's tab color.
- Update touch bar when color presets change.
- Fix a bug where hotkey windows on an external display
would not receive focus.
- Terminate jobs more aggressively when you quit iTerm2
so you don't get "broken pipe" sessions next time you
launch the app.
- Fix a bug where tab titles were truncated when tabs are on
the left.
- Disable paste bracketing for uploads.
- Don't save uploads to paste history.
- Fix bug where floating hotkey windows could have the wrong
geometry when app is excluded from dock.
- Enable binding actions to function keys on touch bar.
- Don't unmaximize a tab when switching to its active
session from Open Quickly.
- Fix a crash on exit in the server process.
- Remove dynamic tag when duplicating a profile.
- Fix a bug where tags in the profile list were not visible.
- Fix a bug where text after inline images was misaligned.
- Fix a bug where scp error messages showed the wrong port
number.
- Fix a bug where non-hotkey windows appeared when you press
the hotkey to hide it and activate another app.
- Fix a crash when a trigger is missing message text.
- Prevent a crash when performing smart selection while
scrolling.
- Unburying a session or undoing close of a session restores
the correct window type now.
Other improvements:
- Use Unicode 9 widths by default.
- When you create a new tmux window in tmux integration mode
and it is configured to "Open tmux windows as tabs in
existing window" they now open in their own window. The
mode setting now affects only the initial windows when you
attach.
- Touch bar icon for Add Mark made smaller.
- Add Edit Session to the tab context menu.
- Reset exits alternate screen mode.
- Improve appearance of find bar in dark theme.
- If you use focus follows mouse and activate another app
and then come back to iTerm2 and the mouse hasn't moved,
don't change the key window.
- Support inline images wider than 256 columns.
- Only show key icon at password prompt if the terminal has
keyboard focus.
- Disable Smart Cursor Color checkbox if cursor shape is not
box.
- Improve performance when there are many profiles.
- Fix support for CSI 38:2, whicih ought to take a color
type and color space.
- Rate limit changes to window title for performance.
- Improve performance when window titles are extremely long.
- When opening a new window, wait for the app to become
active before making the new window key.
- Don't offer to turn off mouse reporting, paste bracketing,
or focus reporting when we transition from no hostname to
having a hostname
- Sort files in Scripts menu.
- Show tab title and session name in tab tooltip.
- Show only geometry in window title during live resize when
the window is very narrow.
- Improve performance when you have an enormous number of
empty lines in history.
- Warn when minimum contrast is over 97%.
- Disable hotkey in new profile when duplicating.
- Make three-finger tap recognizer more conservative.
SHA-256 of the zip file is
4acf012b48f99edb49bb4eb9e45a939fc88f69e7c43a2a36ea33556bc46b0087
iTerm2 3.1.5 (OS 10.10+)
This is the recommended build for most users. Built on November 6, 2017.
[▾ Hide Changelog](<javascript:hideId('5221262878089500309')>)
New features:
- When excluded from dock and app switcher, add Check for
Updates to status icon in menu bar.
- Adds an advanced preference to change how line height is
calculated, which improves results for Input Mono
Condensed and acts more like Terminal.app.
- When at a password prompt and the key icon is showing,
you can now click the key icon to open the password
manager.
- Add support for the REP escape sequence, but it's off by
default.
Bug fixes:
- Fix a very frequent crash for users of the Jobs tool.
- Fixes some crashes, including a very frequent crash caused
by a bad interaction between Sparkle and user defaults.
- Prevent high sierra tabs the "right" way, by overriding a
method in NSWindow, rather than just setting a user
default.
- Fix a bug where double-tap shift to open a hotkey window
didn't work.
- Prevent a crash when the window size is incorrectly
reported as 0x0.
- Allow key bindings with the action "Select Menu Item",
"New Window", "New Tab" and "Undo" to work when there is
no terminal window.
- If the password manager is opened by a trigger but you
have to authenticate to open the password manager,
autoselect the proper account after auth.
- Require a minimum delay between taps of a modifier key to
open a hotkey window.
- Don't store more than 1000 recently used directories.
- Prevent descenders from lines above the screen from
hanging down into the screen area.
- Add opt-forward delete as a shortcut for delete word
forward in the Natrual Text Editing preset.
- Accept ~ in HTTP URLs for smart selection for new
installs.
- If you press Fn+Ctrl+Key send Ctrl+Key, not Key. A strange
behavior dating back to the old iTerm.
- The tab control character no longer changes the background
color of cells it skips over.
- Don't send two newlines when you launch iTerm2 with a
shell script (e.g., by double clicking one in Finder)
- Show Services in the context menu when more than one line
of text is selected (up to 10k lines).
SHA-256 of the zip file is
7159ce6c96fe5c61653a6d6a9a45facfe4a9abff5bfa063e361efd70f89fd769
iTerm2 3.1.4 (OS 10.10+)
This is the recommended build for most users. Built on October 22, 2017.
[▾ Hide Changelog](<javascript:hideId('3221698990303154234')>)
Bug fixes:
- Fix navigating to split pane above/below/left right not
wrapping around.
- Prevent blur values over 24 to prevent hitting a bug in
high sierra (values over 26 make the blur funny colors and
values over 24 are too slow).
- Fix line wrapping of multi-line badges.
- Allow windows to be larger than a screen when displays
have separate spaces is turned off.
- Reduce the impact of proc_pidinfo and statfs hanging.
- Tweak position of paste button in advanced paste.
- Fix bug in high sierra where eydropper in color picker
didn't go away after selecting a color.
- Remember the size of a hotkey window after resizing it and
then adding a new tab.
- Fix a bug where opening an autocomplete window could cause
a hotkey window to hide.
- If you scroll up to the top of a window and then clear the
buffer and then new output arrives, it now begins
autoscrolling when the cursor reaches the bottom.
- Fix some crashes, including a very frequent one because of
a bad interaction between Sparkle and user defaults.
- Disable tabs in High Sierra when you've got them set to
Always in preferences.
New features:
- Add an advanced preference to use the typeface's box
drawing glyphs instead of the custom box drawing code.
SHA-256 of the zip file is
202b2803b514eedd942dac94640cfaee45668e3e6939f88eb29730890dc6d66c
iTerm2 3.1.3 (OS 10.10+)
This is the recommended build for most users. Built on October 6, 2017.
[▾ Hide Changelog](<javascript:hideId('6989676259228878249')>)
Bug fixes:
- Fix a bug that broke subpixel antialiasing for non-retina
users.
- Do not require biometric authentication for the password
manager: allow password input.
- Draw arcs and diagonal lines in favor of the glyphs in the
typeface so everything lines up nice and pretty.
- Fix a bug where closing a tab in applescript would always
close the current tab, not the one you wanted.
- Restore native fullscreen windows on the proper screen.
- Show fullscreen windows under the menubar when in
UIElement mode.
- Treat halfwidth katakana sound marks as non-combining
marks to emulate Terminal's funny behavior.
- Fix a bug where keyboard input would break after holding
down a key to make it repeat, for some users.
- Fix a bug where tags weren't visible in toolbelt profiles
on 10.13.
- Don't open a short-lived window when showing a manpage
from the touch bar.
- Make the outline of the selected tab when colored tabs are
present more subtle.
- Handle reuse current directory in tmux 1.8 by ignoring it
instead of opening new tabs in the root directory
- Ignore new notifications from tmux 2.5
- Fix white-on-white buttons in the butterbar.
- Fix a bug where the password manager wouldn't open in
macOS 10.11.
- Fix a bug where stray underlines would appear.
New features:
- Add an advanced preference to disable the status bar icon.
- Add an advanced preference to increase the sensitivity of
the scroll wheel.
SHA-256 of the zip file is
4f35d70f4420fa736ed158663ecf114baeb61836b5a8b30652595ab4fcf68544
iTerm2 3.1.2 (OS 10.10+)
This is the recommended build for most users. Built on September 24, 2017.
[▾ Hide Changelog](<javascript:hideId('3014121946136018568')>)
Security updates:
- All the code to perform DNS requests on hover has been removed. It
is no longer an option. It had been turned off by default in 3.1.1.
Please see this URL for more information:
https://gitlab.com/gnachman/iterm2/wikis/dnslookupissue
New features:
- Add a "Copy Password" item to the password manager's right-click
menu
Bug fixes:
- Prevents High Sierra's native tabs from affecting iTerm2 windows.
- Restore hotkey windows to the proper screen.
- Fix a bug where tabs would tag without the user intending to drag
them.
- Recognize non-ASCII URLs as cmd-clickable. All characters encodable
by IDN are now considered part of a URL.
- Fix a bug where you couldn't togle the left side of the "blinking
cursor" button.
- Fix a bug where hotkey windows that had double-taps but no hotkeys
could be toggled by pressing "a"
Other changes:
- Performance improvements when there is a lot of scrollback history
- Move a bunch of advanced prefs out of the Experimental category
since they're now on by default.
SHA-256 of the zip file is
720eccece544ae8765f91c4c0348bb2819e47a2b794ce0adabc14934c00fee38
iTerm2 3.1.1 (OS 10.10+)
This is the recommended stable build. It fixes an important security issue. Built on September 19, 2017.
[▾ Hide Changelog](<javascript:hideId('342895551713984033')>)
iTerm2 version 3.1 offers a number of new features and bug fixes.
Please see below for all the details.
Version 3.1.1 is almost the same as 3.1.0, but includes a
security patch to disable undesirable DNS requests that
could leak user data. See the details here:
https://gitlab.com/gnachman/iterm2/wikis/dnslookupissue
New features:
-------------
Marquee Features
- Add touch bar support.
* Use the touch bar to select tabs in full screen
* Assign labels to function keys with a shell script
* Create custom touch bar items in Prefs > Keys
- Add support for ligature fonts.
- Rework how hotkey windows work:
* You can have multiple hotkey windows. Each profile may
have a hotkey window associated with it.
* Multiple hotkeys can be bound to a single profile.
* Double-tap of a modifier key can open a hotkey window.
* Hotkey windows can be made to float over other apps'
fullscreen windows.
- Shell integration utilities have a lot of new programs.
Reinstall shell integration to get the run-down.
- Add the ability to "bury" sessions. They get hidden in
Session > Buried Sessions. Changes Prefs > General >
Automatically hide the tmux client session to
automatically bury instead.
- Add support for OSC 8 to do hypertext links. The syntax
is:
OSC 8 ; params ; url ST
params is zero or more colon-delimited key=value strings.
The only defined key is "id". Two adjacent hyperlinks with
the same URL but different "id"s will not highlight
together on hover. id is optional.
As usual, OSC is 'esc ]' and st is 'esc \'.
- Add copy mode, like tmux's.
https://iterm2.com/documentation-copymode.html
Applescript
- Adds new applescript support for hotkey windows.
Arrangements
- Add the ability to save a single tab as an arrangement.
- Add the ability to restore an arrangement as one or more
tabs.
- Hotkey windows are now saved in saved arrangements.
Find on Page
- Add smart case sensitivity to find on page as the default
option.
General
- Allow windows to snap to the full size of the display.
- Add a menu item to the Toolbelt menu to save the current
toolbelt's width as the default.
- Extend tip of the day to allow selection between daily or
weekly tips.
- Make the "screen with cursor" window setting update the
window's screen each time a hotkey window is opened.
- Non-edge-spanning X-of-screen windows are now centered.
- Add setting to disable mouse wheel in mouse reporting
mode.
- Add keybindings for swap pane with left/right/above/below.
- Add keybindings for find next/previous.
- Improve performance of deleting profiles when you have
lots of them.
- Add support for finder services. You can right click in
Finder to launch iTerm2 in that location.
- Offer to abort a download when you press ^C while it's
down.
- Flash the tab bar on entering fullscreen.
- Show an announcement when a session restored from an
arrangement can't find the profile associated with it.
- Improve performance of creating a tab if you've increased
the maximum number of file descriptors.
- Redraw windows during resize.
- Add an optional "proxy" icon to the titlebar. Configurable
in Prefs > Appearance.
- Merge captured output when successive captures are closely
related.
- Add an advanced setting to disable send text at start when
launching iTerm2 with a script
- Add an off-by-default websocket server that enables
advanced scripting features.
- Change "Open in current space" for hotkey windows to move
the hotkey window to the current space if it's already
open on another space when the hotkey is pressed.
- Add an advanced preference to make auto logs filenames'
formattable.
Shell Integration
- Offer to turn off focus reporting when host changes.
- Offer to turn off paste bracketing on host change.
- Keep track of how many lines are in the prompt so the
whole thing can be preserved when you clear the buffer.
Terminal Emulation
- Add support for Unicode 9 (off by default)
- Set COLORTERM=truecolor to advertise 24-bit capability.
- Make the unicode normalization form configurable to None,
NFC, NFD, or HFS+. Change the defualt to None.
tmux Integration
- Tmux integration now supports the "initial directory"
setting of the tmux profile.
- Clear tmux history when you do Clear Buffer or Clear
Scrollback Buffer.
- Add an advanced preference to allow different tmux
sessions to have different profiles and to base the
profile of the tmux sessions on the session that attached
to tmux.
Semantic History
- Allow hyphens in schemes when looking for clickable URLs
so semantic history will accept chrome-devtools: schemes.
- Semantic history can now open file:line:column in VSCode.
- Use secure copy to download files selected with cmd-click
on a filename on a remote host and OSC 8 URLs with a file:
scheme and a host part.
Tab Bar
- Improve accessibility of the tab bar--tabs are now
selectable with accessibility.
- Make the tab bar's minimum drag distance configurable.
Terminal emulation changes:
- Add a new proprietary escape sequence to copy embedded
base64 data to pasteboard.
- Add a new proprietary escape sequence to report the value
of system- and user-defined variables (as used in badges).
- Add a new proprietary escape sequence to show fireworks at
the cursor.
- Add a new proprietary escape sequence to prompt the user
to select one or more files and then upload them as a
base64-encoded tar.gz file.
- Add a new proprietary escape sequence to customize touch
bar function key labels.
- Add a new proprietary escape sequence to set individual
colors or load a preset.
- Add a new proprietary escape sequence to set unicode
version.
- Accept OSC 7 as a synonym for 1337;RemoteHost and
1337;CurrentDir.
- Add support for CSI 12 h and CSI 12 l to set local echo on
or off.
- Move cursor to the origin on DECSET 1049.
Triggers
- Add a trigger to set the session title.
- Add a Prompt Detected trigger action to improve shell
integration emulation with triggers.
- Trigger highlighting colors in a dynamic profile may use
#rrggbb notation.
Visuals
- Underlines can now have a custom color.
- Add advanced prefs to change the margins.
- Descenders interrupt underlines.
- Improve the appearance of dimmed sessions
- Improve tab bar colors to look more native.
- Add a preference to disable the line between the title bar
and the tab bar.
- Respect the current keyboard layout when showing a
shortcut (e.g., the keypress for a hotkey window).
- Windows with light backgrounds now get dark borders, if
window borders are enabled.
- Add an advanced pref to tweak the height of the underline
cursor.
- Add an experimental feature to draw an outline around
underline and vertical bar cursors to improve distinction
from text.
Bug fixes:
----------
- Fix a bug where surrogate pairs would get corrupted when
pasting.
- Use SRGB colors internally. Fixes a bug where hex values
in the color picker weren't stable.
- Rate limit window size change notifications.
- Improve performance when there is a network mount.
- Disconnect dead ssh sessions during tmux integration.
- Improve how focus follows mouse behaves when you split a
pane.
- Improve how network automounts are detected. This helps us
avoid stat()ing files on the network, which can cause
hangs when semantic history tries to discover if a file exsts.
- Keep process monitoring from eating too much CPU.
- Validate secure copy hostname and user name to ensure
legal characters only are present.
- Fix a crash when the font is broken and reports a 0 size.
- Allow the password manager to open even if another sheet
is already open.
- Draw the default background color behind inline images.
- Fix a bug where the "Edit password" button in the password
manager would change your password into dots.
- Fix a bug where the wrong job name would be shown in the
titlebar when there were two jobs that considered
themselves foreground jobs.
- Fix a bug where the order of windows in applescript was
random, not back to front.
SHA-256 of the zip file is
45d07fd4d15bdee021a9174ecc44a9641ab2fc12b202ec4f995b03ea3fa6d881
iTerm2 3.1.0 (OS 10.10+)
This is the recommended build for most users. Built on September 18, 2017.
[▾ Hide Changelog](<javascript:hideId('5453301609451777250')>)
iTerm2 version 3.1 offers a number of new features and bug fixes.
Please see below for all the details.
New features:
-------------
Marquee Features
- Add touch bar support.
* Use the touch bar to select tabs in full screen
* Assign labels to function keys with a shell script
* Create custom touch bar items in Prefs > Keys
- Add support for ligature fonts.
- Rework how hotkey windows work:
* You can have multiple hotkey windows. Each profile may have a
hotkey window associated with it.
* Multiple hotkeys can be bound to a single profile.
* Double-tap of a modifier key can open a hotkey window.
* Hotkey windows can be made to float over other apps' fullscreen windows.
- Shell integration utilities have a lot of new programs.
Reinstall shell integration to get the run-down.
- Add the ability to "bury" sessions. They get hidden in Session > Buried
Sessions. Changes Prefs > General > Automatically hide the tmux client
session to automatically bury instead.
- Add support for OSC 8 to do hypertext links. The syntax is:
OSC 8 ; params ; url ST
params is zero or more colon-delimited key=value strings. The only
defined key is "id". Two adjacent hyperlinks with the same URL but
different "id"s will not highlight together on hover. id is
optional.
As usual, OSC is 'esc ]' and st is 'esc \'.
- Add copy mode, like tmux's.
https://iterm2.com/documentation-copymode.html
Applescript
- Adds new applescript support for hotkey windows.
Arrangements
- Add the ability to save a single tab as an arrangement.
- Add the ability to restore an arrangement as one or more tabs.
- Hotkey windows are now saved in saved arrangements.
Find on Page
- Add smart case sensitivity to find on page as the default option.
General
- Allow windows to snap to the full size of the display.
- Add a menu item to the Toolbelt menu to save the current toolbelt's
width as the default.
- Extend tip of the day to allow selection between daily or weekly tips.
- Make the "screen with cursor" window setting update the window's
screen each time a hotkey window is opened.
- Non-edge-spanning X-of-screen windows are now centered.
- Add setting to disable mouse wheel in mouse reporting mode.
- Add keybindings for swap pane with left/right/above/below.
- Add keybindings for find next/previous.
- Improve performance of deleting profiles when you have lots of them.
- Add support for finder services. You can right click in Finder to
launch iTerm2 in that location.
- Offer to abort a download when you press ^C while it's down.
- Flash the tab bar on entering fullscreen.
- Show an announcement when a session restored from an arrangement
can't find the profile associated with it.
- Improve performance of creating a tab if you've increased the
maximum number of file descriptors.
- Redraw windows during resize.
- Add an optional "proxy" icon to the titlebar. Configurable in
Prefs > Appearance.
- Merge captured output when successive captures are closely related.
- Add an advanced setting to disable send text at start when launching
iTerm2 with a script
- Add an off-by-default websocket server that enables advanced
scripting features.
- Change "Open in current space" for hotkey windows to move the hotkey
window to the current space if it's already open on another space
when the hotkey is pressed.
- Add an advanced preference to make auto logs filenames' formattable.
Shell Integration
- Offer to turn off focus reporting when host changes.
- Offer to turn off paste bracketing on host change.
- Keep track of how many lines are in the prompt so the whole thing
can be preserved when you clear the buffer.
Terminal Emulation
- Add support for Unicode 9 (off by default)
- Set COLORTERM=truecolor to advertise 24-bit capability.
- Make the unicode normalization form configurable to None, NFC, NFD,
or HFS+. Change the defualt to None.
tmux Integration
- Tmux integration now supports the "initial directory" setting of the
tmux profile.
- Clear tmux history when you do Clear Buffer or Clear Scrollback
Buffer.
- Add an advanced preference to allow different tmux sessions to have
different profiles and to base the profile of the tmux sessions on the
session that attached to tmux.
Semantic History
- Allow hyphens in schemes when looking for clickable URLs so semantic
history will accept chrome-devtools: schemes.
- Semantic history can now open file:line:column in VSCode.
- Use secure copy to download files selected with cmd-click on a
filename on a remote host and OSC 8 URLs with a file: scheme and a
host part.
Tab Bar
- Improve accessibility of the tab bar--tabs are now selectable with
accessibility.
- Make the tab bar's minimum drag distance configurable.
Terminal emulation changes:
- Add a new proprietary escape sequence to copy embedded base64 data
to pasteboard.
- Add a new proprietary escape sequence to report the value of system-
and user-defined variables (as used in badges).
- Add a new proprietary escape sequence to show fireworks at the
cursor.
- Add a new proprietary escape sequence to prompt the user to select
one or more files and then upload them as a base64-encoded tar.gz
file.
- Add a new proprietary escape sequence to customize touch bar
function key labels.
- Add a new proprietary escape sequence to set individual colors or
load a preset.
- Add a new proprietary escape sequence to set unicode version.
- Accept OSC 7 as a synonym for 1337;RemoteHost and 1337;CurrentDir.
- Add support for CSI 12 h and CSI 12 l to set local echo on or off.
- Move cursor to the origin on DECSET 1049.
Triggers
- Add a trigger to set the session title.
- Add a Prompt Detected trigger action to improve shell integration
emulation with triggers.
- Trigger highlighting colors in a dynamic profile may use #rrggbb
notation.
Visuals
- Underlines can now have a custom color.
- Add advanced prefs to change the margins.
- Descenders interrupt underlines.
- Improve the appearance of dimmed sessions
- Improve tab bar colors to look more native.
- Add a preference to disable the line between the title bar and the tab bar.
- Respect the current keyboard layout when showing a shortcut (e.g.,
the keypress for a hotkey window).
- Windows with light backgrounds now get dark borders, if window borders are enabled.
- Add an advanced pref to tweak the height of the underline cursor.
- Add an experimental feature to draw an outline around underline and
vertical bar cursors to improve distinction from text.
Bug fixes:
----------
- Fix a bug where surrogate pairs would get corrupted when pasting.
- Use SRGB colors internally. Fixes a bug where hex values in the
color picker weren't stable.
- Rate limit window size change notifications.
- Improve performance when there is a network mount.
- Disconnect dead ssh sessions during tmux integration.
- Improve how focus follows mouse behaves when you split a pane.
- Improve how network automounts are detected. This helps us avoid
stat()ing files on the network, which can cause hangs when semantic
history tries to discover if a file exsts.
- Keep process monitoring from eating too much CPU.
- Validate secure copy hostname and user name to ensure legal characters
only are present.
- Fix a crash when the font is broken and reports a 0 size.
- Allow the password manager to open even if another sheet is already
open.
- Draw the default background color behind inline images.
- Fix a bug where the "Edit password" button in the password manager
would change your password into dots.
- Fix a bug where the wrong job name would be shown in the titlebar when
there were two jobs that considered themselves foreground jobs.
- Fix a bug where the order of windows in applescript was random, not
back to front.
SHA-256 of the zip file is
2837aced993add874a5972fa36a58ead2fa1e348da63480192ea6d52f7bed5eb
iTerm2 3.0.15 (OS 10.8+)
This is the current stable version. It contains some important bug fixes. Built on March 25, 2017.
[▾ Hide Changelog](<javascript:hideId('2318679067061858768')>)
Bug fixes:
- Escape newlines in tabs in various places that we escape shell
characters.
- Do not crash when a paste escape sequence is received with an
invalid base64 argument.
- Fix a bug where EPS files displayed by imgcat did not include text
on macOS 10.10.
- Update fish shell integration version since fish 2.2 support was
dropped.
- Fix a bad interaction between "Open tmux windows as tabs in existing
window" and "Automatically hide the tmux client session after
connecting" where the gateway.
- Fix a bug where tmux integration window states were lost when
detaching.
- Fix a bug where ~/Library/Application Support/iTerm/ssh_config was
not used.
- Fix a crash in lines with just the right number of fullwidth marks.
New features:
- Support the "frontmost" applescript property.
- Double click a window in the tmux dashboard to reveal it.
SHA-256 of the zip file is
90e6f2bd3eb2d245f4ab2c9f856c627c8a1536bac024fb3989db417bc3147565
iTerm2 3.0.14 (OS 10.8+)
This is the recommended build for most users. It contains a bunch of bug fixes. Built on February 11, 2017.
[▾ Hide Changelog](<javascript:hideId('6124266801298795953')>)
- Fix a bug where where tmux integration windows would silently fail to
open when tmux was not in UTF-8 mode.
- Fix a bug where you could get stuck in secure input mode.
- Fix a bug where Let's Move would not remember the preference to
suppress its offer.
- Fix a bug where maximized panes in tmux integration mode would get
confused when the window resized.
- Show a bell emoji in the window title when there's only one tab and it
would have a bell icon.
- Add more menu items to adjust multiline paste warnings.
- Fix a bug where automatic profile switching didn't work in fullscreen
windows.
SHA-256 of the zip file is
bed63a85d48d4e0ec2f49858aa4a6ce5dcb7bb3eaf78f87124ed5239b6a7e936
iTerm2 3.0.13 (OS 10.8+)
This is the recommended build for most users. It contains a bunch of bug fixes, including fixes for some crashers. Built on December 23, 2016.
[▾ Hide Changelog](<javascript:hideId('4758122731897619366')>)
- When the password manager checks if you're at a password prompt,
accept asterisks echoed back.
- Fix a crash when characters have a crazy number of combining marks.
- Fix a bug with restoring minimized windows.
- Fix a bug where row heights did not change properly in profile
lists.
- Fix an exception at startup when saved state is corrupted.
- Add an advanced preference to disable DNS lookups on text in the
terminal window.
- Fix imgcat support for PDFs.
- Fix a bug where secure input could get stuck.
- Mitigate a leak of web views.
- Fix a crash when using the color picker's eyedropper.
- Prevent a crash when resizing a session.
- Fix a crash when the prefs window is closed while the file picker is
open.
- Fix a bug where a maximized tmux pane's contents would appear behind
a per-pane titlebar.
- Explain why you're being prompted to confirm quitting behind a
disclosure triangle.
- When closing a tmux tab that requires the kill/hide confirmation and
the session-closing confirmation, only show the kill/hide confirmation.
- When creating a new tab using the default profile when the current
tab is a tmux tab, refer to the gateway session's current directory
for the purposes of recycling the working directory.
- Fix a bug where focus reporting misbehaved when there were multiple
panes in a tab.
SHA-256 of the zip file is
b32cb66bf7fafd22c92adca4ea2d10c23e58d1398627aea5b15f1c396495b574
iTerm2 3.0.12 (OS 10.8+)
This is the recommended build for most users. Built on November 14, 2016.
[▾ Hide Changelog](<javascript:hideId('3684839136687035883')>)
- Reduce system log spam
- Fix a bug where maximize split panes in a fullscreen window in tmux
integration could cause the session to be the wrong size.
- Fix a bug where imgcat was broken on macOS 10.10 and earlier.
- Don't send anti-idle codes to the connecting tmux session in
integration mode.
- Adjust the color of the border for fullscreen tmux integration
windows to be less obtrusive.
- Fix a bug where window restoration would give a "stuck" session when
restoring a tmux integration session.
- Load Patreon patron names at runtime.
- Fix a bug where session restoration failed on macOS 10.12 because
Apple broke syslog.
SHA-256 of the zip file is
d500c5e376a05df6896f92504961142b7721efb9e235232d39545c7a3c5b7507
iTerm2 3.0.10 (OS 10.8+)
This is the recommended build for most users. It contains fixes for macOS Sierra, security improvements, bug fixes, and it fixes a crash. Built on October 2, 2016.
[▾ Hide Changelog](<javascript:hideId('5012995108551523381')>)
- Decode images in a sandboxed process to improve security. Remove the
prompt before displaying an image since they no longer expose significant
attack surface.
- Fix a performance issue when saving state for very long lived sessions.
- Change the : in automatic session logs to a . because Finder shows : in
filenames as a /
- Fix a crash when closing the "Edit current profile" window.
- Offer to move the app if it's not in Applications or $HOME/Applications.
Sierra won't allow auto-update from the Downloads folder.
SHA-256 of the zip file is
434f52c5d554005a94e1f471018d1480a029155205644dadd65377f5eeff3624
iTerm2 3.0.9 (OS 10.8+)
This is the recommended build for most users. It contains a bunch of bug fixes, including fixes for some crashers. Built on September 11, 2016.
[▾ Hide Changelog](<javascript:hideId('2284787664543564398')>)
- Fix crashes in preferences panel.
- Add advanced preference to make adaptive framerate FPS adjustable.
- Fix bugs with copying tab characters.
- Fix a bug where which tabs go with which windows got messed up when you quit
iTerm2 while tmux integration was running.
- Fix a bug where pasting a string with surrogate pairs could paste nothing at
all if the pair was split when chunking.
- When a custom paste action extends the selection, it now copies to the
pasteboard (if so configured).
- Remember the profiles panel's frame when restarting.
- Fix a bug where the color picker's eyedropper didn't work on other displays
than the main one.
- Show a warning before decoding images for security purposes.
- If you had hit a bug earlier where a preference was saved that broke
pasting, unset that preference automatically.
SHA-256 of the zip file is
4e4b9decbc2327c795fa114156213d95482a882eab188825dfeb8df1ed13b9ab
iTerm2 3.0.8 (OS 10.8+)
This is the recommended build for most users. It contains bug fixes. Built on September 1, 2016.
[▾ Hide Changelog](<javascript:hideId('2390822568716844497')>)
- Fix a bug where iTerm2 would hang if a profile's command terminated quickly,
or could not be executed.
- When a profile's command can't be executed, print the reason for the failure
to the session.
- Fix a bug where you could remember the "cancel" action when prompted about
pasting.
- Make Japanese keyboards produce a backslash when Yen is pressed so long as
shift is not also pressed.
SHA-256 of the zip file is
fae85a7fd1c0c7706031b103dab6c2cf65bb6a82b4d0fbb0be9f75467875ae64
iTerm2 3.0.7 (OS 10.8+)
This build fixes many bugs including a frequent crash. Built on August 11, 2016.
[▾ Hide Changelog](<javascript:hideId('3951017271895608804')>)
- Fix a crash when toggling the "hotkey window hides when focus is lost" box.
- Fix a crash when switching away from the prefs window after closing the color
picker.
- Fix a crash when you close prefs window while editing an untokenized value in
the tags field.
- Support ipv6 DNS lookups for determining if a hostname is legit for semantic
history. Don't cache temporary DNS failures.
- Fix a bug where the cursor position is not correctly restored in the main
screen when attaching to a tmux integration session in the alternate screen.
Changes from the beta-only 3.0.6:
Bug fixes:
- Fix a crash on 10.9 and earlier when tabs don't have close buttons and a tab
has a long title.
- Fix a crash when you paste into the textview where you press a global
shortcut.
- Fix a crash on OS 10.8 when using the color picker.
- Fix a crash when a monitor is unplugged while using tmux integration.
- Fix a bug where tmux windows restore the wrong size when scrollbars are
disabled.
- Fix a crash when searching for word boundaries on double-click or cmd-hover.
- Fix bug where the range of underlined text was wrong when holding cmd and
hovering over text with backslashes.
- Fix a bug where split pane titlebars would disappear after exiting Back In
Time.
- Fix a bug where seeking while in Back In Time would jump to the earliest
timestamp.
- Fix a bug where windows in the Window menu could not be assigned hotkeys.
- Fix a bug where pressing esc in a search field would not allow its containing
panel to close (such as prefs).
- Fix a bug where unused space was left at the bottom of a fullscreen window
with a horizontal split in tmux integration windows.
- Fix a bug where a fullscreen window with a horizontal split would cycle between
two different sizes forever.
- Fix typo in 'See Tips of the Day?' prompt.
- Fix a bug where semantic history would not work on very long lines (or when
ignoring hard newlines caused a line to appear very long)
- Fix a bug where split panes in tmux integration windows would sometimes not be
aligned to the top of their containers.
Minor enhancements:
- Make "Keep background colors opaque" apply to the background color of selected
text.
- Trim trailing newline and adjacent whitespace when selecting the output of the
last command.
- Reduce minimum adaptive frame rate to 20 fps.
- Send prefs as XML in crash reports to make it easier to reproduce.
- Improve performance of finding word boundaries. This should fix occasional
hangs when pressing cmd while the mouse hovers over a very long word.
- Dim the cursor when dimming a window's contents.
- Add an advanced preference to make the "session restored" banner optional.
SHA-256 of the zip file is
d4fae6dd9e7f3173791bd7b56bc4fd3520fb197a374776833735e0f95fd6fa20
iTerm2 3.0.5 (OS 10.8+)
This build contains a number of bug fixes. Built on July 27, 2016.
[▾ Hide Changelog](<javascript:hideId('7163410992375082722')>)
Bug fixes:
- Improve support for URLs with non-ASCII characters in various places.
- Make clicking in a per-pane titlebar make the session first responder.
- Fix bug where hotkey window is not properly restored.
- Change permissions on paste and command history files to be only
user-readable.
- Update current prompt's Shell Integration mark when clearing the screen.
- Respect vim special characters in advanced paste regex substitution string.
- Improve cold start time and memory usage by only creating preferences panel
when needed.
- Fix a bug with focus follows mouse where the window whose textview was under
the cursor would be made key, even if a higher-ordered window was under the
cursor (just not the textview part).
- Improve performance when selecting by word on giant strings, which happens on
right click, smart selection, and pressing or releasing the cmd key.
- Show a "no image" character when image display is disabled and an image is
received.
- Visual improvements to the Appearance prefs tab.
- Offer to paste without newline when you're warned while pasting at shell
prompt.
- Indicate the command that will be run before running it when the user asks to
install shell integration.
- Reduce CPU utilization when idle.
- Make check marks in the popup list for selecting a profile's schemes more
accurate.
- Allow the badge font in advanced prefs to specify a style, like
Courier-Oblique.
- Improve distinction between selected and unselected tabs in high contrast
themes.
- Don't crash if the badge is set by escape sequence to empty string.
- Properly center tab labels when the close button is hidden.
New features:
- Add an off-by-default advanced pref to draw yellow marks for commands stopped
by a signal.
SHA-256 of the zip file is
a0081635383a7a1eda12c99c2800979168bfa757b737b0b15a2639bdb2ce6f95
iTerm2 3.0.4 (OS 10.8+)
This is the recommended build for most users. Built on July 4, 2016.
[▾ Hide Changelog](<javascript:hideId('1279550875985571853')>)
Version 3.0.4 of iTerm2
This is a major new version of iTerm2, and the first "stable" release in the
3.0 series. It contains hundreds of bug fixes and many new features since
2.1.4. All the details are at http://iterm2.com/version3.html
SHA-256 of the zip file is
0cb3dc26a47ea7f76ac43156ff1c88163726c13154d695b254161a91ce948ad6
iTerm2 2.1.4 (OS 10.7+, Intel-only)
This is the recommended build for most users. It is updated to work well with El Capitan.
[▾ Hide Changelog](<javascript:hideId('4562296581579436341')>)
- Fixes a bug where split screen in El Capitan had black bars around the window.
- Fixes a bug where closing a tab in tmux integration would cause the connection to close with a tmux protocol error.
iTerm2 2.1.3 (OS 10.7+, Intel-only)
This is the recommended build for most users. It contains a bug fixes for El Capitan.
[▾ Hide Changelog](<javascript:hideId('2355411650905956136')>)
- Bug fixes for El Capitan. Properly restore multiple fullscreen windows and avoid a flash when
switching spaces with split fullscreen windows.
iTerm2 2.1.1 (OS 10.7+, Intel-only)
iTerm2 v2.1.1: This is the recommended for most users. It requires OS X 10.7+ and an Intel CPU.
[▾ Hide Changelog](<javascript:hideId('4794591314221714690')>)
- Change URLs for credits and bug filing. RIP Google Code.
- Add a method to notify users when iTerm2 3.0 enters Beta so they can opt in.
- Support multiple parameters to DECSET (fixes a bug with tmux 2.0 where the cursor disappears, among others).
- Fix a bug where copying a string ending in a surrogate pair fails to copy at all.
- Fix a bug where paste didn't work on 32-bit machines.
- Change role for URL handling from editor to shell.
- Option-click in scrollback history should not try to move the cursor.
- Fix bug where some emoji don’t render on 10.10.3.
- Change how the highlight is rendered in the profiles table to look better on 10.10.
iTerm2 2.0 (OS 10.7+, Intel-only)
iTerm2 v2.0: this is the recommended for most users. It requires OS X 10.7+ and an Intel CPU.
[▾ Hide Changelog](<javascript:hideId('1020684951754796022')>)
Major New Features
------------------
- Deep tmux integration!
Have you ever had an ssh session lost because you had to reboot, had a network
failure, or the power went out? Are you tired of giving up a keystroke to tmux
or screen? Suffer no longer! iTerm2 and tmux are now deeply integrated. By
installing a special version of tmux, it gains the ability to speak directly to
iTerm2. When you run tmux with -CC, iTerm2 will open real, native windows or
tabs for each tmux window. The whole state of your tmux session is reflected in
native iTerm2 windows. As you interact with a window, your typing is sent back
to tmux. Any time you resize a window, add a split pane, close a split pane,
close a window, or open a window (with Shell->tmux->new window), that
action happens in tmux as well as in iTerm2.
All the details are at https://code.google.com/p/iterm2/wiki/TmuxIntegration
- A "Toolbelt" has been added. It's a drawer that opens to the right of a
window and shows running jobs, paste history, a field for taking notes, and
lets you open new windows/tabs/splits. Look for the Toolbelt menu.
- Add "triggers." A trigger is an action that is performed when text matching
some regular expression is received in a terminal session. More info here:
http://www.iterm2.com/triggers.html
- Add "coprocesses." A coprocess is a process, such as a script, that receives
input from a terminal and whose output is fed into the terminal session as
though the user were typing it. You can use them to automate interaction with
scripts, download files with ZModem, and more. More info here:
http://iterm2.com/coprocesses.html
- You can now edit the smart selection regexes in
Prefs>Profiles>Advanced. You can also assign actions that are added to
the context menu when you right click on text that matches a smart selection
rule. More info here:
http://www.iterm2.com/smartselection.html
- Support for OS 10.7 features including fullscreen, retina graphics, and
window restoration.
New Preferences
---------------
- Add support for tiled background images (Foy Savas)
- Add a preference to toggle hiding of the menu bar in non-Lion fullscreen.
Useful in Mavericks multi-monitor setups.
- Make tabview toggleable in fullscreen.
- Add option to dim background windows.
- Add option to dim only foreground colors.
- Add UI for adjusting dimming amount.
- Add UI to make blur radius configurable.
- Add hidden pref MaxPasteHistoryEntries.
- Add preference to hide tab's activity indicator.
- Add option to draw red stripes in the background to indicate input being sent
to all terminals.
- Add preference to disable dimming animation.
- Add option to profiles to send text to shell at startup.
- Add option to disable session-initiated printing.
- Add support for prefs from a custom folder (e.g., Dropbox) or URL.
This makes it easy to share a config between multiple machines or people.
- Add auto logging of sessions. When enabled (per-profile), all input received
from the host in a session is saved to a file tagged with the window, tag,
and pane number, plus the time and date of initiation.
- Add next/previous pane action.
- Change around prompt-to-quit options, adding "always/never/only if jobs
besides ... are running" to profiles-sessions.
- Add option to copy trailing newlines when making a selection that includes a
whole line at its end.
- Add preference to disable transparency when entering fullscreen mode.
- Improve "Terminal.app Compatibility" key preset to more accurately emulate
Terminal.
- You can now configure what happens when you cmd-click on a filename in
Prefs>Profiles>Advanced.
- Add key action to move tab left/right.
- Add "advanced" directory settings for separate tab, window, and pane settings.
- Add preference for setting locale vars.
- Add preference to disable saving lines to the scrollback buffer while in
alternate screen mode.
- Add option to always copy preferences to prefs stored in a custom folder.
- Add a new panel to prefs to make mouse actions configurable.
- Add option to make triple-click select a whole wrapped line rather than just
one row.
- Add hidden option AutocompleteMaxOptions to adjust number of autocomplete
entries.
- Add hidden option PasteHistoryMaxOptions to adjust number of paste history
entries.
- Add hidden variable URLCharacterSet that defines characters that are part of
a URL.
- Disable title reporting unless hidden pref AllowInsecureTitleReporting is set
to true.
- Add general preference "Adjust window for font size change". Turn it off so
that the window size stays fixed as the font grows or shrinks (thanks,
keeyipchan!).
- Add hidden preference PinchToChangeFontSizeDisabled to turn off pinch to
change font size
- Ask for confirmation before deleting a profile.
- Add boolean hidden pref, OpenFileInNewWindows. When you open a file (e.g., a
shell script) in finder with iTerm2, this controls whether it opens in a new
window or tab.
- Additional window styles: bottom and left of screen.
New Terminal Features
---------------------
- Add support for italics (Stefan Schüßler)
- Change RIS code to move the cursor to the origin (saitoha).
- Convert text to NFC form more aggressively, which should lead to latin
characters with accents rendering more consistently with certain fonts like
Inconsolata, which lacks some combining marks.
- Add ITERM_SESSION_ID environment variable that identifiers the window, tab,
and pane number of each session.
- Add escape code "Esc c" to reset terminal.
- Add new escape code ESC ]6;1;bg;*;default^G to restore tab color to default.
- Add support for reporting focus lost/gained. esc[?1004h turns it on; then the
terminal sends esc[I when focusing, esc[O when de-focusing. Send esc[?1004l
to disable.
- Implemented bracketed paste mode (this is cool, see vim script here:
http://stackoverflow.com/questions/5585129
- Define VLNEXT and VDISCARD in the term by default.
- Add support for the "screen" terminal's way of setting the window title.
- Support SGR (1006) mouse reporting.
- Allow OSC 4 to set color of first 16 palette entries.
- Add support for OSC 52 (clipboard integration--thanks, saitoha!).
- Add support for DECSCUSR which lets the terminal change the cursor shape and
blink.
- Add support for DECSTR (esc [!p)
Other Features
--------------
- Improve rendering on glyphs with multiple combining marks.
- When you cmd-click on a filename in a diff, remove the a/ or b/ prefix and
replace with the real directory to open the file.
- Cmd-opt click on a URL to open it without bringing the browser to the front.
- Improve "send input to all sessions", adding new modes: 1) send to all panes
in current tab, 2) to all sessions in current window, and 3) to an arbitrary
collection of panes (toggled with context menu).
- You can toggle send input to all tabs/panes by re-pressing the keystroke that
got you into that mode.
- Draw a dotted line around maximized sessions.
- Add support for multiple saved window arrangements.
- Add decimal <-> hex conversion to right-click context menu when a number is
selected.
- Add new cmd-opt-shift-H and cmd-opt-shift-v interface for opening a split
pane with a particular profile.
- Allow pinch gesture to change font size.
- Make cmd-[ and cmd-] work when a pane is maximized.
- Add "find cursor" feature (cmd-/) that highlights the cursor location. Useful
when you have a huge terminal, this makes it easy to quickly find a lost
cursor. If activated with the shortcut cmd-/, continuing to hold cmd will keep
the highlighting active.
- Add ability to drag split panes around by pressing cmd-opt-shift and drgging.
- Add ability to split a pane by dragging a tab into a terminal session.
- Add "move session to split pane" option to context menu.
- Add "restore arrangement" to dock menu.
- Add cmd-= as shortcut for duplicating a profile
- By default, a three-finger click on a trackpad emulates the middle button
(which by default performs Paste).
- Add ability to change profile from Edit Current Session.
- Change mouse cursor to indicate that mouse reporting is on.
- Add cmd-shift-opt-T to open a new tab using the current session's profile.
- Change default global key bindings to cmd-shift-arrows to move tab left/right.
- Add menu item to move tab left/right.
- Add title bars to split panes that show the title. You can drag panes by
their titles, and there is a menu and a close button in it as well.
- If no window is open, you can now select multiple items in the profiles and
window and choose split horizontally/vertically to open a new window with the
split.
- Add tab colors to view menu and tab context menu (thanks, andreax79)
- Add 'move session to window' context menu item.
- When closing a session, free its scrollback buffer in a background thread to
avoid hanging.
- Alt-click moves the cursor to the click position.
- Press cmd-9 to go to the last tab.
- Add menu item to toggle broadcasting input to the current pane (make
pane-by-pane toggling available to focus-follows-mouse users who couldn't
open a context menu in a deselected pane)
- "Find" continues to search as new text appears.
System Integration
------------------
- In Mavericks, when system prefs are set such that multiple screens share one
space, we only hide the dock and menu when a fullscreen iTerm2 window is on
the first screen.
- Handle inserting emoji text in mavericks with cmd-ctrl-space.
- Make dock and menu bar appear by moving mouse to top/bottom of screen in
non-Lion fullscreen mode. Remove hold-cmd-for-tabs.
- Make it possible to launch iTerm2 from Applescript so it won't open any
windows automatically.
- Add support for Growl 1.3.
- Support Lion's Restore functionality.
- For new users under Lion, xterm-256color will be the default terminal.
- Add ability to open .itermcolors files by double clicking on them.
- Add 'New Window (Default Profile)' to dock menu.
- Make growl alerts clickable (thanks, soul.cake.tuesday.duck and bauerb).
- Make find text typed in one tab appear in all tabs' find bars.
- App bundle is now signed.
- When a file or folder is dragged onto the dock icon, open it in a new tab
(not a new window).
- Retina graphics
Proprietary Escape Codes
------------------------
- Add escape code ]50;SetMark^G to perform Edit > Set Mark command.
- Add escape code to steal focus: ESC ]50;StealFocus^G (thanks, gordolio).
- Add proprietary escape code esc]50;ClearScrollback^G to erase screen and
scrollback buffer.
- Add proprietary escape code esc]50;CurrentDir=/Path/To/Directory^G to notify
iTerm2 of the current directory (so you can cmd-click on relative filenames
and we'll know where they are).
- Add proprietary escape code ]50;SetProfile=X^G to set the current
session's profile to the one named X.- Add proprietary escape code to send
text to clipboard. To use, send esc]50;CopyToClipboard=X^G followed by text
followed by esc]50;EndCopy^G, where X is a clipboard name from the set: ruler,
find, font, or general. If not specified, general is used.
- Add esc]50;RequestAttention=x^G, where if x=1 the dock icon bounces and if
x=0 it stops.
iTerm2 1.0.0 - first stable version
This is iTerm2 version 1.0.0, the first full releases of iTerm2.
iTerm2 2.0 (OS 10.5, Intel, PPC)
This build has a limited set of features but supports OS 10.5 and PowerPC. If you have an Intel Mac that runs OS 10.6 or newer, you don't want this.
Test Releases
Test releases update many times a year and are occasionally unstable.
iTerm2 3.7.0beta12 (macOS 12.4+)
This is the recommended beta build for most users. Built on September 1, 2026.
[▾ Hide Changelog](<javascript:hideId('601596241716005982')>)
Version 3.7.0beta12 was built on September 1, 2026.
Changes since 3.7.0beta11:
Improvements:
- iTerm2 uses far less memory and CPU when a
full-screen program repaints the screen
rapidly, such as a TUI or an AI agent that
redraws every frame. This fixes runaway
memory growth that could reach several
gigabytes. Issue 12992.
- When you enter a Workgroup, its tabs are now
gathered into one tab group and given the
names from the Workgroup configuration, so
they are easy to tell apart. Leaving the
Workgroup restores the tab you started from to
its previous name and group. Issue 12967.
- A new tab opened next to a tab that belongs to
a tab group now joins that group, so it stays
with the set you are working in. The tab group
menu also gained a New Tab in Group command.
- Tab Groups gained Window menu commands: Select
Tab > Select Next Tab Group (⌃⇧⌘]) and Select
Previous Tab Group (⌃⇧⌘[), plus Add Tab to New
Group and Remove Tab from Group. The selection
commands skip over the rest of a group. For
an ungrouped tab they behave like Select
Next/Previous Tab.
- The Password Manager now has a single Edit
panel that changes an entry's name, user name,
and password, available whenever a row is
selected. On backends that support it the edit
is made in place, so renaming an entry keeps
its other fields, such as one-time passwords,
intact.
- You can now create and edit 1Password entries
from the Password Manager. The password you
choose is sent securely and never appears on
the command line. This needs the 1Password
command-line tool version 2.23 or later.
- The Keeper backend now supports Nested Shared
Folders alongside the classic vault, both in
one list labeled (Classic) or (Nested), and
the Add Account panel offers a “Use classic
permission model” choice.
- In AI chat, a session reference the assistant
writes without a leading @ now still renders
as a clickable session link.
Bug Fixes:
- Programs that ask whether iTerm2 is in light
or dark mode (the DSR 996 query) now receive
a reply. The query was being ignored, so
tools that check it before drawing, such as
delta, saw no response.
- Right-to-left text no longer scrambles when a
full-screen program scrolls part of the
screen, and wrapped right-to-left lines shown
from scrollback keep their correct display
order.
- The selected tab's bright HDR outline on
macOS Tahoe is now off by default. It is
gated behind a new “Allow HDR effects”
advanced setting because forcing the display
into HDR could hang some systems.
- Fixed various crashes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
ef046779b5b97390d752d93e0a3046ec941567d049fca638f08b1241e6f0a77d
-----BEGIN PGP SIGNATURE-----
iQJPBAEBCAA5FiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmqXQbkbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzAAoJECYs/l55Gr4bVYkP/RTp6dxStKA/oHLQTfKq
za0Jl5tsbtwu3ZDiXH4qkjOb6gexree3nCao+PCh++GxLN8BjAC8GGE8i4nC45dg
i9MlqbIiYhxG06syOCvkEo8Br5NFijg77N8N6VS6p8j8Xot9Yee4J7aPKTgDvX3/
9cV7vsCa7p/Ljzs5be7t+rN4KTLOEb1pSn8efpMf7gfHnL1U65zywStbN5RXmU/q
Za+a0/PdLSWPhBglZu6qyAEHM8bCgVOTZw3xQW6O1EGwnPzq5b42q0sqPuhDcpKq
vb9kp2skE4+abE3Dh6ODVY0CJVfbOUo0laWGaLpzQvl91UqRtxG8Cgisj8yqpWdL
74R+uAFpxKkhGJaqrhFj9A4+s8UWNE2sQ6vR1F29RSpyh/u5r0UAFhso3V/R7/ax
Gfbj+d9T4oXEjc0PM787+sy+AHdNURzo7HcPU+NqKy+4uHxDor8eKpQwOGJ4ZzGk
atb4AWa/P3Q+x0/nXPve5OdMkwseHF2cJQHshT21yazyVcuxyb7V8iKY+8kxA2tL
dLhFBvd1ZgtdV0ta6CLSItv4153xAx0ZvfMo+SksxmSDv4AAquWysNp+Zxw/rrvY
Y9EP7wl2TOsDJkC5RrPnLB0Jz/WaKTWpPMDg9NL81TacupaKsdLVcAdIjDp2OBev
UohbjZ82KKpwYEOlz7KZVgjS
=YGvT
-----END PGP SIGNATURE-----
Older Test Releases
iTerm2 3.7.0beta11 (macOS 12.4+)
This is the recommended beta build for most users. Built on August 19, 2026.
[▾ Hide Changelog](<javascript:hideId('6605362446744902091')>)
Version 3.7.0beta11 was built on August 19, 2026.
Changes since 3.7.0beta10:
Improvements:
- Scrollable tab bars are now on by default. Tabs
that don't fit stay in the bar and are reached
by scrolling instead of the "More tabs" overflow
menu. You can turn this off in Settings.
- The built-in AI model list now includes Claude
Sonnet 5, GPT-5.6, and the Gemini 3.x flash
models, and the recommended defaults move to
GPT-5.6 for OpenAI and Gemini 3.7 Flash for
Gemini. Retired models (Opus 4.1, Gemini 2.0
flash) are removed.
- Settings > General > AI has a new "Automatically
update available AI models" checkbox and an
Update Now button. The model catalog can refresh
itself from iterm2.com so new models appear
without updating iTerm2; these controls let you
turn the automatic check on or off and run a
check on demand.
- The startup warning that a legacy script's
pinned Python version will be bumped for the uv
runtime now has an Upgrade Now button that
migrates the affected scripts immediately, so a
script you never launch no longer re-nags every
launch.
- The tmux Dashboard's Open in Tabs button now
works with a single selected window, matching
Open in Window. Issue 12994.
- Dropping a local file on the terminal no longer
offers to upload it over scp when your machine
answers to more than one name (for example a
.local name versus a DHCP-assigned name).
Bug Fixes:
- Fixed several AI chat request bugs on the
OpenAI Responses API: every turn after the
first could reach the model as bare context
with the user's newest message dropped; some
tool schemas were rejected with an HTTP 400
under strict mode; and a JSON null inside an
array could crash the response parser.
- A selected tab in a scrollable tab bar no
longer paints over the tab bar's rounded
border.
- On macOS Tahoe, the tab bar overflow menu no
longer drops the first hidden tab: with one
hidden tab the chevron opened an empty menu,
and with more the first was missing.
- Cmd-W now closes the Companion Device Settings
window instead of beeping.
- The Companion Device Settings window no longer
fires the Touch ID / password prompt on its
own when opened or after unpairing. It shows a
"Show QR Code" button and authenticates only
after you click it.
- Fixed various crashes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
63914e1529b6726fcff7eee140f59b0866dcee9eb0acc9456f033cb761467838
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmqGU/wACgkQJiz+Xnka
vhtN9hAAnz/ko36dG1cIO8xkAIU6o8nrdcZV3VGksRJ90ftDnQyoIufFsmXp7s/O
ctHmpo/R87z2lUwpnDZufAwnDpJ+WKqdd7eTkf0k1Jm3nsDRl/T+nBafhl5CdudV
p6cF7G8cUR7Y6cTAIiJX/MJlKtGboocrPILZiFCiOwSzyJABq/fldCI9hqrvXyVo
bJRSuFiJdO7Gb9e4ir4crykjhusJx7vXFHHz0YGb3hPGRIPnXb5YJUFGTEIPzoKf
0TolqB0Wzq/DdceolQ9xAkYS2BnQBB/HEcFzAaOMnRsHtGKyleGeoqVwnuaJLZQw
/ixLpinsH3bCbg9nplaD5189/XkyCKwK9gdjXLNrymp6LN+ux4isy4lbl0X2iX2c
8f4y2T/8z152UFN3p/17L0mA+1+Eyu9zxumUi75BmXHJPXjuT4Hn5APMQic8ngth
0UVxZq/aOiso6RvyxeqeEBRW5S2QExZbXOKb3PQtK/w3FKkOR4X2JT3lStjB8Nrt
5yGdtXmwRe1oCaGwL6nPCrIQv+EZYnDN9I6eIdn4ZiWc2nceN9ShVN3vjDqyslZ0
Y/a+aqaIGMwAnCCEnL9SVcCa0x4f5WMZkrkFoiTiVuldjJjnjqljAU5SijOxSIkP
BlhhznnKqM4OMKB+sp7+sZodC9Wp5O1RqOfL0CK0+py//J3Ju6c=
=PXtU
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta10 (macOS 12.4+)
This is the recommended beta build for most users. Built on August 17, 2026.
[▾ Hide Changelog](<javascript:hideId('1837583421599752580')>)
Version 3.7.0beta10 was built on August 16, 2026.
Changes since 3.7.0beta9:
This version requires macOS 13 (Ventura) or later.
macOS 12 is no longer supported. Sorry for the
inconvenience!
New Features:
- Tab groups. Select tabs and gather them into a
named, colored group marked by a chip on the
tab bar. Groups stay contiguous, can be
collapsed and expanded with an animation, and
can be dragged as a unit within a window or out
to a new or existing window. A right-click chip
menu and a Firefox-style "Add Tab to Group" tab
menu let you rename, recolor, close, or ungroup.
Works on horizontal and vertical tab bars.
- Kitty terminal drag-and-drop (OSC 72). Programs
that speak the protocol can accept files dropped
onto the terminal window and can start a drag of
their own content out to other apps, including
across an SSH connection when using it2ssh.
- The left/right (vertical) tab bar can now be
made scrollable: turn on the new setting and
tabs that don't fit stay in the bar and are
reached by scrolling instead of the "More tabs"
overflow menu. This also works on horizontal
tab bars.
- The uv-based Python runtime is now on by
default. Newly created, imported, and migrated
API scripts get a faster, self-managing
interpreter instead of the bundled Python
runtime. You can still override this in Advanced
Settings, and already-provisioned scripts are
unaffected.
Improvements:
- A new per-profile "Use ANSI colors for marks"
setting (Profiles > Colors, off by default)
draws command-prompt mark indicators using the
color preset's ANSI blue, red, and yellow so
they harmonize with your theme.
- The Advanced Paste indicator now has a keyboard
toggle so you can switch a running paste between
waiting for the shell prompt and sending
keystrokes straight through, which lets you
answer a password or other non-standard prompt
mid-paste. Issue 5749.
- When a keystroke with a modifier matches no key
binding by character but does match one for the
same physical key (for example after switching
keyboard layout or when an input method changes
the character a key reports), iTerm2 now offers
to turn on "Interpret key bindings based on
physical key".
- The confirmation for closing a workgroup session
now warns that the rest of the workgroup, its
peers and their tabs, will close too.
- The ConEmu progress protocol's d state
(OSC 9;4;4) is now honored even when the
percentage is omitted. Issue 723.
Bug Fixes:
- Restoring a session whose saved working
directory no longer exists (for example a
network drive that is not mounted at launch) no
longer fails to relaunch the shell and silently
closes the tab. Issue 12955.
- Decomposed Hangul jamo are now recomposed into a
single cell instead of being split into separate
cells. Issue 3063.
- The 16th parameter of an SGR trigger is no
longer dropped by an off-by-one in the parameter
store. Issue 722.
- Toolbelt list tools (Command History, Recent
Directories, Captured Output) no longer draw
their rows at zero width when a window opens
with the toolbelt showing. Issue 12964.
- On macOS Tahoe dark themes, selected left/right
tab chrome is drawn at the tab's real height
again instead of a fixed cap-image height, so a
custom tab bar height looks right. Issue 715.
- The top-right session indicators no longer smear
while swiping between tabs.
- Fixed a window leak from the frame
canonicalizer.
- A workgroup no longer shows a blank pane when it
tears down while a non-main peer is on screen,
and a peer host's toolbar now refreshes after
its nested port is wired.
- Fixed word-boundary punctuation typos in the
default settings. Issue 720.
- Fixed two format-string bugs in logging calls.
Issue 712.
- Fixed various crashes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
c6abd726bf0b6d70276c801cc773e7b14766069a62262763ee10c6f279dbe867
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmqDaZcACgkQJiz+Xnka
vhuxoA/+L3ByTbOFZUqk9taTRbjoBgQ1XWqTKt8CPsF5eD1puzCBaZPlQTes/YyA
bsq0x+0hcrHhm3mNg4YShHbxnCuJ20tztl+XNFFM+EYozhbCutNwl1BL8AgmMpIi
zbQU+lUsssLYaitrRFW9SXut6H9RA1J9xz7bFRW/OJm/wDMpsaKXr5mS86iRYLdB
3BupMx6gMNt700iZCGx7Pn9BEeZqMYcq4ROtTl8Nu9cWKwMUbY2zlg9b/KYXu4tS
LcYwomvte8cndyL71XzjJPgxM8/8b21+KeggKIco8vZN8lvxX+hA1O4iezj75mOu
yElMQBo5+sQBRrBME4c+rXa/D1Ep/A3wUJWZFU1qRRz6NnlsEdn1IeV0VayW0SQF
NfWKpvdk9/Zk8Jus17PknMyhQPkVE3vgHc690hmgrQHzblNBuXXIO3sDrTD93OmE
L88acfhVd8qyfgotVU6K77ZWoCFDn+S9uVAaMYR8KFPW6RY7oFANChImW6SI2DyR
XkFU/nYn8bUhHk6ajF7z1PfMKC8ICQY4QAyQ6zJW7zPZRLQYKKCkLWSQluu0512J
0KcqjarYq5+5k3Z/PXexZGNOg7rN93tJCzveMwFSocWmAzJ6XJz35Q1N3bkpcjyJ
HbrvtoL55aPueNfKiorkGW06X2h4SF0rgiabTtoq4hEeoes82f0=
=3NVv
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta9 (macOS 12.4+)
This is the recommended beta build for most users. Built on August 3, 2026.
[▾ Hide Changelog](<javascript:hideId('3279691241249990275')>)
Version 3.7.0beta9 was built on August 3, 2026.
Changes since 3.7.0beta8:
Heads up: future betas will require macOS 13
(Ventura) or later. This is the last version to
support macOS 12. Sorry for the inconvenience!
New Features:
- iTerm2 > Suppressed Alerts is a new panel that
lists warnings you silenced with "remember my
choice" so you can turn them back on. For
example, answering No and checking the box on
the prompt that asks before displaying a
terminal-initiated image silently disabled all
inline images with no obvious way to undo it;
now you can find that choice and clear it. The
old "Always Show Alerts with Remembered
Selections" command moves into this panel.
Issue 12963.
- The manual AI model editor now offers one-tap
presets for OpenAI-compatible providers
(Ollama, OpenRouter, z.ai, Qwen, MiniMax) that
fill in the endpoint for you, plus a Test
Connection button that verifies your settings
and API key before you save.
Improvements:
- Web URLs handed to iTerm2 (by the OS as your
default browser, by "open -a iTerm2 ", by
Velja, or by vim's gx) now open in the built-in
web browser instead of launching a terminal,
unless you have bound the scheme to a specific
profile. If the browser plugin is not
installed, iTerm2 offers it once. Issue 12431.
- Right-clicking an auto-detected URL (the kind
⌘-click opens) now offers Copy URL, which
removes the hard line breaks from a wrapped URL
so a clean link lands on the clipboard.
Issue 12944.
- Right-to-left script support (bidi reordering
plus Arabic and Persian cursive joining) is now
enabled by default. You can turn it off in
Settings > General > Experimental. Issue 4361.
- AI chat history is now replayed to the model
from the exact bytes previously sent rather
than rebuilt each turn, so the prompt cache
stays valid across turns (including turns that
ran a tool) and long conversations keep getting
cheaper and faster.
- Added a Zero Data Retention setting under
Settings > General > AI. Turn it on if your
OpenAI organization has Zero Data Retention
enabled. iTerm2 then stops sending
previous_response_id and sets store=false, so
chats no longer fail on the second message.
Issue 12521.
- An AI chat linked to a terminal session can now
watch that session and tell you when it reaches
a described state or condition, without
polling. Previously only orchestration chats
could set watches.
- ⌘-click now linkifies very long URLs in full.
Previously only the first couple thousand
characters were clickable; the linkifier now
scans onward to the next separator, handles
internationalized (IDN) hostnames, and no
longer joins a URL to unrelated text across a
hard line break.
- When AI chat types into a terminal with the
insert-at-cursor tool, a newline is now sent as
Return so it submits the line in programs like
Claude Code instead of inserting a literal
newline.
- Preferences search now finds several Colors-tab
settings that were previously unsearchable,
such as Border around active pane, Use custom
tab color, and the light/dark color controls.
- The Script Console has a Clear Terminated
button that removes stopped script and
connection entries, so it no longer grows
without bound (and slows the app) when you
repeatedly restart a script. Issue 12942.
- A new tmux window opened with ⌘T now picks up
the profile's custom tab title, if one is set.
- iTerm2 now probes the local network on every
launch so macOS keeps it in the Local Network
privacy list. This recovers the permission
after a tccutil reset or an OS upgrade, fixing
commands like "ping 10.0.0.1" failing with "no
route to host". Issue 12956.
- Faster rendering of text with many colors (such
as syntax-highlighted code) by reusing
attribute dictionaries across color spans
instead of rebuilding one per span. Issue
12763.
Bug Fixes:
- Fixed a local privilege issue where the
orphaned-session server adopter connected to a
socket in a world-writable directory without
checking who owned it. A local attacker could
pre-create the socket and man-in-the-middle a
restored session, capturing keystrokes and
output. The peer's identity is now
authenticated before anything it sends is
trusted.
- Fixed a way for an authenticated Python API
client to exhaust iTerm2's memory by flooding
it with WebSocket ping frames while never
reading the replies. Inbound buffering is now
bounded and such a client is disconnected.
Credit to NSEcho.
- A sixel image whose String Terminator was
written as ESC ESC \ instead of ESC \ is no
longer discarded, leaving a stray backslash on
screen. The image now renders. Issue 12259.
- ⌘-click again opens files in JetBrains IDEs
(IntelliJ IDEA, WebStorm, Rider). iTerm2 now
invokes the IDE's launcher directly so the file
opens in the already-running instance instead
of silently starting a new one. Issue 12958.
- Toggling Caps Lock under the Kitty keyboard
protocol with "report all keys as escape codes"
no longer sends an "A". It now reports the Caps
Lock key's own code. Issue 12922.
- Fixed the Kitty keyboard protocol SET request
destroying the whole flag stack instead of
modifying only the current frame.
- The OSC 9;4 progress bar drawn in the tab is no
longer hidden by the active-pane border when
both are enabled. Issue 12960.
- In tmux -CC sessions with pane-border-status
set to top or bottom, panes are no longer one
row too tall (the bottom line went unused and
the cursor landed a row high after
reattaching). Issue 12925.
- tmux panes no longer receive stray focus-report
escape sequences when the server's focus-events
option is on. Focus reporting now turns on only
when the pane's own program requests it, so it
no longer pollutes the shell prompt or flips
bash's vi mode. Issue 12933.
- Make Screenshot no longer drops ASCII
programming ligatures (-> => != and so on) when
the profile and font support them.
- The Centered window style now looks and behaves
like a normal window (title bar, the close,
minimize, and zoom buttons, and the merged
chrome of the
Minimal and Compact themes), except that it
stays centered. It also no longer changes size
when you minimize and restore it. Issue 12918.
- A left- or right-of-screen window no longer
changes width when you add a tab whose profile
has a different width. Issue 12917.
- Split-pane dividers in different rows or columns
can now be dragged into alignment: a divider
snaps to a matching divider elsewhere in the
tab when it comes within half a cell, fixing a
sub-cell misalignment that whole-cell drag
steps could not correct. Issue 12932.
- Modified function keys (such as Shift-F5) no
longer lose their modifier in a tmux
integration (tmux -CC) session, which sent the
unmodified sequence instead of the xterm form.
Issue 10717.
- The suggested filename for Save contents no
longer contains colons or slashes, which macOS
rendered as "/" in the save panel and Finder.
Issue 12931.
- The command info popover's "Started at" time
now honors the system 24-Hour Time setting
instead of always using a 12-hour clock.
Issue 12929.
- Fixed several VoiceOver problems in the
terminal: QuickNav now engages without toggling
it off and on, content no longer goes stale
when output arrives during an interaction, and
the review cursor no longer jumps to the top.
Issue 12920.
- Reshaping a tab through the Python API's
apply-layout call no longer leaves the window
with no focused pane, so typing works without
first clicking a pane.
- Switching between the main and alternate screen
buffers no longer resets a manual key-reporting
choice when both screens report the same flags.
- Pressing Undo Close when the last closed
session cannot be revived no longer leaves an
invisible empty window behind, which also
crashed Python API scripts with a runaway
refresh loop.
- Fixed a black-holed companion relay connection
that could leave the Mac believing it was
connected for hours over a socket the relay had
already dropped. A keepalive ping that gets no
response within ten seconds now tears the
socket down and reconnects.
- A three-finger drag over an app with mouse
reporting on (tmux with mouse on, or vim with
mouse=a) no longer produces both the app's own
selection and a native iTerm2 selection at
once.
- Fixed various crashes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
959e5d7fa7ba5d7d6ce2803da223a6762a3e1e0e4535e1e4b1aae4332e19835d
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpxSyIACgkQJiz+Xnka
vhuAyQ//WM1WY/ZQl1A6bW7g60KSrqe0sFbhfG6y7T+sfp9a9RW5tNSBQRf2Junz
g2cJr6MbZDdlTiBNY1ZGxGJ0+OPgu6uSFi9g7IV4YtS4EUPutvNI/YPsPz5TXpmp
ceJitx5nMULwn/O0wegevUIeJACHKAV2w/GEm5nm3RGP5YBSqDNUZ101F5AihBqk
Ut1DVKjaIsiF6NEwuVDDnbn/9T3LW/ES8J3aozNKhPK2YDtM3+UoPy146kwyBfhn
ZV48n9P08BlUrP2olY9p3UCnsK4Fr7PzXRZAQvU7H7B5vpuWlaR96b8sjH7FBPLS
6gcbee0AcKjGM6H47eKMbUvcJAydb+R8nu2MehONA38R940p/Mo8EZl6ZaMZ72pi
OOnFGrMN8fB7dT2RLVTIxJKMABT1ib2Dnb6zDn0dWIstoqLxCE+UGoB5lTMhRpQz
9jMDOp5e2cfE7olwO21wl6Wg5M4MDRVJ8PIquKWZBv7US2kjqs7fylOhqqoNFpZO
K5eRIkRfv+5K6LEJwurH0cltn8puDfhhf85/UWhFckyXTaO2eYwSiSxqjx6gL2zJ
EAfa5Nr9QggC4UinhAUy+OV+CrigdQF6u0vjPuYKcW+XB3CHN3HXbjmMcUlS8EGe
xExqShEZuLWtlKDrtEwCeEvXhZN1OuvtkwxR6D/XvzXmbim6qK4=
=4q8g
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta8 (macOS 12.4+)
This is the recommended beta build for most users. Built on July 27, 2026.
[▾ Hide Changelog](<javascript:hideId('6724106964114906540')>)
Version 3.7.0beta8 was built on July 26, 2026.
Note: if you are beta testing the iPhone companion
app iTerm2 Buddy, you'll need to update it after
upgrading iTerm2 to this version.
New Features:
- The it2 command-line tool now works on hosts
you reach through SSH integration.
Improvements:
- Session-bound AI chats can now include your
terminal’s visible screen and state with each
message automatically, and read the screen on
request with the same get_screen_contents tool
the orchestrator uses (in a full-screen app it
returns just the current screen, with no
scrollback). The “View History” permission is
now “View Contents” and gates both. iTerm2 asks
once before it starts sharing your screen
automatically, so a permission left at “Always”
from an earlier version shares nothing until
you confirm.
- AI chat can now restart a session for you. The
“Type for You” permission was renamed “Control
Terminal” and now also gates this.
- An AI chat linked to a terminal session now
stays linked when the session’s shell restarts
(which happens often with the Claude Code
integration). Previously the link, its command
permissions, and orchestrator @-mentions of the
session were lost on every restart.
- AI chat orchestration is now much less chatty.
While it runs a loop (for example, waiting for
a Code Review to finish and then telling a
session to continue), it reports one line per
real outcome instead of narrating every step
and asking what to do next each time.
- Companion push notifications are now coalesced
so you get fewer notifications.
- The keychain permission prompt that appeared
after upgrading, for AI API keys and for a
paired companion device, no longer recurs on
every update. Those secrets now live in an
entitlement-scoped keychain group that stays
readable across signed builds. Upgrading to
this version prompts once more to move them.
- Tab dragging is smoother: Metal stays enabled
for normal drags, reorder slots switch near tab
midpoints, and split-pane drop targets are more
stable.
- Performance improvements.
- The retrospective debug log no longer
retains typed characters, command lines,
passwords, tokens, or AI chat content. These
could previously accumulate in memory even with
debug logging off.
- The screenshot window’s Copy to Clipboard
button now flashes a “Copied!” confirmation so
you get feedback that the image was copied.
- The settings search field again uses the system
focus ring on macOS 26.5.1 and later, where a
workaround for an earlier OS bug otherwise left
stray fragments below the capsule.
Bug Fixes:
- An AI chat linked only to a web browser now
uses a browser-appropriate system prompt
instead of one that described a terminal it was
not attached to.
- Fixed a memory corruption bug that could crash
iTerm2 intermittently, most often when closing
a tmux window caused surviving sessions to
resize while output was still streaming. Lazily
cached line-wrapping info could be written into
scrollback storage shared with another thread.
Issue 12941.
- Fixed a hang where a modal sheet (such as an
alert) whose parent window was destroyed before
it was dismissed left the main thread frozen in
the modal run loop forever.
- Fixed key reporting using stale flags after
switching between the main and alternate screen
buffers, which could leave modified-key input
wrong for some full-screen apps. Issue 704.
- OSC 22 pointer shapes are now honored while
mouse reporting is on, instead of always
forcing the I-beam-with-circle cursor. Added
the fleur, watch, plus, and minus shapes and
mapped X_cursor to the not-allowed cursor.
Issue 700.
- Fixed flag emoji (such as a country flag)
rendering as blank cells or flickering under
the GPU renderer. The two regional indicators
that make up a flag are now shaped together,
matching the non-GPU renderer.
- Command-clicking links in terminal output no
longer crashes when command-mark data is
unavailable.
- Hiding a hotkey window on macOS 26 no longer
briefly flashes background iTerm2 windows to
the front. The window now waits for the
previously active app to come forward before
ordering out.
- Global search no longer shows blank snippets
for results found on the main screen while an
alternate-screen app (such as a full-screen
TUI) is running. Snippets are extracted from
the same snapshot the search ran against.
- Fixed a case where a Claude Code workgroup pane
(such as Diff or Code Review) could close
itself when its command exited and take the
whole workgroup down with it. Spawned workgroup
panes now pin their end action so the profile’s
“Close Sessions On End” setting can no longer
flip them to close on their own.
- Re a diff session in a workgroup now
re-runs the command matching the file picker’s
current selection. Previously, if the file you
were viewing stopped having changes and the
picker snapped back to “All Files”, reload
reran the old per-file diff, found nothing, and
exited, closing the session.
- Fixed a black bar and off-by-a-row click
hit-testing when filtering, taking a
screenshot, or zooming lines in a session that
carries extra chrome such as the workgroup
peer-mode toolbar. Instant replay also restores
the window to its original size on exit.
- The built-in web browser now prompts for a user
name and password when a site returns an HTTP
authentication challenge (Basic, Digest, or
NTLM) instead of failing to load.
- A saved status bar layout whose RPC-provided
text component is missing its registration
request is now dropped instead of showing up as
a blank “ghost” cell.
- Fixed modified keys such as Ctrl-J and
Shift-Enter not reaching some apps (for example
Codex) running under tmux integration
(tmux -CC). iTerm2 now hands these keys to tmux
by name so tmux encodes them just as it does
outside control mode.
- Fixed auto-sending code review results to the
main session sometimes failing to submit
because the Return arrived too soon after the
paste. The Return now waits a moment (see the
workgroupAutoSendSubmitDelay advanced setting).
- If you never paired a companion device, iTerm2
no longer touches the companion keychain items
at launch, avoiding a spurious keychain
permission prompt for people who alternate
differently-signed builds (such as a released
build and one built from source).
- Fixed various crashes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
27c191988ba4c4854f500243ed4a98f86b6132327bc5b9e47788e56fca784010
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpnoWsACgkQJiz+Xnka
vhvT8w//eBiYkVnoHMGS1lW65xQEhUcVYXaGWmyRzaSnl/STmkN+s0a6RV0Eq3M9
fbAo/yUcBek2oZLnvc9yUK7h911EjuWtmvIkrbtwWmw48Jl0RtdWJkPj6brQSuEw
jd0TUsWcf4tJqBjHoGGxI6R3rTd4/S78I5ZroyfjOTb+JMsTSdVtITIlq9K8lBM4
ueEywtQdtqqkcXLGFzz4kxt1VlOwqd7uOHw1qxF/RvATdLUPxYa5bQuvPw8F2VfW
xHTWzToZrtCm9SgE7W5RxD0p8zqoiu3fwmqalbMzrUEBIC6eg8Y2V1lD/oMPlerR
OpLUUQJNo93DbpGgFlG5E5FHZEFAzHMBhG/a+xb+MIbYBvS+XXOt2Uv4jlFMFPi2
6eYCWso/TfgFNmXYdw/oS67ahmMry6tdF5lPxY/3cESpB+VG7RClvO+7GPFll0eG
cN7+9NyHKVWUoywQStBp16WVH57WDlwNewEa3JYa/voBbjz37mNwkkwCDeOHu0CD
3ew5aHgqeiYl4lHj7KXhXqgQ/0U1tnx0dCJBUvAnaEHfoinvRACuzvOmYAXr88d3
1B0PV8NR+t4F4UgxryIvXNzQ3nRb7aXDH5/B0Ruh2KqvD/NI8ZZjRJ4Cd+UBCnog
WXe6m0uY+4grBdzEv2iEWHMm7W1H1yIhym7GiT2sM+HafDwLD5g=
=8rWi
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta7 (macOS 12.4+)
This is the recommended beta build for most users. Built on July 15, 2026.
[▾ Hide Changelog](<javascript:hideId('840503577950231849')>)
Version 3.7.0beta7 was built on July 15, 2026.
Note: if you are beta testing the iPhone companion
app iTerm2 Buddy, you'll need to update it after
upgrading iTerm2 to this version.
Changes since 3.7.0beta6:
New Features:
- Added support for multiple AI providers at
once.
- AI orchestration now safety-checks everything
the agent does in a session, not just once
when you first approve the session. Commands
it runs, commands it types at a shell prompt
and submits, and keystrokes it sends into a
full-screen program (vim, less, a coding
agent, and so on) are each judged against
what you asked for. The check no longer hard-
blocks anything: a scary-but-legitimate
action, such as deleting a directory you just
created, is held for one-tap approval instead
of being refused, while a real root or home
wipe, or an unrequested dangerous command,
stops to ask first.
- Code Review sessions in a Claude Code
integration workgroup have an Auto-Send
Clippings When Idle toolbar toggle. When on, the
review session’s clippings are pasted into the
workgroup’s main session each time the review
finishes. The Claude Code workgroup’s review
peer includes it by default; the toggle
itself starts off.
- The main session in a Claude Code integration
workgroup has a companion Auto-Request
Review When Idle toolbar toggle. When on, a
code review is requested from the workgroup’s
sole code-review session each time the main
session goes idle. It is disabled unless the
workgroup has exactly one code-review
session. The Claude Code workgroup’s main
session includes it by default; the toggle
starts off.
- Chats can now be muted from the iTerm2 Buddy
app. A muted chat sends no push notifications
to the phone, even for permission requests,
until it is unmuted. The muted set is
remembered on the Mac so it applies even
while the phone is unreachable.
- When you load settings from a custom folder,
snippets, global notes, and session icon
customizations can now sync along with your
other settings. Because notes and snippets
can hold sensitive text, iTerm2 asks once
before including them. If the same item
changed both on this Mac and in the folder,
it asks which copy to keep rather than
overwriting your changes.
Improvements:
- The built-in AI model list is now data-driven
and refreshes in the background, so new
models appear without updating iTerm2.
- AI chat messages have a cleaner layout:
proposed commands, command output, and
terminal-command transcripts now render as
rounded Markdown code blocks, and
orchestration tool calls show as command
blocks instead of raw session GUIDs and JSON.
The chat list can be hidden and shown without
reopening the window, and history entries can
be selected in groups and deleted, or renamed
in place.
- The Companion app’s live video feed now
scales its bitrate to the window’s
resolution, so large windows stay sharp
instead of being pinned to a fixed low rate.
Very large windows trade frame rate for
sharpness so bandwidth stays reasonable.
Advanced settings can tune the bitrate
multiplier and the flow-control thresholds.
- A Diff workgroup session now waits to run its
diff until you first switch to it, so the
diff reflects your changes at that moment
instead of from whenever they first began. It
is not re-run when you switch away and back.
Bug Fixes:
- Smart tab-title truncation no longer flickers
between head and tail truncation when a tab
title begins with an animated status glyph
(such as a Claude Code spinner). The glyph is
no longer counted when deciding which end of
the title to truncate.
- Session Status tool: with “Merge workgroup
statuses” on, a merged row now shows the
status of the peer you’re actually looking at
(the visible peer of the switcher) instead of
whichever peer changed most recently. A busy
code-review peer holding a steady “working”
status no longer loses the row to a sibling
chat peer the moment it goes idle.
- Tab subtitle: when a tab is split into
multiple panes, the status of the pane you’re
focused on now drives the subtitle instead of
a background pane winning on status priority.
A focused pane with no status falls back to
the highest-priority sibling pane.
- Code review and diff workgroup sessions now
restore showing their last output instead of
launching a stray replacement shell when the
original program is gone. The code review
prompt panel reappears only if it was open
when you quit, and its reload button
remembers the prompt you last submitted.
- Session restoration no longer breaks when
iTerm2 receives a signal (such as ^C when it
was started from a terminal): the background
process server is now insulated from signals
sent to iTerm2, so your running programs
survive to be reattached on the next launch.
- Fixed a rare case where a Claude Code
workgroup was torn down even though its
claude process was still running, due to a
momentary misread of the foreground job
ancestor list.
- The Claude Code integration’s session status
now stays “working” while background agents
or tasks are still running, so AI chat
watchers no longer fire during the idle lulls
between subagent phases. Requires Claude Code
2.1.198 or later.
- AI chat: fixed a race where a streamed tool
call could be dispatched with empty arguments
when the response completed before its
argument chunks were consumed. The agent
would loop retrying the same call, and the
turn could end with an empty message.
Finalization now reconciles against the full
response body.
- AI chats reopened after a restart now replay
their tool-call history to the model
faithfully. Reasoning state (OpenAI encrypted
reasoning, Gemini thought signatures) is
saved with the chat and replayed, so
reasoning models no longer reject reopened
chats or invent fake tool results. A chat is
also locked to the provider it started with,
and messages sent from the iTerm2 Buddy app
run on the chat’s own model instead of the
global default.
- The AI chat wire log now redacts API keys in
request headers, URLs, and bodies, keeping
only a short fingerprint.
- In AI orchestration, pressing Stop now halts
the whole pipeline: it cancels the in-flight
reply, drops any queued turns, and cancels
the chat’s registered watchers, so a session
going idle can no longer restart the loop
after you asked it to stop. A message you
type also jumps ahead of pending status
updates instead of waiting behind them.
- Closing the inline AI chat panel now returns
keyboard focus to the terminal.
- Switching to a Diff peer for the first time
now keeps the terminal focused once its
command starts. Previously keystrokes went
nowhere (and beeped) until you clicked the
terminal.
- Companion pairing now retries with capped
backoff instead of reconnecting (and, during
pairing, regenerating the QR code) many times
per second when the relay is unreachable, for
example because of a bad TLS certificate.
Connection failures during pairing now report
the underlying error instead of an unhelpful
generic message.
- The iTerm2 companion relay servers moved to
new addresses. If you paired an iPhone on an
earlier build, iTerm2 now asks you to pair it
again so it keeps working.
- Companion: when the relay hits its daily data
limit, the Mac now shows “Daily relay data
limit reached” in Companion settings and
backs off instead of retrying in a tight loop
until the limit resets.
- When a companion device is paired, your AI
API keys are now loaded at launch, and when a
phone pairs, so a query sent from your phone
while you are away never has to prompt for
keychain access. Opening Settings no longer
reads the keychain or prompts for access.
- SSH integration now loads shell integration
for a remote login shell running bash or zsh.
A remote /bin/bash is injected (only macOS’s
own un-injectable /bin/bash stays excluded),
and a remote zsh login shell no longer starts
with its integration skipped because of a
double shell wrapper.
- Fixed various crashes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
f9ee89ae4d74d0f15b10c40891627ccaf1a24bef3055c01b6f6288026d5ea38f
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpX+CMACgkQJiz+Xnka
vhsOPQ//Z3kWFAv0HNRYUveHJjkW5EOu3FCsTfVZvYFYjhe5a38AHN+zVodMfc/R
JgEKNOMWwoTBHE0wTUFaJObYUg+NYRd19bYnb5QvKd88BKHG0XIGTin3PaJCjvQ7
p2rO4XMnpurIRcuvuTG0V38ZM+6Kt55tn6BEPn4GRPjtQzHI+81BtZVzDSdprg+9
Nrvj1P/ReQx51MwkIt8tEBhrhn1vxGtiw0Ryi6OUOJqCS/jW0/hT8miFtMF/D79A
BkUR6ZLYvCM8Y0bl6ZuFv7EIjXMOdfltPMm8PNBab319ZLxRvJLWgitZq46xNDsU
SoJ7fbN29WU3ONcUwV6Cde7LYmljD/FEp4OXvPpMN/d+DxAZ3rm8yiXqaNfAykTw
pJxUdaUJeIF1lU9xAjK4ksEyPJ//QRwKSbNHC5yNzYA6J9c9pd0ChaJwQB23gFLo
QkWBcA3DO/zW4QFxmNVOj/F1HOpcN3/G+QkpWqZfd+sL9saRKqj0C/tzOkv+jVTV
8ygZOKn3figoexXg1kU6ukYd7pQV2CEvn5A7NuJccpGNU1KjLHoJWp2+MHrGMuLN
VTc3raNbsziCb2rtLRbUGGu11M9THiZluoEPkU7vQ7kSPYEn9ees1ujr5MoG7bTd
8aHbZdnjfeUWStcHPhOoMJC+dq5te0IYoBydfmwG0eugr9/FrBo=
=a7Ay
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta6 (macOS 12.4+)
This is the recommended beta build for most users. Built on July 3, 2026.
[▾ Hide Changelog](<javascript:hideId('9163278627142664422')>)
Version 3.7.0beta6 was built on July 3, 2026.
Note: if you are beta testing the iPhone companion
app iTerm2 Buddy, you'll need to update it after
upgrading iTerm2 to this version.
Changes since 3.7.0beta5:
New Features:
- The iPhone companion app, iTerm2 Buddy, can now
stream to your phone as video, so you can watch
output live, scroll back through history, zoom,
and select, copy, and paste text, without
re-implementing the terminal on the phone.
- Push notifications to iTerm2 Buddy now use
end-to-end encryption so Apple can't see
anything about them.
- Companion app setup was made hopefully simpler.
- The Make Screenshot window has a new “Save As…”
button to choose where the image is saved,
alongside the existing Save button that writes
to your configured location.
Improvements:
- The iTerm2 Buddy iPhone app now supports
landscape orientation.
- Settings > Keys > “Force keyboard” can now
force the keyboard layout only once per
session, the first time a newly created
terminal receives keyboard focus, instead of
continuously. This lets you switch layouts
within a session without iTerm2 snapping it
back. Restored sessions are not affected.
- A new iTerm2 > Save Retrospective Debug Logs
menu item writes recently captured low-
frequency diagnostics to a file you choose,
even when debug logging was never turned on.
- Launching processes no longer briefly blocks
the main thread, since child processes are now
forked on a background thread.
- Newly downloaded Python runtimes are now
ARM-only on macOS 27 beta and later.
Bug Fixes:
- Updated the bundled libsixel to fix a security
vulnerability in SIXEL image decoding
(CVE-2026-44637).
- tmux integration now parses pane state
correctly on macOS 26 and later. A new system
NSString method had shadowed one of ours and
caused numeric fields to be dropped, which
could also crash.
- Fixed a crash in Replace Selection (for
example Replace with Pretty-Printed JSON) when
the replacement had more lines than the
selection. Saved locations inside the replaced
region are now invalidated instead of drifting
onto unrelated lines.
- SSH integration now runs the ssh command
through your login shell, so a custom
SSH_AUTH_SOCK (pointing at an agent that holds
your keys) is honored. This fixes “Permission
denied (publickey)” failures that only happened
with the SSH command type. Issue 12909.
- Fixed dead-key composition (such as US
International apostrophe then e) losing its
accent under the Kitty keyboard protocol when
both “report all keys as escape codes” and
“report associated text” are enabled.
Issue 12906.
- Fixed OSC 8 file:// hyperlinks whose path mixes
percent-encoding with raw non-ASCII characters
(such as ripgrep’s --hyperlink-format=file
output) opening the wrong file. Issue 12914.
- Fixed a dashed underline on screen, with
ligatures enabled, making box-drawing lines
(such as a TUI input box) render dashed instead
of solid. Issue 12907.
- On macOS Tahoe the tab activity/progress
indicator now draws as a ring around the
pill-shaped tab instead of a bar that crowded
the tab title and status text.
- OSC 9;4 progress bars now draw over the
profile’s background color instead of a fixed
black or white background, so they blend with
your theme. Issue 12916.
- In the Minimal theme, when panes in a tab have
two or more different tab colors, each pane’s
title bar is now tinted with its own tab color
so you can tell them apart. Issue 12903.
- Saved and copied screenshots now fill margins
and other uncovered areas with the session’s
background (including a background image)
instead of leaving them transparent.
- Fixed dead space in tabs when tab numbers are
hidden.
- Lock Layout is now enforced more thoroughly.
Opening a URL or file that would split or add a
tab to a locked window now opens a new window
instead, and menu items for blocked operations
(split, close, move, swap, and duplicate) are
disabled.
- AI orchestration chats now handle full-screen
apps that use the alternate screen (such as
Claude Code): they read the current screen and
can use a new scroll-wheel tool to page back
through the app’s own history.
- Fixed oversized gaps between messages when the
inline chat panel first reveals an existing
chat.
- Reinstalling the Claude Code integration now
corrects a stale cc-status hook path left
behind by a named instance.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
5970f32cf603536ab82927b25d4e26e49ab8322522022c084ff4663d8ad5950e
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpIC/IACgkQJiz+Xnka
vhtIOg//X4BCbarbxmzu1WI+Y4Gp57Ls4HwOlyHvu1WcpgMCiXDNyGjvQBJYlGMt
3ySCOec9FJfSUcERoprdDdEfDjPffOLhg/AD4FvbmfYG3svdHr8lrbie1gxzXb3N
PPYJnXHRebvcfdq1XC5+2Ybpd8ejbnXumf80xavCHbujHX7KBkIZVGkNkeonwsLs
4ws0PxxmhkNTJoonelYb73m/7LVhRWBw1Pq4UOclffFsCtlr4RzlpEIKB73IKdHV
cMX/cEch0IC/Mc+1DX37ubd2nDrNUQp0U4UWNOtzIMJXLnKJw2nviToNKgpPgCKa
dDu4VQ8ZHZXpSD3R2HcaH1zDLza5hyjK93zW7oi9gK7LMQPKQBkY0wp0vEsUdL66
AhtnA7nju7ewLl9y7L/8eghrXISxi4rOlfgGKo9BTOfpbwW4eBUBVRvJjQMmSCRX
6+xr8b6qxUiuIs9T8+dUGA/dF3EfgJ7y+3gvZWwXXc1qJgrOj1ReBlnusxIBoErr
WhHVMyUSmlMJJ5w7xzxZEk4Z3LlXgmfcb6Cnw5NeytVgaWxZn66xbsQNynL85C78
lvxut0eebc8YNnQJZDd3HZ2RLNA74VCWBrjqSHGFYth65mZLmfRhLLzQSvhEO+2G
wG74cV9ObBXFAaondxDAnY7esC967jUWxEgP3jtQteCF1bZax8E=
=3BR6
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta5 (macOS 12.4+)
This is the recommended beta build for most users. Built on June 23, 2026.
[▾ Hide Changelog](<javascript:hideId('3294460061045575927')>)
Version 3.7.0beta5 was built on June 23, 2026.
Note: if you are beta testing the iPhone companion
app iTerm2 Buddy, you'll need to update it after
upgrading iTerm2 to this version.
Changes since 3.7.0beta4:
New Features:
- Blinking cursors can now fade smoothly in and
out instead of toggling abruptly. Turn on
“Smooth blink” in Settings > Profiles > Text,
where you can tune the fade-in and fade-out
durations, easing curves, and how long the
cursor stays fully visible and fully hidden
between fades. Off by default.
- The status bar can now draw a separator line
between itself and the terminal content. Turn
it on in the status bar layout’s settings.
Improvements:
- The job name shown in titles, the session
icon, and automatic profile switching now
reflects the foreground job actually attached
to the terminal, hiding helper subprocesses
that run in the foreground process group but
are piped to their parent (for example an MCP
server spawned by claude, or caffeinate). The
raw deepest job is still available as the
deepestJob variable. Note that automatic
profile switching now matches the tty-attached
job, so a rule keyed on such a helper name
will no longer fire for it.
- You can now choose where tmux windows created
outside iTerm2 open: a new window, the focused
window, or the topmost window already hosting
that tmux session.
- Terminal-initiated downloads (it2dl) now ask
whether to save to the Downloads folder or to
choose a destination. The choice is
silenceable, so you can always save to
Downloads or always show a save panel.
Issue 12897.
- Added Edit > Marks and Annotations > Annotate
Selection, so annotating a selection can now
be given a keyboard shortcut. Previously it
was only on the right-click menu.
- In an AI orchestration chat, @-mentioning a
session or workgroup now grants the chat
standing permission to control it, so the
agent acts there without the one-time approval
prompt. A notice with a Revoke button lets you
take the permission back whenever you want.
- Anthropic prompt caching now also covers the
conversation history, not just the system
prompt and tools, so long chats reread the
earlier turns from cache instead of paying
full input price every turn.
- Right-click a row in the Session Status
toolbelt tool and choose Snooze to move it
below a divider at the bottom of the list
and dim it. A snoozed entry un-snoozes
automatically the next time its status
changes.
- The inline chat panel now has a toolbar to
create a new chat, switch chats, open the
session/link menu, and hide the panel. New
inline chats ask whether to link to the
session or become an orchestrator instead
of linking automatically.
- Chat lists now mark orchestrator chats with a
wand glyph. The inline chat switcher bolds chats
linked to the current session.
Bug Fixes:
- Fixed a bug where a pane could restore in your
home directory instead of its previous working
directory after restarting iTerm2. Sessions
that used automatic profile switching saved a
value that could not be read back, which
silently dropped the rest of the restored
session state.
- SSH integration no longer leaves Ctrl+C unable
to interrupt programs on remote hosts whose
Python is older than 3.7 (e.g. CentOS 7,
AlmaLinux 8). The login shell handoff was
leaving signal generation disabled on the tty.
- The heavy window border now has a uniform
width: its corners no longer look thinner than
its edges or pick up semi-transparent pixels.
It is now drawn entirely inside the window
instead of straddling the window edge.
Issue 12882.
- The session-logging and archive folder pickers
now use the folder you select rather than its
parent when you don’t open it first.
- Clicking a notification posted by a background
tab of a dedicated hotkey window now selects
the source tab and pane instead of leaving the
previously-selected tab in front. Issue 12902.
- A full-screen program that does not use the
alternate screen (such as Claude Code) and
repaints from the top no longer overwrites a
fold above the cursor. The fold is scrolled
into history instead of being clobbered and
left with an orphaned unfold icon in the
margin. This works even without shell
integration installed.
- AI chat with DeepSeek no longer fails with an
“insufficient tool messages” error after a
tool call that was interrupted or left
unapproved.
- The AI orchestrator’s get_screen_contents tool
now marks faint text and the cursor position.
Inline shell suggestions and ghost completions
are drawn faint, so the agent used to mistake
a suggestion for a command you actually typed.
- An AI orchestrator watcher waiting on a
session’s reported status no longer hangs
forever if that status gets stuck. After five
minutes without the expected change it falls
back to reading the screen to confirm the real
state.
- OpenAI prompt caching is more reliable: the
Responses API request now sorts its JSON keys
so the cached prefix stays stable.
- Restoring a window with an open inline AI chat
panel now reopens the panel on the chat it was
showing, instead of widening the terminal.
- The companion device no longer triggers a
keychain confirmation prompt when it connects
or when a notification is sent. The paired
identity is now read once at launch, while you
are present, instead of mid-connection.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
988deba4b2944a6ddabebe6ad104c780703af6d3b27b55fffc3f2019cac3b5f5
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmo7bfAACgkQJiz+Xnka
vhutbQ//ThBbmlMOox50AdYkKnpiHhTgARpXB+AleDJolDZapzo57EPx3F+ZQaTC
n3a4QH5kSQcIy5OXUz3XzCXxRaAdHZ5P9mcl+eb0XqPNujagwWhfjoPCUjkj3jQS
rk8rhFMchvfz91ZFKmstn5POzxjO/zHcmXeRswSd+wTaitLSZs6qv4MAhdzeW0WO
NWGi3Mza7zuSGzuLj04nBZGnWeJ2+f0flzKxKnkJMUgk9tw0sih6aD9SDLzJ1XkD
ENuqDM81HdqmFDYseVSC453p2xw46JmJziGPU0CF0qzjGU/C75qnrz3UiEuzLZEM
7AC1R/v5T8Jt4/UPwhjhi9RCwm3s5obg+9PwIW83O7iqUuMlL9/CwwdBDyHVTY/V
gUxoeQNW/9kuP3/eixKAHuBIZhIUtJf4v8CN/7DSMn8fV1+9tanmKNgx7SDUvHwE
LHvYiJwqsSYfxCdmDuCnl3cRyRWeduaZ2DouVut4fHyYtcU3Dql7V0Fsvx733IgT
qw3/I9nwFrQtifYnvYPe+Uixg7DIp7pZjJy7vOAn/F53fGR3fKjzVf0GuWGCTZ8R
+Nfa+wDeEcuhvClT7IRNmB3PYfCV6eUyh/qn7fTGqJU1SzRXPKoH5hDd6Nbs+bGc
64b4EnK2YJFAXBr7eoQToqikTFnLUDP/ktlRvfWAMZ0jXwtgpvo=
=OfUq
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta4 (macOS 12.4+)
This is the recommended beta build for most users. Built on June 18, 2026.
[▾ Hide Changelog](<javascript:hideId('6709322144079320568')>)
Version 3.7.0beta4 was built on June 18, 2026.
Changes since 3.7.0beta3:
Major New Features:
- Companion App: the new iOS app, iTerm2 Buddy,
is now functional. Pair your Mac with your
phone by scanning a QR code (iTerm2 >
Companion Device Settings). Devices connect
through a relay using end-to-end encryption, so
they work even when the Mac and phone are on
different networks, and end-to-end encryption
ensures your data is visible only to you. From
your phone you can interact with iTerm2 via AI
chat.
New Features:
- New Lock Layout menu item (in the Window
menu, next to Lock Size) that freezes a
window’s layout: it prevents splitting,
adding or closing tabs, reordering tabs,
closing or dragging panes, and moving panes
or tabs to other windows. Resizing panes,
opening new windows, and closing the window
still work.
- A new Variable Changed trigger match type
fires when a named session variable changes
to a value matching an optional regex.
- A process inspector popover was added to the
Jobs view (toolbelt and status bar popover).
Hover a row to see the full command as a
tooltip, or press space to open a popover
with the full command, process ID, start
time, working directory, environment
variables, and a list of open files and
network connections.
- Chats in the AI chat list now get an icon
drawn by your AI model from the chat title.
Chats without one show a default icon. The
prompt can be edited in Settings > General >
AI > Prompts.
- You can @-mention terminal sessions in
orchestration chats to bring them into the
conversation.
- The Session Status tool can notify you when a
watched session or window changes status. The
alert offers a Reveal button that jumps to
the session, and the same control is now
available in the Cockpit and the Window menu.
- The Session Status tool can merge workgroup
statuses, collapsing each workgroup into a
single row that shows its highest-priority
status.
- The Python API’s create_tab can now create a
tab in the background. Set select_tab=false on
CreateTabRequest to add a tab without
selecting it or raising its window.
- App.async_apply_layout can now create
brand-new sessions in place via new_session
leaves, instead of only rearranging existing
ones.
- A new window.title variable holds the
rendered window title, alongside the existing
session.presentationName and tab.title.
Improvements:
- The default AI request timeout was raised from
30 seconds to 5 minutes.
- The AI command safety check now uses your
configured AI model. It runs deterministic
terminal rules first and only asks the model
when those rules cannot decide. Because it can
send commands to your (possibly cloud)
provider, it is opt-in. Users who already
enabled it keep using free on-device Apple
Intelligence and are asked once whether to
switch to their model.
- Auto-approved AI tool requests are now
persisted instead of squelched, so they
survive re a chat.
- AI models were updated. Support for Claude
Opus 4 was removed and the latest models were
added; temperature is omitted for Opus 4.7
and newer.
- Orchestration chats auto-approve safe session
spawns, render tool-call activity inline, and
show @-prefixed session and workgroup ids as
name links. AI chat now offers orchestration
when there is no session to link.
- The Claude Code setup wizard has clearer
navigation and highlighting.
- The code review overlay now defaults to the
last-used prompt when reloaded.
- Workgroup peers are persisted and restored
across app restarts. The peer switcher spins
an activity indicator while a peer is working,
and the Workgroups settings pane gained a help
button.
- The Cockpit can watch statusless sessions by
observing their screen, shows session detail
under the name when grouping by status, and no
longer dims when it loses key status.
- The Settings window title now shows the suite
name when running a named instance.
- The Git diff menu excludes untracked files
from its per-file statuses.
- Automatic text substitutions are now disabled
in the AI chat input field.
- Auto-launched API scripts no longer warn about
__pycache__ directories, and context menu
items registered via the Python API are now
sorted by display name for a stable order.
Bug Fixes:
- A key bound to “Bypass Terminal” now reaches
macOS for function, arrow, and numeric-keypad
keys, so global shortcuts in other apps work
again. Issue 12884.
- A live filter no longer drops content that
arrives while it is mid-search.
- A tab no longer shows a stale or missing
session status when a pane carrying a status
is closed, moved between tabs, or reparented
(for example by entering or exiting a
workgroup).
- Fold All and Clear Buffer no longer leave
portholes behind.
- Copying selected text from a porthole now
works in apps that prefer rich text, and
clicking a porthole in an inactive split pane
now activates that pane.
- Next Pane and Previous Pane work again while
maximized after restarting a session.
- The grid and scroll view are now re-fit when
entering or leaving instant replay.
- The Jobs toolbelt is now populated immediately
for restored sessions.
- Installing or uninstalling the Claude Code
integration now persists its trigger changes,
so they are no longer lost on the next launch.
- Fixed a threading issue in AI chat streaming.
- Fixed several low-risk crashes seen in 3.6.10
reports.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
43c73cd11485a95f2653321d44de61e93d5c9af874b1414471146c8edf42af70
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmo0ioQACgkQJiz+Xnka
vhu1oBAAlLFd7l+80kpqg23cuYi38Kt1WEkBChpIpDzf5CrX+Es2aZk7ipGmvtRP
p+zqq+rwqUofdaFcOdaU0kD01c55EC6FDLiiKyZ3quKnXVtzs3yaN3FE7wfUZDxB
ke5VZ7T4fUbg+3HdGV0ZwJ3Z3NJCblZiLU8TIXRctRJcR7fPI/mKtxka8T/V9k+z
LLYL8jWS9QSVk9y25W1d+gRvQ5X0MKScSFJiZQO7iuQfxIbpxzCUi0Bv2dMnpb84
oV7myh02Lg6uTctonlbNGXw5W60grHWEO4BhHFr1JhIkoPnTk6Jjq19JksOtjBMe
0EunBg2stYwtzDNASxSYigQEW8C/NBZLsrMK4Dy4ijfq2Ei+Tqg7lGN0HqyN6zyw
sno9Yb4B5EAVBVt2vfaPx88M0eNr13n2lkt1prE8J5yHO+NUJUuHFqkSbcfxFSHn
omC8MVSkBjjn9MbKrd55yf7oSf0X5tBn6aVo/coO+eI+2HRENEg+/dTXGE/xP0XX
z2ncGPS65gUDXGo44L0Xwxqm5WbEtnlZjV22cEpzCD+0s/Ei5SBBYAGTBjdkqoFj
zM8e6IYx+pokBfT1Bd3iqwFT54u1MSx1bVNX2obFqJ2mzI9cL+TjcTKO1GFagxYc
evRx0sL6C4Z3Q4OW7MuPl1tNB3oH7VbmS9DNCrQh8ioVNtqxIOw=
=v1w4
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta3 (macOS 12.4+)
This is the recommended beta build for most users. Built on June 2, 2026.
[▾ Hide Changelog](<javascript:hideId('855288397969817901')>)
You can use the following to verify the zip file on https://keybase.io/verify:
Version 3.7.0beta3 was built on June 2, 2026.
New Features:
- Tabs can now be placed on the right side
of the window.
Improvements:
- Undo Close now has the ⌘⇧T shortcut. Show
Tabs in Fullscreen moved to ⌘⇧U.
- Sending or copying clippings now prefixes
each one with its title in bold Markdown and
separates multiple clippings with a
configurable string (default is a line of
two dashes). See the Clipping Separator
advanced setting.
- In a workspace session of type code review, the
system prompt is now editable in Settings >
General > AI > Prompts. It defaults to the
bundled prompt and is passed to Claude Code at
launch.
- Clippings now keep history. An archive
button in the clippings panel snapshots
the current list and clears it; back and
forward buttons walk the history. The
new `it2 session archive-clippings`
command and matching `iterm2.archive_
clippings` API call do the same. Claude
Code reviews now automatically archive
before each pass, so each review starts
with a clean list while old findings
remain reachable.
- The clippings and inline AI chat panels
can now be resized by dragging their left
edge. The chosen width is remembered per
machine.
- Closing a pinned tab now requires
confirmation, whether via the close
button, middle-click, ⌘W, or quitting
the app. The dialog identifies the tab
as pinned so the prompt is clear.
- The Cycle Tabs Forward and Cycle Tabs
Backward key actions now have a help
button explaining their tap-vs-hold
behavior.
- Add DeepSeek v4-flash and v4-pro models.
- DeepSeek v4 thinking mode is now supported.
Toggle the lightbulb in the chat toolbar to
enable. Reasoning summaries appear live in
the conversation and round-trip correctly
on multi-turn tool calls (fixes a 400 from
the API when reasoning_content was missing).
- The “Configure AI Model Manually…” popover
now has a section for custom HTTP headers
that are appended to every AI request (chat,
vector store, and file upload). Useful for
proxy auth or routing tags. Custom headers
override built-in headers with the same
name. Values are stored unencrypted in
iTerm2’s preferences.
- PDF chat attachments now work on Anthropic.
Previously the bytes were mangled into a
UTF-8 approximation; PDFs are now sent as
native document content blocks. The chat
attachment picker also disables files the
current AI provider cannot accept, and
rejected drag-and-drop attachments now show
an explanatory alert instead of vanishing
silently.
- In ttmux, the per-pane modifyOtherKeys state is
now restored on attach (using tmux 3.5+’s
pane_key_mode format), so reattaching while nvim
or another app is running keeps the correct key
reporting mode active.
- Open Quickly now uses recency as a
tiebreaker, so the session list (whether
the query is empty or matches several
panes) is ordered most-recently-used
first across tabs and windows. The
current session is omitted from results
since it is never a useful jump target,
so Cmd-Shift-O followed by Enter now
jumps to the most-recently-used other
pane. A new preview side panel shows a
snapshot of the highlighted session.
Open Quickly can also be assigned a
system-wide hotkey in Settings > Keys
that works while another app is in
front, without activating iTerm2 until
you commit a selection.
Bug Fixes:
- iTerm2 no longer spuriously offers to reset
terminal state or restore the tab and window
title when the local hostname changes (for
example when mDNS renames your .local host)
or when you run sudo. Any two localhosts are
now treated as the same host.
- AI chat no longer fails with a tool_use_id
error after an auto-approved command. The
tool call was dropped from saved history
while its result was kept; the prompt is now
repaired when reloaded, healing chats saved
by earlier versions too.
- Session notes now keep their distance from
the top-right corner of a session when it
is resized, instead of from the bottom-left.
- A tab no longer shows a stale or missing
session status (such as “waiting”) when a
pane carrying a status is closed, moved
between tabs, or reparented (for example by
entering or exiting a workgroup). The tab’s
aggregated status is now recomputed whenever
its set of sessions changes.
- Full-screen programs that don’t use the
alternate screen buffer (such as Claude
Code) no longer destroy on-screen content
when, on startup, they move the cursor to
the top of the screen and repaint over it.
The visible screen is now scrolled into
history first. Requires shell integration.
- The “taking a long time to check state
restoration” prompt no longer appears so
readily right after login, when the system
is busy and disk I/O is slow. The integrity
check timeout is now extended in the first
ten minutes after boot, the prompt's
wording is friendlier, and it defaults to
continuing rather than discarding windows.
Issue 11809.
- Editing a color in a color well no longer
silently switches the picker from sRGB to
P3 (or back). The color space the well is
showing is now preserved across the edit
roundtrip. Issue 12720.
- The Python API server now takes an
advisory lock on its socket directory at
startup. A second iTerm2 instance sharing
the same application-support directory
(e.g. two non-suited copies launched from
different .app bundles) will refuse to
start the API server instead of silently
unlinking and rebinding the original
instance’s socket.
- Localhost detection no longer breaks when
your computer's hostname changes (for
example after switching networks). Whether
a session is on the local machine is now
recorded when the host is first reported,
rather than recomputed later by comparing
names. This fixes the git status bar, the
workgroup diff list, opening local files,
and uploads/downloads going stale after a
rename.
- Pressing Enter to commit an IME
composition (e.g. Chinese, Japanese,
Korean) in the AI Chat input no longer
prematurely submits the unfinalized
candidate text.
- Open Quickly now updates the MRU order
when you jump to a session, so repeated
Cmd-Shift-O Enter cycles between the two
most-recently-used panes instead of
drifting onto a sibling pane that
happened to be active in the destination
tab. Issue 12799.
- Open Quickly recency now strictly follows
focus order. Jumping to a pane no longer
bumps the previously-active sibling in the
destination window, and structural changes
(closing a pane, splitting, restoring) in
background windows no longer reorder the
list, so Cmd-Shift-O Enter reliably
toggles between the last two focused
panes. Issue 12799.
- OSC color overrides (foreground, background,
cursor, selection, palette, and the iTerm2
SetColors variants) now survive macOS Light
/ Dark appearance switches and toggles of
the separate light / dark colors profile
setting. The override is written to every
appearance variant of the profile key so
it persists until OSC 110/111 or a manual
reset clears it.
- The Cockpit orchestrator’s send_text tool
now routes payloads containing control bytes
(ESC, Ctrl-C, etc.) as raw keystrokes instead
of bracketed pastes. The previous wrap turned
embedded control bytes into literal pasted
data, so e.g. sending ESC :q ENTER to a vim
session inserted “^[:q” as text instead of
quitting. Pure prompt-style text still goes
through as a paste, as Ink-based TUIs expect.
- Showing the clippings panel in a window
zoomed to fit the display no longer grows
the window horizontally. The tab content
area absorbs the panel’s width instead,
mirroring the toolbelt’s behavior.
- The Install Claude Code Integration intro is
now presented as a real sheet attached to the
installer panel, rather than a subview
overlay. Enter now correctly activates
Continue instead of the Install/Next button
it was visually covering.
- Workgroup peer-switch and toolbar shortcuts
now fire no matter which view in the terminal
window has keyboard focus, including the Diff
peer’s Run Anyway button, the Code Review
prompt’s text view, and the clippings table.
They are now dispatched centrally instead of
relying on the focused view to forward them.
- The Claude Code installer now reliably adds
Enter/Exit Workgroup triggers to divorced
sessions whose original profile was picked.
The previous pass matched on the dict’s
KEY_ORIGINAL_GUID, which could be stale
after an arrangement reload. The walk now
also consults each live or buried session’s
runtime originalProfile reference.
- The Code Review prompt overlay no longer
drifts out of sync with light/dark mode. The
panel cached a CGColor snapshot of
windowBackgroundColor resolved against an
arbitrary NSAppearance.current, so its
background could disagree with its own text
view. It now uses the existing layer-backed
solid color view, which refreshes the color
in updateLayer under the correct drawing
appearance.
- The heavy window border no longer leaves its
corners unbordered on low-opacity windows. The
corner-radius detector failed on transparent
windows (their interior is not opaque enough),
so the border fell back to a wrong radius and
the corner arc was clipped away. Detection now
works at any opacity, with a better per-OS
fallback radius. Issue 12882.
- The heavy window border now stays flush with
the window edges instead of sometimes drawing
as a smaller inner rounded rectangle. Its view
could be left at a stale size and was not kept
in sync with the window. Issue 12882.
- The legacy (non-GPU) renderer now invalidates
only the lines that actually changed, instead
of repainting the entire view on every cell
update. Heavy TUI animations (e.g. spinners
that rewrite a single line at high frequency)
use significantly less CPU on hosts where the
GPU renderer is disabled. Issue 12790.
- Anthropic tool calls reloaded from a chat
transcript would fail with HTTP 400 because
the function output got serialized as plain
text instead of a tool_result block. The
parser stored the tool_use id only on the
inner FunctionCall while the serializer
looked on the outer wrapper, so the id was
lost on round-trip. Both fields are now
populated so persisted tool calls survive
the round-trip.
- Anthropic requests no longer 400 when a
stray user message gets persisted between a
tool_use and its matching tool_result. The
request builder reorders so the tool_result
is always emitted immediately after the
tool_use, with any intervening messages
bumped to after it.
- Fix a launch crash when a saved status bar
layout referenced an RPC-provided text
component whose configuration was missing
the registration request (for example, from
a partial profile restoration). The base64
decoder dereferenced a NULL pointer instead
of returning nil. Issue 12861.
- The “Respect shortcuts from System Settings >
Keyboard > Keyboard Shortcuts > Keyboard”
option used subset matching on modifier keys,
so a system shortcut bound to Ctrl+Right (or
any other strict subset of an event’s
modifiers) would also intercept
Ctrl+Shift+Right and similar keystrokes.
Modifier comparison is now exact. Issue 12859.
- When launched with -suite, orphan adoption
could no longer reattach to surviving
multi-server daemons after a state-database
loss. The application-support directory is
already isolated per suite, but daemon
sockets were also being named with the
suite in the filename, while the orphan
adopter (and the settings-export exclusion
list) still expected the plain
iterm2-daemon- prefix. The suite is now
carried only by the containing directory,
matching how the dotdir fallback already
worked. A transitional fallback accepts
the {suite}-daemon-N.socket form so betas
that wrote that name don't strand their
daemons across the upgrade. Issue 12860.
- Fix a crash when a Python API client invoked
a function whose argument string contained
non-BMP characters (for example, emoji). The
expression tokenizer’s optional-path
recognizer indexed by Unicode scalar while
the surrounding tokenizer tracks UTF-16
positions, so the offset could run past the
scalar count and trap. Issue 12856.
- When ESC #3, #4, or #6 (DECDHL/DECDWL) was
received mid-line, characters already on the
line were correctly doubled in size but the
cursor was not advanced to compensate, so
text printed afterward overwrote the right
half of the existing characters. The cursor
is now repositioned when the line’s width
class changes.
- ssh:// URL handling and Bonjour-discovered
host profiles now find ssh through the user’s
login shell PATH, so Homebrew’s ssh (or any
ssh outside /usr/bin) is used. The advanced
setting SshSchemePath, when changed from its
default, still wins. Issue 3415.
- The faint-text opacity slider in Profiles >
Colors now has a minimum of 0.1, and existing
profiles with a stored value below 0.1 are
clamped at runtime. A value of 0 caused SGR 2
text to render in exactly the background
color, making it invisible. The slider’s
tooltip was also incorrect (it described
minimum contrast); it now describes faint
text opacity.
- The “open password manager automatically”
feature no longer triggers when a shell
script briefly disables terminal echo to
suppress the visible echo of an OSC report
response (e.g. it2getvar, it2profile -g).
ECHO must now stay off for at least 0.2
seconds — tunable via the
DetectPasswordInputDebounce advanced
setting — before iTerm2 treats it as a
password prompt.
- Fix the Minimal-theme tab bar overlapping the
terminal in fullscreen when adding a second
tab with “Hide tab bar when there is only
one tab” enabled. The titlebar accessory
hosting the tab bar grew from zero to its
full height but the content view was not
re-laid out to leave room for it. Issue
12811.
- The Touch ID for sudo offer no longer relies on
AppleScript admin elevation, which fails on
macOS 26 with EPERM when writing to
/etc/pam.d/. Accepting the offer now lets you
copy the install command or run it in a new
iTerm2 window where you can enter your sudo
password.
- Fix a bug where suppressing a warning would
not stick across launches when prefs are
loaded from a custom folder with “Save
changes: Automatically.” The debounced save
could lose the race against app exit, so
the next launch overwrote the just-saved
suppression with the stale remote copy.
applicationWillTerminate now flushes
synchronously when Automatic mode is on.
- Fix Ctrl-letter keystrokes appearing as
literal text (e.g., “0x4” for Ctrl-D) in
tmux -CC mode when the tmux server has
extended-keys enabled and an inner app
has turned on modifyOtherKeys. Control
bytes 0x00–0x1F are now sent through
send-keys with the -H flag on tmux
3.0a or newer, which bypasses tmux 3.5’s
silent literal-text fallthrough for
unmodified C0 bytes. Issue 12845.
- Fix dragging a tab or split pane onto a
window with only one tab. The destination
window’s tab bar is hidden in that case, so
AppKit could not deliver drag events to it
and a brand-new window was created instead.
Tab bars are now temporarily shown for the
duration of any tab or session drag.
Issue 12846.
- Extend dual-mode SGR to underline color
via CSI 58:12:Rl:Gl:Bl:Rd:Gd:Bd m and
CSI 58:13:Nl:Nd m.
- Request the badge authorization option
from UNUserNotificationCenter so the
dock-tile bell-count badge actually
renders and the “Badge application
icon” toggle appears in System
Settings › Notifications › iTerm.
- Hide a top-right status indicator while
the mouse is hovering an inline button
it overlaps, so the button stays
reachable.
- Honor IT2_APP_PATH in the iterm2
Python library’s AppleScript cookie
request, matching the “it2” CLI. Lets
external scripts targeting a -suite
dev build get a cookie from the right
iTerm2 instance instead of whichever
one macOS routes to. Issue 12850.
- Honor IT2_SUITE when checking for
disable-automation-auth in the iterm2
Python library, so external scripts
targeting a -suite instance no longer
silently fail with 401 when stock
iTerm2 has “Always Allow All Apps”
enabled. Issue 12864.
- Add advanced settings to customize
the window border color for focused
and unfocused windows (requires
“Show border around windows” with
no title bar).
- Add a per-profile “Contextual Alternates”
toggle to the font picker’s options menu,
for fonts that expose calt. Lets you keep
calt-based coding ligatures on for one
profile while turning off surprising
substitutions (e.g. Monaspace rendering
[] as a checkbox) on another. Issue 12847.
- Add an Erase All Settings and Data
button in Settings > General >
Settings. It offers to export first,
then erases preferences, profiles,
saved sessions, scripts, and the
contents of ~/.iterm2 and the app
support folder, then quits
immediately. Issue 12852.
- Add keyboard shortcut bindings to
workgroup toolbar items. Navigation
cluster (back, forward, reload) and
the standalone reload toolbar item
each support a per-action shortcut,
with defaults of ctrl-cmd-left,
ctrl-cmd-right, and cmd-R. Shortcuts
take precedence over profile key
bindings and main menu items but
defer to global key bindings.
- Add an optional per-peer shortcut
for jumping to a peer in a workgroup.
Configurable in the workgroup
session settings; when unset, the
built-in opt-shift-cmd-number
fallback still works. Custom peer
shortcuts route through the same
pipeline as workgroup toolbar
shortcuts, so they beat profile
bindings and the main menu but
defer to global key bindings.
- Fix vertical window resize being
silently rejected when the window
sits partly below the screen.
- Coalesce pending re-evaluations of
interpolated strings. Previously,
every dependency change enqueued a
fresh dispatch_async on the main
queue, so a tmux -CC pane title that
changed many times per second could
pile millions of blocks onto the main
queue and exhaust memory. Issue
12857.
- Built-in browser: hide our message
handlers and skip the page-world
Notification, geolocation, console,
and audio bridges inside Cloudflare
Turnstile, hCaptcha, and similar
challenge frames so the captcha
probe sees an unmodified Safari
surface.
- Built-in browser geolocation: stop
silently dropping requests when
permission is not granted; the page
now receives a PERMISSION_DENIED
error instead of hanging. Push the
decision to the calling frame so
navigator.permissions.query reflects
reality, and route success and error
callbacks back to the originating
iframe instead of always the main
frame. Stop persisting system-level
denials (Location Services off, OS
prompt declined) as per-site
decisions; only an explicit Allow
or Block in the per-site dialog is
remembered. The same fix applies to
notification permissions.
- Honor the option-modified “Quit and
Close All Windows” menu item. iTerm2
now samples the option modifier at
quit time and erases saved state when
the user picked the option-modified
menu item, so it actually closes all
windows on the next launch. Issue
12852.
- Clear tab status when a session’s
program terminates (broken pipe or
tmux detach) so stale status text
and indicators no longer linger.
- Fix a stall after large output bursts
when the main thread was reading every
line of the burst to announce it for
VoiceOver. Two changes: the LineBlock
metadata provider no longer allocates
a heap block per inner-loop iteration
(which was churning through the objc
associated-objects table on release),
and the new-output announcement is
capped to the most recent 256 lines so
giant floods stop overwhelming
VoiceOver’s speech queue.
- Fix Session Status toolbelt rows
appearing in arbitrary order when
the toolbelt is first opened. The
initial population now sorts by
priority like every other update
path.
- Add a Diff workgroup session mode
that defers running the configured
command until there are staged or
unstaged changes to show. The Claude
Code workgroup’s Diff peer uses it,
so the peer no longer launches
difftool on a clean tree. Existing
Claude Code workgroups are migrated
on first launch so the Diff peer
picks up the new mode automatically;
flip it back to Regular in Settings
if you prefer the old behavior.
- Add a urlHandlerCommand advanced
setting. When set, clicking a URL
(including OSC 8 hyperlinks and
auto-detected URLs) runs it as a
/bin/sh -c task with the URL in
\(url) and a background-open flag in
\(background), instead of handing the
URL to the system. Its output goes to
the Script Console. Lets you route
links through your own script, e.g. to
open in the background or pick a
browser mode. Empty by default, so
normal URL opening is unchanged.
Issue 12878.
- Script Console no longer jumps to the
top when a new entry arrives. The
script list keeps its scroll position
and selection, and a filtered log view
stays put as new lines come in.
- Fix black, unreadable text in the
Script Console Logs tab in dark mode.
- Session Stats now shows the correct
keyboard shortcut for workgroup peers
that have a custom peer-switch
shortcut configured, instead of always
showing the built-in ⌥⇧⌘ number.
- Jobs toolbelt and the status bar job
popover gain a “Notify on Termination”
right-click option. Monitored jobs show
a bell next to their name, and when the
chosen process exits a modal alert names
the job and process ID.
- The badge no longer hides behind the
clippings panel. It now right-aligns
at the inner edge of the right-gutter
panel area in both the legacy and GPU
renderers.
- AI text-typing tools (send_text in
orchestration mode and
insert_text_at_cursor in
session-bound mode) now accept a
small backslash-escape vocabulary so
the agent can drive control keys.
Recognized: \\ for a literal
backslash, \n, \r, \t, and \uXXXX
(four hex digits) for any Unicode
scalar. Set append_newline to false
for a standalone control key (e.g.
Escape) so iTerm2 doesn’t tack a
newline onto it. Lets the agent
send things
like for Ctrl-D, for
Ctrl-Z, for Ctrl-L, and
for Escape.
- Implement start_session for the
orchestrator. The agent can now
spawn a new window, tab, or
vertical split via the existing
start_session tool. Every spawn
prompts for user approval inline
in the chat, with the placement
and command (if any) shown in the
prompt. Returns the new session’s
synthetic workgroup_id so the
agent can immediately drive the
new session with the other tools.
- Dropping a file onto the AI chat
text field now offers to attach it
when the current backend supports
that file type, instead of always
inserting its path as text. The
choice can be remembered.
- AI chat can now attach images to
OpenAI models (vision), and audio
to OpenAI audio models on the
chat-completions API. Attachment
support is now decided by modality
rather than a per-format allow
list: if a backend can carry an
image, PDF, audio, or video block,
you can attach it, and an
unsupported file is reported by the
model instead of being silently
refused.
- Announcements now become narrower
when the clippings panel is visible
so they no longer overlap it.
- Python API: GetPromptResponse now
has excluded_subranges, listing the
cell regions inside the command
range that the shell marked as
non-input via OSC 133;A;k=s|c|r
(PS2 prefixes, right-prompt cells).
Available on responses to
async_get_last_prompt and
async_get_prompt_by_id. Always
empty on PromptMonitor.PROMPT
notifications — fetch via the RPC
after a COMMAND_END notification
for the populated value.
- OSC 133 aid= now tracks nested
shell-integration sessions: a local
shell that runs ssh into a remote
shell with shell integration (or a
REPL that emits its own A/B/C/D)
no longer confuses iTerm2's mark
bookkeeping when the inner D's
arrive before the outer's. Each
mark carries the aid from its
A/B/C/D markers and a parentAid
pointing at the open mark it
nested under. D;aid=X closes the
matching command instead of the
topmost. If an outer command dies
(ssh tunnel drop, etc.) without
the inner ever closing, the outer
D cascade-closes every still-open
mark whose parentAid chain leads
back to it so no inner mark leaks
as still-running.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
b41788621f844afc29a1aa54e7e3d8a37b7b6243eafb6168a4c4e12086b5d76d
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmofQgEACgkQJiz+Xnka
vhvyNw/+JPQButWAzY0G4hL+B6VHO42o1K+AFsp0YQO2DfN7CAfHM53Hxbce/zdG
mDD2N4biCwbwqLlTRPf2xhmW9BJWf4BFMzPn9/f9z4FaaCfndIkvvvQk5B1sArHa
Bk8lBpuk13AMarY0NW652fG/W2LLGQs2eue8NzIkIKjNXn9Hht634TWEltiP8xIa
5ZguAHzGYERr0AksJ4oLQUd1FwEzxxDDpOjqULCTHT3HktEEDvK+vfWhgoMHNW91
EEKry4imT7mNvWRwsZ8hMVIp3LhjBcjL1EAVtPzYfPC5fE+ut4etWtzyIjhZVzmL
HqfgGp1h1ljeXfa/1ESJT4aKifFk8OBXccDB4TDemhKN8gENZQHMsSmw9gavDaEs
d2pCRTAVWqCfHD/aeORSU75vh3WwG7mnPFTf6BrpmP+waXowr2A7+cd+BjBcRxJH
SGHW5bXv7OW0BeXX4YKloMWdJIREUb2+WELFzf6cntPglYuPJOjQ9yut3qsvkUXl
bZXkEWSjD4h+1P6uja4VwApCDuNiEOSa6HCzhVaXvHOOC/QpV2Ry39GdOSjHVKwu
+IgayiRauqz3S2IPyrdn816bAd4hqg8dQS2gtAddjVMNPvZ1NjT/XQuBWWr8wXid
rMpXrPNUDuw4XRRoujc84CUlkDVGAE88b+xagYLQv1YYt8406hc=
=6xXi
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta2 (macOS 12.4+)
This is the recommended beta build for most users. Built on May 5, 2026.
[▾ Hide Changelog](<javascript:hideId('9148509807379078994')>)
Version 3.7.0beta2 was built on May 5, 2026.
Changes since 3.7.0beta1:
Major New Features:
- Claude Code integration is now functional (beta1
shipped only an onboarding stub). It’s built on
a new feature called Workgroups: a workgroup
lets a small group of related sessions live in
the same pane and switch between each other via
a per-session toolbar (or open as splits or tabs
instead). The Claude Code workgroup pairs a chat
session with a Code Review session for reviewing
Claude’s changes. Configure workgroups in
Settings > Shortcuts > Workgroups; still a work
in progress.
- The new Clippings side panel attaches a list of
context items to a session, shown alongside the
terminal. The Claude Code integration uses it
for Code Review findings, command output
snippets, and similar context. Items render as
Markdown; press Space or click the magnifying
glass for a Quick Look-style preview.
New Features:
- An AI chat that’s linked to a session can be
docked into that session’s window. Use the chat
menu’s “Put Chat in Linked Session” item; toggle
visibility with View > Show Inline Chat.
- New Python API App.async_apply_layout reshapes
one or more tabs in a single transaction: swap
panes, restructure splits, move sessions across
tabs and windows.
- New “dual-mode” SGR colors let programs emit
different fg/bg for light vs dark mode so
scrollback stays readable across appearance
toggles. Use CSI 38:12:Rl:Gl:Bl:Rd:Gd:Bd m for
24-bit and CSI 38:13:Nl:Nd m for 256-color (and
48 for backgrounds).
Improvements:
- The it2 command-line tool can post a clipping to
the Clippings panel via `it2 add-clipping`.
- New global variable iterm2.appBundlePath holds
the path to the running iTerm2.app for use in
interpolated strings.
- The Copy Smart Selection Action accepts an
interpolated-string parameter so the copied text
can be derived from the match (for example, a
capture group) instead of always being the whole
match. Also fixes Copy from the right-click
context menu being a no-op.
- Relative timestamps now use Go-style suffixes
such as +1m23s and +2h5m, giving sub-minute
precision in the 1m–1h range.
- Background images can rotate through a folder of
images at a configurable interval. Pick a folder
instead of a file in Settings > Profiles >
Window > Background.
- Settings > Profiles > Text > Special Exceptions
has a new Add Preset… button that inserts
entries for common Unicode blocks (Arabic,
Cyrillic, Greek, Han, Hangul, Hiragana/Katakana,
Private Use Area). You still pick the font.
- iTerm2 now overrides the Se terminfo capability
so Neovim 0.12+ restores your profile’s default
cursor on exit instead of a block cursor.
- Improved energy efficiency, particularly on
Apple Silicon.
Bug Fixes:
- Fixed various hangs that could cause a beachball
(closing the Settings window, changing tab
style, slow or wedged opendirectoryd lookups).
- The git status bar no longer times out silently
in large repositories such as Chromium. When a
poll does time out, the bar shows “⚠ timed out”;
click it to double the timeout and retry.
- Fix bell and other user notifications not being
posted when iTerm2 is fully covered by another
app.
- Fix the cursor jumping to the end while typing
in the middle of an annotation.
- Fix long custom commands failing immediately
with a zsh “unmatched '” error.
- Fix shell escaping of embedded apostrophes and
CR/LF in single-quote (POSIX) and $'…' (bash)
modes.
- Fix the session’s hostname variable going stale
when the system’s initial hostname (e.g. a
transient DHCP-provided name) differs from the
hostname the shell later reports.
- Fix “Save Current Window to File with Contents…”
producing a file with no contents.
- Fix tmux window shrink on first attach when a
pre-tmux session was buried.
- Quarantined .iterm2arrangement files (downloaded
from the internet) now require explicit
confirmation before opening, with a summary of
embedded risk factors (custom commands,
triggers, SSH targets, Smart Selection Actions,
etc.). Reported by @naxus-audit.
- Extend the state-restoration database integrity
check timeout to 120s after an unclean shutdown
so the “taking a long time” prompt doesn’t
appear on every post-crash launch.
- The password-manager CLI picker now accepts
plain files named `bw` and the `bw` symlink
target (e.g. `bw.js`), which fixes selecting
Bitwarden’s `bw` on machines where Homebrew
installs it as a Node.js script.
- Fix carriage return (\r) handling in the tmux
integration’s escape-sequence decoder.
- Fix old (deleted) iTerm installs being detected
as the default handler for a URL scheme.
- ⌥Y and the Character Viewer no longer insert a
backslash instead of ¥ on non-JIS keyboards. ⌥+¥
on JIS keyboards now sends ESC+\ again.
- Fix positioning of the “Delete sends ^H” control
in profile key settings.
- Fix the session title popup being too narrow in
the Edit Session panel.
- The Always/Never choice in the “restore
tab/window title when an ssh session ends”
prompt is now broadcast to other sessions
showing the same prompt.
- Fix orphaned quotes appearing in the Jobs
popover when process names contain shell-special
characters (e.g. `package@version`).
- Fix Smart Selection Rule edits not flushing the
profile or updating running sessions until
Settings was reopened.
- Fix a ghost divider painted inside a tool after
a manual toolbelt splitter resize.
- Fix a stray en-space being appended to the git
status bar when it shows rich stats.
- Fix various crashes.
- Fix various memory leaks.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
411d8ab4c9132c4acb1874ef3f1aefc6c7c862fa5277221930a98400e387787a
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmn6YRsACgkQJiz+Xnka
vht0Ng/9FDgkXSqTjPawyxGgNRpN5JjJZgymijikKlFTLeiE4DAjJu88TJl6VcLg
9sa2NvVjaF7RsE5gVBPOj+O3rMjB3Ceu0SrcNBun60el3t3vUxLizfUICBTouTqH
LZoLkwV4w9rLbdlMewsakFmHTAHEvP4Lpd4cxVoqVrUm4y0FePkIGH4vEPBgMdKn
EP/e8Q5/YcqMSEHIdXOiChcIXeF5PgKZCJqcDus+wYufsJVsuW9oiOhq3n1CkgKs
ZEKWqDY2IWPg3W0Jqpi7zYav6hiwOC7eIdzwBVSqVsQ4G7yUXwZDdpNgr0oyj/EM
ohRtwEtKKc+vfSaPkPoapXmTvzAUcvdK0hHjdwhsG6I4Eo+eA0Dc0nTJ47VNIkdU
QI9fKBTJPfoSrve4dZJ0POSuX8B0LAEOzmr4ULT7JPWPJQN0yV6dZq8+dSn7VbBO
2ejOOyydl0ZZWEJOyUKS/gY/zu+42ufOQOXh9cVUs5Sr+NDy0mSIRKbhsEG5aCk+
111CKCnM3kyfNz/RVrkGn/bZuKopSJwtuJL53zZvcpZj7545Plr0+EmQ3Lb8pasA
5gNiXQkLt2mAZ8pWXbXwzQ94zXIq3GfhXA1b06dHwq4eZA4z0mZJkWnoLc1fqyvh
VYvmgk8PRuPmlWvj0Y3ASME0t5h7U6Tb3hC5fJ063pWap5Ao0eA=
=A8S1
-----END PGP SIGNATURE-----
iTerm2 3.7.0beta1 (macOS 12.4+)
This is the recommended beta build for most users. Built on April 20, 2026.
[▾ Hide Changelog](<javascript:hideId('1583891265281940469')>)
Version 3.7.0beta1 was built on April 20, 2026
A note to beta users:
An awful lot of features have been piling up here
since the last release off the main branch was
many months ago. I decided to bump the version
number up to 3.7. The changelog below is relative
to version 3.6.7 and duplicates some items in
betas since then.
Major New Features:
- A new Tab Status system was added. Sessions
can now report status that appears on their
tab with a custom subtitle, color, and dot
icon. Triggers can set tab status from
output, a new Session Status toolbelt tool
lets you configure priority sorting with a
drag-to-reorder popover, status is
aggregated across split panes, and it is
auto-cleared on shell prompt or session
termination.
- Session Notes were added: floating,
draggable, resizable, collapsible multiline
text notes attached to a session that
persist across restarts. A global or
per-session toggle is available in the
Notes toolbelt tool.
- You can now run multiple concurrent
instances of iTerm2 side by side with
independent settings. Launch with
--suite=com.iterm2.unique-id-of-your-choice.
- Claude Code integration was added.
This is still a work in progress as of 3.7.0beta1.
- The new Fold All menu item folds everyting
(aside from folds at the very top of history).
This makes it easy to keep history around
without it getting in the way.
- You can now create screenshots including
highlights and redactions using the Make
Screenshot menu item.
- Session archives were added. The new Session >
Archives menu has “Save Archive of Current
Session…” and “Restore Archive…” commands, and
remembers your ten most recent archives. A
per-profile setting can automatically archive a
session to a configured directory when it
closes. Restoring an archive reopens the
session’s scrollback in a new window.
- Panes can be locked to prevent accidental drag
and drop.
- Tabs can be pinned so they stay put and are
protected from reordering.
- You can now assign a "job" to a trigger, which
ensures the trigger is only active when that job
is running. This makes it possible, for example,
to write triggers that are only active while
Claude Code is running.
- Most window types support initial size as a
percentage of the screen (used to be only number
of rows and columns).
New Features in Terminal Sessions:
- Double-width and double-height lines
(DECDWL, DECDHL, DECSWL) are now supported
via ESC #3, #4, #5, and #6.
- Custom in-terminal buttons with SF Symbol
icons that emit a user-defined escape code
when clicked. To add one, send
OSC 1337 ; Button=type=custom;code=N;
icon= ST. The code must be
positive. To invalidate all custom buttons,
send OSC 1337 ; Button=type=custom ST.
- A control sequence to programmatically
fold and unfold blocks of output. Send
OSC 1337 ; UpdateBlock=id=;
action=fold ST (or action=unfold) where
blockID matches a previously declared
block ID (see custom escape sequence docs
"Blocks" section for details).
- A new SetProfileProperty control sequence
lets you change profile properties at
runtime. Send
OSC 1337 ; SetProfileProperty==
[;=...] ST,
e.g. set “Cursor Type” to 2 by encoding
the JSON value 2 as base64.
- OSC 52 clipboard query responses now work
with tmux 3.6+ in tmux integration.
- Added OSC 21337 for tab status. Send
OSC 21337 ; indicator=<#rrggbb> ;
status= ; status-color=<#rrggbb> ST
to set the tab’s dot indicator, subtitle,
and subtitle color. Send the same sequence
with empty values to clear.
- Smooth-typing animation for underscore and
vertical-bar cursors can be enabled in
Settings > Profiles > Text.
Tabs, Windows, and UI:
- The control-sequence-controlled progress
indicator is now shown in the tab bar.
- An active pane border can be displayed to
highlight the focused pane.
- New Lock Size menu item and per-profile
preference to prevent window resizing.
- You can now choose to show a Proxy icon in
Compact and Minimal themes.
- The tab color menu now has a color picker,
recent colors, and an eyedropper tool.
- Asymmetrical broadcasting via a per-session
broadcast-source flag lets you prevent
accidental typing in some sessions from being
broadcast.
- New key binding action to send text without
broadcasting.
- Nerd Font glyphs are now rendered in pane title
bars and tabs.
- A unified dock badge combines bell count
and tab status, and the old 999 cap on the
bell count was removed.
- Split pane icons were added to the context
menu.
- Hold Option when clicking a Split button in the
Profiles panel to open the selected profiles as
splits in a new window instead of the current
one.
Triggers Improvements:
- Event-based triggers can fire on events such as
a session ending or a hostname change.
- Triggers can be imported and exported as
.it2triggers files.
- A regex can now be used to define word
characters for a trigger.
- Nulls are now treated as spaces in trigger regex
matching.
AI Improvements:
- AI chat can connect to LAN-hosted models
over HTTP.
Python API Improvements:
- Move sessions to new tabs or windows via the
Python API.
- Load URLs in browser sessions from the Python
API.
- The Open URL API now supports a per-domain
allowlist.
Password Manager Improvements:
- Bitwarden is now a supported password manager.
- Keeper Security is also supported.
Shell Integration Improvements:
- xonsh is now a supported shell.
- Better interop with Fish 4.3, which builds in
some of shell integration.
- A new it2 command-line utility lets you perform
common actions like creating a window at the
command line. Run `it2 --help` for details.
SSH Integration Improvements:
- Better passphrase handling for SCP and
private keys. Wrong passphrases now retry
instead of falling through to an empty
password, and encrypted-key detection was
improved.
Tmux Improvements:
- Bracketed paste state is restored on attach
(prep for tmux’s upcoming bracket_paste_flag
format).
- Saner defaults for which window and tab a tmux
attach uses.
Expressions and Variables:
- Arithmetic expressions and comparisons are
now supported in interpolated strings.
- You can right click on a color in settings and
choose "Bind to Expression" so that it will
takes its value from an expression (e.g., a
user-defined Variable or registered function:
see the Scripting Fundamentals section of the
documentation for details). The value should
be a string like #ff8844.
- Same for checkbox settings. The value should be
a boolean.
UI Improvements:
- Contextual alternates (calt) are enabled by
default for ligature-capable fonts.
- Prettier, animated toasts.
- Rename dialogs, the pane menu, and the context
menu now respect dark/light mode.
- Tab colors are written to all appearance
variants so they survive light/dark switches.
- Customizable IME color.
- Cleaner glass material on the jobs popover.
- Scroll command marks to top (instead of
centering) on Next/Previous Mark.
Input and Accessibility:
- VoiceOver now announces terminal output and
deleted characters.
- Voice dictation now works.
- A repair button was added to fix key bindings
corrupted by a 3.4.x-3.5.x migration bug.
- Ctrl/Option-modified function keys now work with
third-party global shortcuts.
- 3-finger drag is now treated like a regular drag
for mouse reporting.
- Offer to reset the key reporting mode when it
gets stuck on.
Search and Selection Improvements:
- Folded content is searched in global search.
- URL search results extend across soft boundaries
such as tmux pane dividers.
- “$” is now a default URL character for detecting
URL boundaries.
- Search results refresh after window resize.
- Fix Cmd+G skipping matches after tail find.
- New “Copy or Paste” pointer action.
- New pointer action to copy link address.
Menus and Miscellaneous:
- New menu item to open new tabs next to the
current tab or at the end (opposite of the
default).
- New “Always show alerts with remembered
selections” option.
- New “Buffer input by default” profile setting
with menu item, indicator, and trigger
integration.
- "Copy" menu item on status bar components to
copy relevant information.
- Smart selection action URL is shown on hover.
- Offer to restore titles when an ssh session
ends.
- New "Suppress notifications from the active
session" setting.
Core Improvements:
- Significant Metal rendering speedups for
non-ASCII text should result in higher frame
rates.
- Framerate is capped at 30 fps in low-power mode.
- Crash-log search was moved off the main thread
so app launch does not hang when there are a
huge number of crash logs.
- Prompt for local-network permission on launch.
Settings Improvements:
- Window frames are remembered per-profile to
prevent cross-contamination.
- Font zoom is preserved during Automatic Profile
Switching.
- User-set colors are remembered separately
from control-sequence-set colors so that they
don't get reset by control sequence.
Bug Fixes:
- Fix various crashes.
- Fix wrong terminal size after exiting
fullscreen with multiple tabs.
- Fix tmux window shrink when a pre-tmux
session is buried after attach.
- Fix theme not updating when changed via
the Python API.
- Fix legacy hotkey window profiles
defaulting to 100% width and height.
- Fix NSTextInputClient to use consistent
absolute coordinates.
- Work around a macOS SVG bug that dropped
elements referencing IDs nested in
wrappers inside .
- Fix trigger color wells not prefilling
with the trigger’s actual colors.
- Fix session tab color across appearance
changes.
- Fix GPU renderer not respecting a custom
underline color for non-ASCII text.
- Fix the color space of the block cursor
in Metal.
- Fix wrong session used for GPU frame
capture.
- Fix tmux italic rewriting not being
skipped when TERM matches *tmux*.
- Fix paste bracketing race that could
cause out-of-order chunks.
- Fix posix_spawn failing with “disclaim
children” enabled.
- Fix async_set_profile() failing with
REQUEST_MALFORMED on certain keys.
- Fix tmux close dialog Cancel button not
preventing window close.
- Fix shell integration not working with
Login Shell mode.
- Fix Nerd Font Bundle not persisting
after restart.
- Fix full-bleed drawing of unfilled
Powerline arrow glyphs.
- Fix multipart Kitty image transmission
where independently-encoded padded
chunks did not decode.
- Fix Kitty image transmission rejecting
paths containing /dev/.
- Fix a “not clearing enough of character
images” rendering bug.
- Fix adaptive framerate always overriding
the non-adaptive setting.
- Fix status bar hidden behind the tab bar
in fullscreen.
- Fix clearing a filter in a maximized
pane causing the window to shrink.
- Fix divorced session drag-to-split
losing divorce state.
- Fix a background-tab token execution
hang when tabs were not rescheduled.
- Fix a per-window settings save bug.
- Fix “dynamic” tag being added to dynamic
profiles when unwanted.
- Migrate legacy dynamic profiles that
remained in user defaults.
- Mark navigation now visits marks created
by triggers, not just prompt marks.
- Fix tmux -CC alternate screen not showing
in apps like vim.
- Fix memory leaks.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
25b989a1ba91b51bb01ef5d48ac78870e0fc8e1569d98decf9f2c9414b970690
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmnmxFIACgkQJiz+Xnka
vhsvpRAApYJm21stu/kYJaPcPKOndd9CsCa3BTITkHvK7rmCE29Va/nmsg+aLO2X
7FRQToAYzXQNzgzeDQVp7yTONWwxn2lrz/B2EaBos7f7cqG2XsxARiqfFo2VQ0u8
eSokeuzmW4hwnCCQ4srewzWL5dhU61mQVj7M7metjwHLlQBUAtzbbt/jkmO9/oSt
ypcFZZEhsq8sTVTS3gzy5pCtHV9DjeG0ahdlBTHMkbJw+G5hv/XI/6xK291TXMxU
qo33ZKwHnx569dbdvVTwOPnz8R6deH9NR97hbHupJUfSzgIXRjDq7fBSeg/E1sqh
gItjaiOPoF6qup2j5vRBDYLLjW1FT03kQrvi2zFfpdPnQ33EckFJvZUisjGdPmDF
I1hKF8H0prRzxg0GJzt9EGlHYcO1gNFPQyV8EqpHDe++Wh+LGcvp3IQGn+TNa5bv
1GLgwDC9iFJz+KhJzb7ygyUGBU4lqiCwQbigXNn1IG7cspOrP89WTprMGo9zY7u+
wNFeI4kelW8bZY1d0Kvm4tPdyz2Iel0/1b3ZodKn8uz4dPUAP2Xm0dVDcTGU1LZy
yu/2eCG+3ypl49GqG8QIiX9kIBWuVMGgQoaKrAWid1KPeXdq59QKOqAehpQlvKA7
QXibfSlPnp3y8/tnKqvuTxry3QDj31WOzCML2gOkFAbbQ9nsdWA=
=NrPP
-----END PGP SIGNATURE-----
iTerm2 3.6.10beta1 (macOS 12.4+)
This is the recommended beta build for most users. Built on March 29, 2026.
[▾ Hide Changelog](<javascript:hideId('3680919936423712714')>)
Version 3.6.10beta1 of iTerm2 was built on March 29, 2026.
New Features:
- Add event-based triggers. These fire from events
such as a session ending or the hostname
changing. Issue 12735
- Add pinned tabs. Pinned tabs stay at the left
side of the tab bar and cannot be reordered past
other pinned tabs.
- Add support for taking screenshots. Screenshots
can be annotated with redactions and highlights.
Use `Session > Make Screenshot`.
- Add smooth cursor slide animation. Enable
`Settings > Profiles > Text > Smooth-typing
animation`.
- Add ability to use a regex for characters
considered part of a word in selection settings.
- Add xonsh shell integration.
- Add support for Unicode 17 character widths.
- Add a "Copy or Paste" pointer action.
- Add better options for dropped or pasted files.
- You can now click on the working directory
status bar component to perform various actions.
- Add a color picker eyedrop option for tabs on
right-click.
- Add an option to temporarily show alerts whose
"do not show again" checkbox had been checked so
you can change your mind. Use `Edit > Always
Show Alerts with Remembered Selections`.
- Offer to reset key reporting mode when it is
stuck on. Issue 12163
Other Improvements:
- Render at high frame rates more reliably on
Promotion displays when `Settings > General >
Magic > Maximize throughput at the cost of
higher latency` is turned on.
- Big performance improvements for non-ASCII Metal
rendering and when printing lots of non-ASCII
text. Issue 12763
- Various performance improvements.
- Cap framerate at 30 fps in low power mode.
- Big performance improvements for restoring
sessions with large folds.
- Big performance improvements for saving
restorable state.
- Update Nerd Fonts to the latest version. Issue
12758.
- Update the ChatGPT model version for AI chat.
- Add $ as a default character in URLs. Issue
10338
- Render nerd font characters in tab labels.
- Allow AI chat to connect to LAN-hosted models
via HTTP.
- Add Copy to the context menu for status bar
components. Issue 12777
- Respect soft boundaries, such as tmux pane
dividers, when finding URLs with Edit > Find >
find URLs. Issue 12778
- Filter empty args from process name display
anywhere the jobs tree is shown.
- Add support for disabling ugly Tahoe menu item
icons in `Settings > Appearance > General > Hide
menu item icons`. Issue 12780.
- VoiceOver now announces deleted characters.
- Search for crash logs in a background thread to
avoid slow app launch. Issue 12558
- Tweak left inset of stoplight buttons on Tahoe
in Compact theme. Issue 12721
- Wait until the Python API socket is ready before
launching scripts. Issue 12776
- Enable developer extras in web views on older
macOS versions.
- Improve Filter's behavior to avoid slowing the
the UI while it works.
- Global search now finds results in folds.
Bug Fixes:
- Fix various crashes.
- Fix tmux -CC attach not showing the
alternate screen (e.g., vim) correctly
on attach.
- Fix automatic shell integration not working with
Login Shell mode. Issue 12746.
- Fix bash shell integration failing when
the app path contains spaces.
- Improve support for fish 4.3 in shell
integration.
- Fix enabling Touch ID for sudo on macOS 26+.
Issue 12753.
- Fix async_set_profile() Python API call failing
with REQUEST_MALFORMED. Issue 12784
- Fix smart selection actions not working when
"cmd-click on files/urls" was off.
- Fix find next (Cmd+G) skipping matches. Issue
12716.
- Refresh search results after window resize.
Issue 12716.
- Fix Nerd Font Bundle not persisting after
restart. Issue 12744.
- Fix visual glitches for some Powerline arrow
glyphs. Issue 12745.
- Fix context menu not inheriting the window's
dark/light mode.
- Fix Unicode escaping in quoted filenames when
dragging files with non-ASCII paths. Issue
12769.
- Fix overlapping controls in keyboard tab for web
profiles in settings.
- Fix status bar layout being messed up when
showing a find or filter field in some
configurations.
- Fix a bug where tmux integration wouldn't always
restore per-window settings correctly.
- Fix wrong text color in various places in dark
mode.
- Fix a bug where a minimal window with a tab bar
also had a visible standard title bar.
- Fix vertical misalignment in settings search
field.
- Respect dark/light mode in rename dialogs.
- Preserve command line when switching command
type in profile settings. Issue 12781
- Fix bugs where AI chat couldn't always get
command history.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
6f3a0db049c0451185b55973fae9ad91c715a2a45e249270a41f6709d86825e9
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmnJdA8ACgkQJiz+Xnka
vhsyJRAAlPESKwYldpE8VJVR1m7MCuSOFx6ETXdU0aDuxLLFLN96QWFRKsDSWkX/
PxUFz1YuaxnFICF9U7omUtMn9G1OHTxhCgp1ta7wvbhEL7rxS0QevKhTxijGE2oF
x54csZzsYztLoSTP7+g5NKZW+gkE5TvcBuUhQbbDeERhLwveScfIOfLoUfJAqhGI
F+duE6SIIJs25O+XkW7/DnuB8fT8N148X4yGUIzrQTR8u5c/q+31FlfqL3exxbRS
4jRYnRNwp/ngg2RVNJ5o44Y9TqmNQHwLaPD5k+L3UipyU4FD38Ml7FC63gkVwGGn
9nnu73GBlF03zbuIa2wO4cRqVe4B/cpgmn3Qkhmb2PbrWkk8WOTA1VOwngAg08w6
bvBGOGMrE5lk0ChhR2WssKWT1KEY4kPT5ltnV8APdGD8jbEO35IHrxfAwyU41PW+
r1AK2qu1AjbZd6aLKAFy/knRIGTRbma0jMHbyBALH1IfsTsUTgWw3CnxjqbxLCP0
Rxp+plBSndItNSweYGQMpG2g6+kOEUjN/tylxGcyzl6LWrdeGIxPoBb39NRQxr5X
jnYa/dHHrl3HFxyptiHafdo9rsTfBZTiRR2bDmh/UaAhUz1ZL5zfKY0BAYb4x7N2
7MjhgoWgz/UYhRhsavQAeIixMazEG4ljMa0fY2g+hDg9GMd2mnE=
=YD35
-----END PGP SIGNATURE-----
iTerm2 3.6.9beta1 (macOS 12.4+)
This is the recommended beta build for most users. Built on February 27, 2026.
[▾ Hide Changelog](<javascript:hideId('7495741542969139083')>)
Version 3.6.9beta1 was built on February 27, 2026.
New Features:
- Add Edit > Fold All, which makes it easy to
collapse everything that's happened so far to
focus on what you're working on.
- When you use sudo and get a password prompt,
you'll get an offer to enable touch ID.
- Added "input buffering", which is a feature that
stores what you type in a buffer temporarily.
You can toggle it with Shell > Toggle Buffer
Input. It can be enabled or disabled by a
trigger, and sessions can start with input
buffering enabled by default with a new setting
in Settings > Profile > Session.
- Added a setting in Profiles > Colors to match
colors in the 8-bit colorspace to your ANSI
colors.
- The tab color menu has been extended to add a
color picker and to recall recent colors.
- Added a pointer action to copy hyperlink
address.
- Input method editor text color is now
configurable.
- You can now enable an "active pane" border which
makes it easier to tell which pane of a window
is focused.
- There is a new control sequence to append a
clickable button that sends a control sequence
when activated:
OSC 1337 ; Button=type=custom;code=N;icon=ICON ST
Where N is a positive integer code identifying
the button, ICON is an SF Symbol name like
"star.fill", and ST is ESC \ or BEL.
When clicked, iTerm2 sends back:
ESC [ ? 1337 ; N ~
- Added control seqeunce to fold/unfold blocks.
OSC 1337 ; UpdateBlock=id=BLOCKID;action=ACTION ST
Where ACTION is "fold" or "unfold"
- Added the option to show offscreen command line
for the current command.
- Add Lock Size feature to prevent window resizing
via menu item and per-profile preference.
- Added support for Bitwarden integration in
password manager.
- When broadcasting input you can mark a session
as a "broadcast source" which means you can type
in it to send to others, but those sessions not
marked as sources ignore keyboard input.
- Add a new key binding action to send text
without braodcasting key binding action.
- Any boolean or color profile setting can be set
to take its value from an expression using the
same syntax as interpolated strings. Right click
on a checkbox in profile settings, click "bind to
exprsesion", and enter an expression like
"user.mySetting". See the docs on Scripting
Fundamentals and Scripting Variables for more
details.
- Add a new control sequence to set a profile
property.
ESC ] 1337 ; SetProfileProperty=KEY1=VALUE1[;KEY2=VALUE2...] ST
KEY = profile property name (e.g., "Cursor
Type", "Blinking Cursor")
VALUE = base64-encoded JSON value
ST = string terminator (ESC \ or BEL)
- Add menu item to tabbar context menu to open new
tab next to current tab/at end.
- Most window types can now be configured to have
an initial size that is a percentage of screen
size rather than a fixed number of rows/columns.
- You can now run multiple instances of iTerm2
concurrently with separate configurations by
passing `-suite ` when
launching iTerm2 by executing
iTerm2.app/Contents/MacOS/iTerm2 directly with
that command line argument.
- Move 'new tabs open at end of tabbar' out of
advanced settings.
Improvements:
- iTerm2 now responds to OSC 52 queries when using
tmux integration with tmux 3.6.
- Support git diff index/worktree path prefixes in
semantic history
- Add repair button to fix key bindings corrupted
by keycode 0 bug in versions 3.4.x-3.5.x.
- Add option to preserve window size on tab bar
visibility change only when resizing would push
window off-screen.
- Add session variable isBroadcastSource.
- Add a setting to suppress notifications from the
active session.
- Add support for arithmetic expressions and
comparison using the ternary operator ?: in
interpolated strings.
- Add pane locking to prevent accidental
drag/drop. You can toggle it in the terminal's
context menu or the per-pane title bar's menu.
- Make annotations less ugly
- Treat 3 finger drag like regular drag for mouse
reporting.
- Improve ai model protocol autodetection.
- Performance improvements for extremely long
lines.
- Make toasts prettier and animated.
- In beta, function keys should now work as
compose/dead keys.
- Improve detection of encrypted private keys when
making an SCP connection.
- Update AI models to latest.
- Searching for multiline queries now works
reliably.
- Improve the appearance of terminal buttons.
- Improve placeholder text contrast in search and
filter fields.
- Remember user-set colors separately from those
set by control sequences so when a control
sequence resets colors it doesn't override the
user's manually set value.
- Clear Script Console text views when window
closes to prevent unbounded memory growth.
- Scroll command marks to top of view instead of
centering when navigating with Previous/Next
Mark.
- Show a message in settings when no profile is
selected.
- Tab dragging is now much smoother and tabs fight
against leaving their tabbar a little bit.
- Improved contrast for mono app icon style.
- Prevent inactive tabs from starving the active
tab when both are very busy.
- Make tmux attaching window/tab setting sane.
- Offer to restore titles when an ssh session
ends.
- Don't add a 'dynamic' tag to dynamic profiles.
- Show smart selection action URL on hover.
- Tweak position and spacing of stoplight buttons
in minimal in macOS 26.
- Make the Open Profiles window move to the
current Space to avoid switching spaces when you
try to use it.
Bug Fixes:
- Fix traffic light position in Minimal theme
with custom tab bar height on macOS 26, and in
Compact theme.
- Fix disclosure button being hard to click in
quit dialog.
- Fix color space of block cursor in Metal.
- Fix crashes.
- Fix missing statusbar in fullscreen.
- Fix missing Tahoe dividers when there are 3 tabs
or in dark mode.
- Fix support for dictation.
- Fix clearing filter in maximized pane causing
window to shrink and pane to become 2 columns
wide after unmaximizing.
- Fix smart selection falling back to word
selection when dragging into trailing nulls at
EOL.
- Fix a bug where mark navigation would only visit
prompt marks, not trigger-created marks.
- Try to fix bug where deepseek gets confused
after a tool call.
- Improve UI when authenticating for SCP.
- Don't terminate automatically when closing the
alert box asking if you want to restore.
- Fix broken focus ring in search bar in macos 26.
- Fix missing web menu after installing browser
plugin.
- Always use the local directory when creating a
new session that reuses the previous session's
directory rather than one from shell integration.
- Fix text replacement to look at whole words, not
substring prefixes.
- Fix Kitty image file transmission incorrectly
rejecting paths containing /dev/ as a
subdirectory.
- Fix bug with ctrl+option keypresses being
misreported as just option in modifyOtherKeys
mode.
- Fix overly strict base64 decoding in KittyImageController.
- Fix bugs with progress bars: they were hidden
behind per-pane title bars and the validation
block was wrong which prevented SetProfileProperty
from working.
- Fix Kitty protocol a=T (transmit+display) with
identifier=0
- Don't rewrite SGR 3 to SGR 7 in tmux integration
when TERM matches *tmux*. This should fix
reverse video/italics being mixed up.
- Fix tab switch rendering glitch on multi-monitor setups.
- Make determinate progress indicator in tabbar go
clockwise from 12 o'clock.
- Fix improper truncation of tahoe tab titles.
- Fix missing window title in maximized-style windows.
- Fix a bug where close buttons might not appear
over tabs on hover.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
7d02db7e1a1e825b731edcb2d03c5eb94d8bf40cfbcce7e4c335c5f624c608eb
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmiPWsACgkQJiz+Xnka
vhsJFw//fJw3tXjcTetNU6owjexiO1wuAIDED+Arus7HmIWsvBMPZAoXe9HqepMZ
DpPHiUWgxtJkTFQS5M4Z9Gsq9/stPmXQvSpIewnqprskSfheFFhAy06gynpFx7wp
vJjaGTWvUJnqr3NjPapDS3CPO5sUWew/ZL5ZQa5QB9XBIb/BKCeT1pyiHg9EVg0x
RXjZJynapbYC9wGfnLxoWkU3KT+XsUEG1I/N0miG/B+OxJ1LoBT+zryZjnDVSH+2
ZhyLWoL9lAhA5sF5FDLp2+U3vGD+MgKdcY9LVmY1Pa2VQJRXLubmP/K50CJjjbVx
KB1maMgWGtNQkn/kxclyf41PzcvaIZwBX5rbFqQsT3JAsS6GUbbQy+jr/CxBAMQA
WQi5Nw1yYu43DROu3IbR+AY5G4OdJbrfF+NGzY60NHjThQ6wQMTUllIpTj7RO3af
iUE9VloP8CP6f8WsDcs7iagXr8LMx3CI9msYosCcuwlLhrhz7YWMsABED6UII6Ah
Ph1zLc4vg6R6BHlw8pngjBGAEygkXmZ2Xtk1zu8FDHD646n3L/LbEsaNsNLlvCmA
lOzAvDSOCt3SOK00mS4Hfian+05BmVZ5YrjrRLS08VFKzPh9hrffTZGvS67kmvvC
GMfMu94rviBmQ7YeoBAQ1YFL0SP49ZntLN95Of1FZ2x+FPi/0ro=
=mbMr
-----END PGP SIGNATURE-----
iTerm2 3.6.7beta3 (macOS 12.4+)
This is the recommended beta build for most users. Built on February 1, 2026.
[▾ Hide Changelog](<javascript:hideId('5517717069546949687')>)
Version 3.6.7beta3 was built on February 1, 2026.
Improvements:
- Improve the appearance of terminal buttons.
- Improved contrast for the mono app icon style.
- Make determinate progress indicator in tab bar
go clockwise from 12 o'clock.
- Text replacement now matches macOS behavior.
- Improve position and spacing of stoplight
buttons in Minimal theme on macOS 26.
- The Open Profiles window now moves to the
current Space instead of switching spaces.
- Offer to restore the tab and window title when
the remote host changes.
- Reduced app size.
- Add progress bars to $TERM_FEATURES as P.
Bug Fixes:
- Fix various bugs in the Kitty image protocol:
file transmission with paths containing /dev/,
multipart base64 decoding, overly strict base64
validation, and a=T with identifier=0.
- Fix tab switch rendering glitch on multi-monitor
setups.
- Fix a bug where italics in tmux integration were
displayed as reverse video when TERM contains
"tmux".
- Fix a bug where the wrong session could be used
for GPU frame capture.
- Fix incorrect truncation of Tahoe-style tab
labels.
- Fix drawing of horizontal lines on non-retina
displays in the tab bar.
- Fix a bug where the Web menu wasn't added when
a browser session was active.
- Fix typo in error message for browser SSH
connection.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
fa99966c805d90a2c96ef206c2504048de1573bbde0c1714be9455437254b1df
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmAHMIACgkQJiz+Xnka
vhtDwQ//Y+J2wOMcbr83ihB0vLu331v/VJ9AX6dW3eiznPm1U0fZmgihUxVILtlP
0G5pQrEPdbHZADmGhwfRRLg4RohPieLkwvLF9OMqLV4Ac22WAxpvqC+2WzCP5Jtx
1kGSAgCd0UEIfiy5TXhi+5KI5H+wQ4FfSPyPaZd4Ky5iAQhxFHjLsn+Q+JJExDsV
0/oQxEzsbGwznOilpUCwUT4iw/eXFjZXglMhJkqPg8577Dp77dJ0eG/OyshwKlle
9aoq+wmGByaPF23Uyldw/z7d019TBgK8j1Fgz0UGhIYJH9nAiQ04r3JGPD1DXsVw
yBQRTaASENO+igx6Enr+jDEI93z+s6023ONaylngQK5SRa24ttReQRHo9f2Iy3FY
vnCok3EVzyJa1jglK0IvjCZcLfSjc5aWVCMIDJVWbb2ShImEIOm4kwrwhtg57cSB
InRQa92mCgTgDqxVcTH+F6chUJr213HVcU4ytOp6fDqgrMc3ew/ASIGPRFV3eYPx
24OBhb8Lt7KjhECcnxmT+IWVq//eayH27Fz16iDDztcPArXdExuy/eLJoZi86sDo
c5hinAUq7tYdVXVL5UsaT2Gn8zng1lF1Vu+8G2FznExxzj6zNZ9yMLWwF8+beetS
PfzBf+EwFO4rFSTd1QLPhx9U3wVug1t0awopgtvI7C+jkUk1NZY=
=CiWc
-----END PGP SIGNATURE-----
iTerm2 3.6.7beta2 (macOS 12.4+)
This is the recommended beta build for most users. Built on December 17, 2025.
[▾ Hide Changelog](<javascript:hideId('4486065135577946552')>)
Version 3.6.7beta2 was built on December 17, 2025.
New Features:
- You can now switch 1password accounts in the
password manager using the ... menu next to the
search field.
- Added profile settings to disable and configure
progress bars.
- Added support for macOS "text replacements".
- Added session archiving. You can manually or
automatically archive a session, which writes
a full-fidelity copy of it to disk.
- OSC 8 hyperlinks can take a target= parameter to
cause them to reuse an in-app browser.
Example:
OSC 8;target=example;https://example.com/ ST
- Added a new trigger type, Buffer Input, which
you can use to defer sending keyboard input (for
example, while waiting for a program to launch).
Improvements:
- Cmd-shift-click on OSC 8 URL opens it in a split
pane.
- Visual improvements to some status bar
components.
- Improve performance when timestamps are visible.
- Visual improvements for timestamps.
- Added many new natively rendered characters.
- Added support for dotted and dashed underline
styles.
- Improve behavior of certain items in the context
menu for very narrow windows.
- Natively rendered code gets a more legible
comment color.
- Improved file type detection for native
rendering of text (e.g., imgcat foo.yaml).
Bug Fixes:
- Fix various crashes.
- Fix incorrect entitlements for KeePassXC
adapter.
- Fix crash on OSC 9;4 without parameter.
- Fix bugs in Kitty image protocol.
- Fix wrong button style for "add tab" button
- Fix various visual issues with tab bars.
- Fix a bug where non-native mouse cursors had the
wrong hotspot.
- Fix a problem where a modal alert could get
hidden by a hotkey window.
- Fixed a bug where tabs would switch unexpectedly
in tmux integration.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
e4adc160269a9d31132435b20fbe1aca021e55399cc12c02645288e7eefad2e8
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaUMfLAAKCRB0Et0TaFtK
rKYLAQDp6CCMtnGA1AWMPmFliB3s+V5aN7bbofEI/uhR1sU4+QD7BQEGjCDjw/kN
jodyXS9gr+9rwu4A2i1coRiFzXGC5IQ=
=hF1j
-----END PGP SIGNATURE-----
iTerm2 3.6.7beta1 (macOS 12.4+)
This is the recommended beta build for most users. Built on November 19, 2025.
[▾ Hide Changelog](<javascript:hideId('3063760586707606633')>)
Note: These changes are relative to 3.6.6.
New Features:
- There is a new window style of "Centered".
Improvements:
- AI models updated.
- Web browser can now list directories with
file:/// urls.
- Status bar search component is now
color-configurable.
- Visual improvements to tab bar.
- Put snippets before folders in toolbelt and
don't add top level snippets that have a folder.
- Add browser setting for where terminal links
should open.
- Use default colors rather than current SGR color
when scrolling lines into view.
- The SSH file panels now pick up favorites on
Tahoe from Finder properly.
- Various small improvements to the Jobs status bar
component.
Bug Fixes:
- Fix a bug where the tab bar would be invisible
in full screen.
- Fix crashes
- Fix a bug where edge drags on Minimal tabbars
dragged both the window and the tab.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
24e600e9ce856c1226110f43b2344857dcc5f44e877dfb138819d67ab79eea5d
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaRzxCQAKCRB0Et0TaFtK
rP3dAP4sMW7rG6vKM5Cqzac3BvfEcrZaAUofTKBQj1URFYH5YwD/ckE8Aj/l2xD8
tF42EvJRwNwJ5M8xk29Yyzodftyars0=
=YLDX
-----END PGP SIGNATURE-----
iTerm2 3.6.6beta3 (macOS 12.4+)
This is the recommended beta build for most users. Built on November 11, 2025.
[▾ Hide Changelog](<javascript:hideId('4161632859458931518')>)
iTerm2 version 3.6.6beta3 was released on
November 11, 2025.
Improvements:
- The web browser now shows more detailed SSL
errors.
- Right clicking on a non-editable AI chat message
now opens a menu with Copy.
- Added support for "polymodal alerts" to Python
API, which combine combo boxes, text fields, and
checkboxes.
- In tmux integration, OSC 1337-triggered reports
are now sent.
- Tooltips are now dark when the window is dark in
Minimal theme.
- Animate cursor movement gets a new setting which
lets you also animate it when not in an
interactive app.
Bug Fixes:
- Fix crashes
- Fix file descriptor leak
- Tab height in advanced settings now affects
left-side tab bars in Tahoe.
- Fix a bug where windows without a titlebar were
draggable by their top region.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
8d56164c359f6d69319babcc8a7eafcf1a7c7f6d5e03c297920a1d9d480e1b92
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaRPZiAAKCRB0Et0TaFtK
rAgMAQCbYmlQKcb09vrjiPgvxaG/QerT6UUAHiN9W2KuwuyAtwEAjiZYZ+7Bc0q/
usWAu8Juff8OXpA5+wSD0dn8lSJiHWc=
=AqnL
-----END PGP SIGNATURE-----
iTerm2 3.6.6beta2 (macOS 12.4+)
This is the recommended beta build for most users. Built on November 6, 2025.
[▾ Hide Changelog](<javascript:hideId('4281313009157723971')>)
iTerm2 version 3.6.6beta2 was released on
November 6, 2025.
New Features:
- Add a new key binding action to toggle any
checkbox in settings.
- Add support for OSC 9;4 progress bar control
sequence.
- When using AI chat, the commands it wants to run
can now be passed through Apple Intelligence for
a safety check.
- Add support for DECDSR 997 and DECSET 2031 for
dark mode reporting.
Improvements:
- When pasting a multi-line string using Advanced
Paste with paste bracketing enabled and waiting
for a shell prompt before sending subsequent
lines, send newlines outside of brackets so it
doesn't hang on certain shells that treat
newlines inside brackets as part of the paste
rather than as end-of-command.
- You can now choose case sensitivity/regex in the
status bar filter component.
- Show a menu to disambiguate quicklook vs
dictionary lookup.
- Enable Undo/Redo in the AI prompt box.
- Change "master" to "main" in status bar settings
for git component.
- Clarify window positioning options and add
"remember position" (without remembering size)
as an option. When no recorded position exists
it falls back to smart window placement. This is
also the new default behavior.
- Add support for IBM Bob to semantic history.
- Unbury tmux integration clients on app start
when those sessions cannot be resumed. This
keeps buried sessions from piling up. If you get
a ton of windows on your first launch of this
version, that's probably why.
- Make download over ssh integration work more
reliably (reducing fallbacks to scp).
- The command info view now shows number of lines
of output.
- Timestamps are now color coded to show how far
in the past/future they are (future happening
only when using baseline-relative timestamps,
typically).
Bug Fixes:
- Fix crashes.
- Fix weird behavior by regex search and filter
when using ^ and $.
- Fix a bug where editing a regex in a trigger
caused keyboard focus to jump.
- Fix appearance of traffic light buttons in
Tahoe.
- Context menu now correctly indicates whether scp
or ssh integration will be used for a download.
- Fix a bug where some actions were missing from
key bindings.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
dab3250451272391270f18de99c28a654a505b97ead91c99f288b7c16d8d6c47
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaQ1IhAAKCRB0Et0TaFtK
rAf2AQC3RFFC3zQrE2gRE13aseu+idfjM/MKikOYwKCfG1M2JAD/WccjQuqWycRI
OLWbr/NdAyeJKNaEDSaesBZgDkkT/i0=
=ai/z
-----END PGP SIGNATURE-----
iTerm2 3.6.6beta1 (macOS 12.4+)
This is the recommended beta build for most users. Built on October 24, 2025.
[▾ Hide Changelog](<javascript:hideId('1722197194591170604')>)
iTerm2 version 3.6.6beta1 was released on
October 23, 2025
Please note these changes are relative to 3.6.5.
New Features:
- Add KeePass integration to password manager.
- Add option to show title bars on individual
panes even when there's only one pane.
Improvements:
- Improve performance after using search.
- Update the app icon to fix tilted appearance on
macOS 15.
- Improve legibility of tab text in Tahoe theme
against dark backgrounds.
- Open Quickly appearance improvements in Tahoe
theme.
- Color picker now supports switching between
different color spaces and device color space.
- Better error messages when a profile's command
fails to execute.
- Update shell integration scripts.
Bug Fixes:
- Fix hang that could occur when moving cursor
horizontally in certain situations.
- Fix "Open Link" dialog appearing behind and
blocking the global hotkey window.
- Fix tabs incorrectly appearing red when
reattaching to tmux sessions.
- Fix tab appearance in Tahoe theme for compact
windows.
- Fix missing tab separators in Tahoe.
- Fix images disappearing after folding and
unfolding a region, or after restarting iTerm2.
- Fix Kitty protocol images not displaying
correctly.
- Fix AI chat getting stuck on "Executing..." even
after commands complete.
- Fix slow prompt rendering caused by shell
integration.
- Fix it2copy outputting base64 gibberish when
using it2ssh.
- Fix hotkey windows not working properly.
- Fix page zoom controls mixing up percentage
values.
- Fix function keys with shift + meta modifiers.
- Fix infinite loop with "Remap Locally" option.
- Fix crashes when changing margin colors.
- Fix crashes in browser smart selection.
- Fix crash when clicking annotation delete
buttons.
- Fix crashes when folding text without proper
context.
- Fix drag and drop of panes and tabs into browser
sessions.
- Fix smart selection settings losing regex
patterns when switching rules.
- Fix smart selection row heights not updating
when editing.
- Fix layout issues in SSH save panels.
- Fix "Save Contents" not respecting the selected
file type.
- Fix saved window arrangements that somehow
became 0x0 in size.
- Fix support for symbolic hotkeys on macOS 15.
- Fix various crashes throughout the application.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
cf05a50072cbe5c767b8ac1c7882f3377f4bed664a0da64cf1b51e61c332ba2d
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaPrRDQAKCRB0Et0TaFtK
rL7/AP9LsRJT7AsVLiJaozJE0GINP9tNod4RMBQ167pjYu+voAD+PkBSTtvvj5NR
Jb9LdsOkMhzsyFfz4qvjpHQL4aiUtKE=
=9Rgd
-----END PGP SIGNATURE-----
iTerm2 3.6.3beta1 (macOS 12.4+)
This is the recommended beta build for most users. Built on September 29, 2025.
[▾ Hide Changelog](<javascript:hideId('1915883919737998181')>)
iTerm2 version 3.6.3beta1 was released on
September 29, 2025
Please note these changes are relative to 3.6.2.
There was no beta for 3.6.1 or 3.6.2.
Improvements:
- Update Open Quickly and AI Chat UIs to use
liquid glass effects.
- Distinguish main from alternate menu items in
Open Quickly.
- Add context menu items to open a URL in a split
pane when you right click on a URL.
- Triggers settings panel is now resizable.
- Don't push the browser plugin when installing
the AI plugin.
- Offer to open files in built-in browser from
Semantic History.
- Remove OpenAI-specific verbiage.
- Don't require an API key for self-hosted AI
models.
Bug Fixes:
- Turn off "remember the size and position of
previously closed windows" by default.
Fixes a problem where windows had unexpected
sizes.
- Fix a bug where windows would have the wrong
number of rows.
- Fix crashes.
- Work around Tahoe bug with autofill heuristic
controller.
- Try to fix a bug where users experience slow
performance/jitters on repeated keys.
- Fix UI alignment bug in Open Quickly.
- Deduplicate URLs in Open Quickly.
- Fix turning off proxy in browser settings not
working.
- Unbreak prompt triggers in non-integration tmux.
- Fix dynamic profiles wrongly ignoring "use
seprate colors for light and dark mode" setting.
- Fix UI problems in color picker in Tahoe.
- Fix how XTGETTCAP errors are reported to fix
some vim plugins.
- Fix a bug where Tahoe would wrongly blur the top
of a window after it was moved to a window from
being a split pane.
- Fix bugs where keyboard shortcuts didn't work in
input fields in alerts in buggy buggy Tahoe.
- Fix bugs in Kitty image protocol that prevented
display.
- Fix UI bugs in filter field in status bar.
- Bring back arrangements to Open Quickly.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
d1ddf7b3c04c10d72f931e729a4cfbe4ad8fb9d98b36b79788a09014abca4112
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaNsg3AAKCRB0Et0TaFtK
rGWjAQCnPWhfy93KCtj6YbonNKvhQHu+HX84vRL0v/BdHdrhVgEAgClCRIQqZFhL
GWmqNJ3JtgkZpc58nCC16H7iqUcSDcY=
=6Ghx
-----END PGP SIGNATURE-----
iTerm2 3.6.0beta9 (macOS 12.4+)
This is the recommended beta build for most users. Built on August 3, 2026.
[▾ Hide Changelog](<javascript:hideId('4915128138722788906')>)
Version 3.7.0beta9 was built on August 3, 2026.
Changes since 3.7.0beta8:
Heads up: future betas will require macOS 13
(Ventura) or later. This is the last version to
support macOS 12. Sorry for the inconvenience!
New Features:
- iTerm2 > Suppressed Alerts is a new panel that
lists warnings you silenced with "remember my
choice" so you can turn them back on. For
example, answering No and checking the box on
the prompt that asks before displaying a
terminal-initiated image silently disabled all
inline images with no obvious way to undo it;
now you can find that choice and clear it. The
old "Always Show Alerts with Remembered
Selections" command moves into this panel.
Issue 12963.
- The manual AI model editor now offers one-tap
presets for OpenAI-compatible providers
(Ollama, OpenRouter, z.ai, Qwen, MiniMax) that
fill in the endpoint for you, plus a Test
Connection button that verifies your settings
and API key before you save.
Improvements:
- Web URLs handed to iTerm2 (by the OS as your
default browser, by "open -a iTerm2 ", by
Velja, or by vim's gx) now open in the built-in
web browser instead of launching a terminal,
unless you have bound the scheme to a specific
profile. If the browser plugin is not
installed, iTerm2 offers it once. Issue 12431.
- Right-clicking an auto-detected URL (the kind
⌘-click opens) now offers Copy URL, which
removes the hard line breaks from a wrapped URL
so a clean link lands on the clipboard.
Issue 12944.
- Right-to-left script support (bidi reordering
plus Arabic and Persian cursive joining) is now
enabled by default. You can turn it off in
Settings > General > Experimental. Issue 4361.
- AI chat history is now replayed to the model
from the exact bytes previously sent rather
than rebuilt each turn, so the prompt cache
stays valid across turns (including turns that
ran a tool) and long conversations keep getting
cheaper and faster.
- Added a Zero Data Retention setting under
Settings > General > AI. Turn it on if your
OpenAI organization has Zero Data Retention
enabled. iTerm2 then stops sending
previous_response_id and sets store=false, so
chats no longer fail on the second message.
Issue 12521.
- An AI chat linked to a terminal session can now
watch that session and tell you when it reaches
a described state or condition, without
polling. Previously only orchestration chats
could set watches.
- ⌘-click now linkifies very long URLs in full.
Previously only the first couple thousand
characters were clickable; the linkifier now
scans onward to the next separator, handles
internationalized (IDN) hostnames, and no
longer joins a URL to unrelated text across a
hard line break.
- When AI chat types into a terminal with the
insert-at-cursor tool, a newline is now sent as
Return so it submits the line in programs like
Claude Code instead of inserting a literal
newline.
- Preferences search now finds several Colors-tab
settings that were previously unsearchable,
such as Border around active pane, Use custom
tab color, and the light/dark color controls.
- The Script Console has a Clear Terminated
button that removes stopped script and
connection entries, so it no longer grows
without bound (and slows the app) when you
repeatedly restart a script. Issue 12942.
- A new tmux window opened with ⌘T now picks up
the profile's custom tab title, if one is set.
- iTerm2 now probes the local network on every
launch so macOS keeps it in the Local Network
privacy list. This recovers the permission
after a tccutil reset or an OS upgrade, fixing
commands like "ping 10.0.0.1" failing with "no
route to host". Issue 12956.
- Faster rendering of text with many colors (such
as syntax-highlighted code) by reusing
attribute dictionaries across color spans
instead of rebuilding one per span. Issue
12763.
Bug Fixes:
- Fixed a local privilege issue where the
orphaned-session server adopter connected to a
socket in a world-writable directory without
checking who owned it. A local attacker could
pre-create the socket and man-in-the-middle a
restored session, capturing keystrokes and
output. The peer's identity is now
authenticated before anything it sends is
trusted.
- Fixed a way for an authenticated Python API
client to exhaust iTerm2's memory by flooding
it with WebSocket ping frames while never
reading the replies. Inbound buffering is now
bounded and such a client is disconnected.
Credit to NSEcho.
- A sixel image whose String Terminator was
written as ESC ESC \ instead of ESC \ is no
longer discarded, leaving a stray backslash on
screen. The image now renders. Issue 12259.
- ⌘-click again opens files in JetBrains IDEs
(IntelliJ IDEA, WebStorm, Rider). iTerm2 now
invokes the IDE's launcher directly so the file
opens in the already-running instance instead
of silently starting a new one. Issue 12958.
- Toggling Caps Lock under the Kitty keyboard
protocol with "report all keys as escape codes"
no longer sends an "A". It now reports the Caps
Lock key's own code. Issue 12922.
- Fixed the Kitty keyboard protocol SET request
destroying the whole flag stack instead of
modifying only the current frame.
- The OSC 9;4 progress bar drawn in the tab is no
longer hidden by the active-pane border when
both are enabled. Issue 12960.
- In tmux -CC sessions with pane-border-status
set to top or bottom, panes are no longer one
row too tall (the bottom line went unused and
the cursor landed a row high after
reattaching). Issue 12925.
- tmux panes no longer receive stray focus-report
escape sequences when the server's focus-events
option is on. Focus reporting now turns on only
when the pane's own program requests it, so it
no longer pollutes the shell prompt or flips
bash's vi mode. Issue 12933.
- Make Screenshot no longer drops ASCII
programming ligatures (-> => != and so on) when
the profile and font support them.
- The Centered window style now looks and behaves
like a normal window (title bar, the close,
minimize, and zoom buttons, and the merged
chrome of the
Minimal and Compact themes), except that it
stays centered. It also no longer changes size
when you minimize and restore it. Issue 12918.
- A left- or right-of-screen window no longer
changes width when you add a tab whose profile
has a different width. Issue 12917.
- Split-pane dividers in different rows or columns
can now be dragged into alignment: a divider
snaps to a matching divider elsewhere in the
tab when it comes within half a cell, fixing a
sub-cell misalignment that whole-cell drag
steps could not correct. Issue 12932.
- Modified function keys (such as Shift-F5) no
longer lose their modifier in a tmux
integration (tmux -CC) session, which sent the
unmodified sequence instead of the xterm form.
Issue 10717.
- The suggested filename for Save contents no
longer contains colons or slashes, which macOS
rendered as "/" in the save panel and Finder.
Issue 12931.
- The command info popover's "Started at" time
now honors the system 24-Hour Time setting
instead of always using a 12-hour clock.
Issue 12929.
- Fixed several VoiceOver problems in the
terminal: QuickNav now engages without toggling
it off and on, content no longer goes stale
when output arrives during an interaction, and
the review cursor no longer jumps to the top.
Issue 12920.
- Reshaping a tab through the Python API's
apply-layout call no longer leaves the window
with no focused pane, so typing works without
first clicking a pane.
- Switching between the main and alternate screen
buffers no longer resets a manual key-reporting
choice when both screens report the same flags.
- Pressing Undo Close when the last closed
session cannot be revived no longer leaves an
invisible empty window behind, which also
crashed Python API scripts with a runaway
refresh loop.
- Fixed a black-holed companion relay connection
that could leave the Mac believing it was
connected for hours over a socket the relay had
already dropped. A keepalive ping that gets no
response within ten seconds now tears the
socket down and reconnects.
- A three-finger drag over an app with mouse
reporting on (tmux with mouse on, or vim with
mouse=a) no longer produces both the app's own
selection and a native iTerm2 selection at
once.
- Fixed various crashes.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
9e22d52ebe7a49d07807053c6ab0fe0b4b5e804b9d10fa57a9432aade72a91cf
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpxPYMACgkQJiz+Xnka
vhu6MBAAgQ3X4kCI2maboQKNtubV9ULVRZnWvtkTL3g5IfVyGfICK2v39KE9TyZJ
UPTSJPQIkp11pSoa7AloVPtAbPsJPs0qonbNmbg5hicohumSeQEV9CRe2h9439zD
UnZuf5Y1+SeuVR/oZ29F9nP2qNU8AhsO2KPwigMTSJ3f/YiFokHPnxjO5HpEuMY+
yMaIbBrTW975kHNb/TbHCfBKatTfcGeC4cRTjnmDgd+gHyj/Ye1KWrVI7rnPekvf
sSxG9JP4ZH3OUwCqowndT81uPk06HfUrqvJH5xITfcO1apy9bmF0symuoDnqp2X+
m+UAKfVZiIOEQAl3/7+nh/MAC6vSPQz/WZtF8wB8kK5Y8QlhpQ/KgfEEb65Lok8M
+vBKqQIcyizVcZa9yDG7CoaEnvsgZTgJnbIf4c7XLI0GwwjQsR1I61ktpe1ybCa3
L0LwazT3b96sQMOiSJDeN4c996vbUJV7XB/GZB+HRjn9n9BGaLkRnqflUqAXbhsT
Nxt8txRHBUlDfXOGLgnWErEmmiC1PUt4kvCopm/abCDPz9ZsWq0l4HmIKB/c7VOr
oV07CVnVnYbT+bTs8V4zFMblD8SEZPPtg5gMrYFDWLcR4BJaZ14qzs0wvNdwHsTJ
9bf3/nwMqbW5D1J/twngNHK62WUJKKcLmNakcPl2kuF3JGbF/Qg=
=Drgq
-----END PGP SIGNATURE-----
iTerm2 3.6.0beta4 (OS 10.15+)
This is a release candidate. Built on September 9, 2025.
[▾ Hide Changelog](<javascript:hideId('3977382373894835481')>)
Version 3.6.0beta4 of iTerm2 was built on September 9, 2025
New Features:
- You can now fork an AI chat conversation by
right clicking on a message and selecting Fork.
Other improvements:
- Update SSH find panel to use liquid glass.
- Make tab bar look better in Tahoe.
- Use system open/save panel with button to switch
to SSH panel.
- Use compact controls in settings.
- Update autoupdate UI for Tahoe.
- Require a plugin to use web browser feature.
- Update control spacing for Tahoe appwide.
Bug fixes:
- Fix a bug where the window title was off center
in Compact theme.
- Fix position of New Tab button in tab bar
- Don't show subtitles in Compact theme.
- Fix various crashes.
- Ensure tmux profile is not a browser profile.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
e8258b35fd1c84f38b935275aa9b3b4e64e6ef6bbf5382cb2b3febcc9852746f
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaMCsrgAKCRB0Et0TaFtK
rOoTAP9AeMrRHhSCFion9bOcSLOl8ssdiaLNj+X93wrqqVzQAQD+MFfP5xwn5I6M
5T4XyWyA6CBn+AlNcQfb//6zaDimswY=
=jS+s
-----END PGP SIGNATURE-----
iTerm2 3.6.0beta3 (OS 10.15+)
This is the recommended beta build for most users. Built on September 3, 2025.
[▾ Hide Changelog](<javascript:hideId('209661106473113804')>)
Version 3.6.0beta3 of iTerm2 was built on September 3, 2025
New features:
- In Edit Session, triggers now show a performance
histogram to help you diagnose slow triggers.
- Unicode 16 support.
- Add Tahoe-style tab bar.
Other improvements:
- This version was built with Xcode 26 and should
be a good citizen of macOS 26.
- Updated app icon for macOS 26.
- Add icons to menus for macOS 26.
- Add help text for hard-to-understand key binding
actions.
- When search is restricted because a command is
selected, indicate that this is the case in the
find panel.
Bug fixes:
- Fix a bug where navigating to a split pane by
numeric shortcut when there was a maximized pane
did not reveal the active pane.
- Fix a bug where search results would sometimes
be found outside a selected command.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
22c85495a30206c1bdd07a26259c7c7eacfa723aea4faaa7567010d97a3819e6
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaLjUcQAKCRB0Et0TaFtK
rHCRAQDDuI+5gFjNvlfke1mHPLTWHb8YAXllSDHvBSInzIvXRQD7BJEJECZtj4aq
zKI/FyH6crZ9DBd7ppQbFCGERAYOQCo=
=tWqv
-----END PGP SIGNATURE-----
iTerm2 3.6.0beta2 (OS 10.15+)
This is the recommended beta build for most users. Built on August 20, 2025.
[▾ Hide Changelog](<javascript:hideId('8233284761871540869')>)
Version 3.6.0beta2 of iTerm2 was built on August 20, 2025
New features:
- Filter now supports regular expressions.
- If you connect to a remote host with ssh
integration, you can view files there in the
in-app browser by cmd-clicking on them.
- Most save and open dialogs now let you pick
files on remote hosts you are connected to using
ssh integration.
- AI chat can now interact with the browser.
- All iTerm2 features that make sense are now
available in browser profiles.
- Add support for gpt-5
Other improvements:
- Inactive sessions can not resize the window.
Mitigates an nvim bug.
- http is now allowed in Quicklook
- Illegal values are allowed temporarily while
editing numeric fields in settings.
- AI chat gained a stop button, a model selector,
and a button to toggle reasoning.
Bug fixes:
- Fix a bug in replacing content with decoded
base64 where it sometimes was not available when
it should have been.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
6b2e4364c776b2101acabfd4cb70ec2dcc52622587f934b6fff1f5587be65d86
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaKYIKAAKCRB0Et0TaFtK
rLQGAQDtBq8ISv254rpdva5T+3EVqzfyuEECELyPdCSHMzrK5gEAka+gxbSsf+3M
MN5kxE0gmI1/+09fPmth9fcrACHY1dM=
=2iW3
-----END PGP SIGNATURE-----
iTerm2 3.6.0beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on July 28, 2025.
[▾ Hide Changelog](<javascript:hideId('2648840769804872414')>)
Version 3.6.0beta1 of iTerm2 was built on July 28, 2025
Only macOS 11 and later are supported for this
release. Sorry :(
New Features:
- iTerm2 is now a web browser as well as a
terminal emulator! In Settings > Profiles >
General, set "Profile Type" to "Web Browser".
Many existing features already work in browser
sessions, such as key bindings, smart selection,
navigation, open quickly, focus follows mouse,
and the password manager. Form filling, adblock,
reader mode, and removal of distracting elements
are already there. More will come as we progress
towards a stable release of 3.6.0.
Other Improvements:
- Anthropic is now available as an AI provider.
- Delay sending text at start until the window
finishes entering full screen mode.
- Tildes are now expanded in the folder for
automatic logging.
- Various performance improvements.
- Automatic profile switching job rules now match
against the full command line as well as just
the job name.
- Draw cursor guide over powerline glyphs when
native powerling glyphs are enabled.
- Don't require keychain access to open settings
window.
- Background colors now extend all the way to the
edges by default. You can disable this with
Settings > Advanced > Extend background color into
margins in alternate screen mode.
Bug Fixes:
- Fix crashes.
- Fix a bug where relative timestamps could be
incorrect.
- Fix a crashw hen right clicking in some text
fields in settings.
- Fix crazy weird animations when animating cursor
movement.
- Make "fold to named mark" pick the last mark
with a given name.
- Fix a bug where folding to named mark would
sometimes place the collapsed line in the wrong
place.
- Fix a bug where an invisible composer window
could be left behind, preventing you from
clicking on the top of the terminal.
- Don't add snippets to the top level menu if they
have tags.
- Fix a crash when modifying a dynamic profile
through the settings UI.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
007bd3bd6b495ea587362946cf998033b6533893064ee060b3188fe28bab5289
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaIf83wAKCRB0Et0TaFtK
rFZZAPwMXiCQbMBJpePGolpapSgM5zANmx33r3YJJb+Rr/kcaAEAn6k1KJAd9LF6
RSDjVwP+75UTHheZnUaesOSYKBY73Js=
=u7B+
-----END PGP SIGNATURE-----
iTerm2 3.5.15beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on June 16, 2025.
[▾ Hide Changelog](<javascript:hideId('6452588660102125114')>)
Version 3.5.15beta1 of iTerm2 was built on June 16, 2025
New Features:
- Huge improvement in throughput for printing
ASCII text (when there are no triggers).
- Timestamps can now be shown adjacent to session
content rather than overlapping it. You can
configure this in Settings > Profiles > Session >
Timestamps.
- A conversational UI for chatting with LLMs has
been added under Window > AI Chats.
- Added Edit > Replace Selection > Replace with
Pretty-Printed JSON. This is useful to improve
readability of JSON and lets you hide/show
subsections.
- Added Edit > Replace Selction > Replace with
Base64-(En/De)code value.
- Added a new trigger that lets you modify any
stylistic attribute of text by using SGR codes.
- The Snippets Toolbelt tool was revamped to show
the tag-defined hierarchy.
- Menu items are now accessible through Open
Quickly, making it into a command palette.
- There is a new key binding action, Copy Mode
Commands, that lets you perform copy mode
actions (e.g., enter copy mode, move the cursor
around, make a selection, and so on).
- Added Settings > General > Experimental for
features that are almost but not quite ready for
prime time. Right-to-left text support and SSH
Integration for ssh: URLs is there.
- AI settings were revamped. You can now set it to
always use the recommended model for your
provider so you don't have to constantly update
it.
- When using SSH integration, there is a new menu
item "Shell > ssh > Download Files" that opens a
file picker that lists files on the remote host
to download. Transfers go over ssh integration
so no new connection needs to be made.
Other Improvements:
- If you try to set a hotkey to a commonly used
shortcut, request confirmation.
- If you have right-to-left support enabled, it is
now on by default in alternate screen mode.
- Improve appearance of key bindings in settings.
- Improve appearances of some natively rendered
powerline glyphs.
- Whitespace is now automatically trimmed from AI
API keys.
- Add a new key binding action "Copy Interpolated
String".
- Secure settings are now stored in /usr/local if
your home directory is a network mount.
- Saved cursor position from DECSC is now reflowed
when resizing.
- Background image path can now be interpolated
strings.
- Dimming is temporarily disabled while in colors
settings.
- The context menu now shows how strings would be
base64 (en/de)coded.
- Navigating to the next or previous mark now
selects the command if command selection is
enabled.
- Improve the appearance of in-terminal buttons
when they overlap text.
- The UI for setting "send text at start" in
settings now has an expanding text box if you
feel like writing a lot.
- Detect when mouse reporting and DEC 2048
reporting was accidentally left on by watching
for characters being echoed back.
- Semantic history now searches ancestors of the
working directory if the path you click has a
prefix in common with a suffix of the working
directory.
- Some menu items now show a floating window that
explains their purpose when you hover over them.
- Minor improvements to the appearance of the
Composer.
- Named marks are now accessible through Open
Quickly.
- Added a settings button to the selected command
buttons so you can disable command selection.
- SSH integration now lets you set the path to
ssh. You can set it in the UI under Settings >
Profiles > General > Configure or by setting the
SSH environment variable if you use it2ssh.
- The UI for setting up triggers and smart
selection rules has been reworked.
- Menu items were moved around to make the Window
menu less absurdly large.
- DEC 2048 is turned off automatically when
the current hostname is detected to have
changed.
- The appearance of announcements has been
updated.
- Prevent the accent menu from appearing behind
hotkey windows.
- Added "Settings > Profiles > Terminal >
Click on a path in a shell prompt to open
Navigator" to provide a new way to navigate the
filesystem.
- Secure settings are now used to record which
hostnames can have URLs opened by control
sequence.
- Esc now closes the Open Quickly window.
- Added the option to hide the cursor when
keyboard focus is lost.
- You can now right click on timestamps to set a
baseline (but due to a bug it doesn't work with
the GPU renderer. That will be fixed in the next
beta).
- You can now right click on a text field in
settings and select "Reset to default value".
- Settings search now uses a Porter stemmer for
better recall. You can quote words or
phrases to do literal search.
- Triggers and Smart Selection settings now show a
beautiful railroad diagram of your regex.
- Add a new key action, Bypass Terminal, that
allows systemwide shortcuts to be handled
without the terminal window taking them.
- Semantic history can now be configured to send
text instead of opening a file.
- Add support for macOS 15's feature where double
clicking a title bar can be set in system
settings to fill the screen.
- There is a new profile setting to automatically
turn on alternate mouse scroll in alternate
screen mode and another to restrict it to
vertical movement.
- When opening settings the default profile is now
automatically selected.
- In open quickly, you can now use /A to restrict
results to open arrangements in tabs.
- Windsurf added to Semantic History editors.
- Detect when there is a non-default background
color and extend it into the margins. In
Minimal, it is also extended into window chrome.
Bug Fixes:
- Fix a bug when copying a session's settings to a
profile where the per-session hotkey was also
copied over.
- Fix a bug where an empty cd command was issued
when running a command from an iterm: URL in an
existing session..
- Fix a bug where an empty "gray" window could be
left behind.
- Fix a bug where jump to selection didn't work.
- Systemwide hotkey is now hopefully more
reliable.
- Fix a bug where silent coprocesses didn't work
right with ssh integration.
- Fix a bug where restoring a window arrangement
could cause windows to appear on the wrong
screen.
- Fix some bugs in key reporting that differed
from Kitty's behavior.
- Inline HEIC images now work.
- Fix a visual bug when selecting half of a
double-width character.
- Fix many bugs in SIXEL image decoding.
- Fix a bug where reattaching to tmux integration
after relaunching the app didn't work.
- Rich text is de-richified when pasting into
Codecierge.
- Fix a bug with fish were you could end up with
two prompt marks on adjacent lines.
- Fix various bugs with fold/unfold in conjunction
with auto composer.
- Fix a bug where selecting a title provider
vended by a Python API script sometimes did not
work.
- Fix a bug where SSH Integration tabs would have
an activity indicator when they were idle.
- Fix it2dl over ssh integration.
- Fix a bug where you could do Move Pane to Tab
more than once concurrently.
Things Made Worse:
- Stylstic alternatives are now only available when
ligatures are enabled to avoid taking a slow code
path that most people don't want.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
8e31cb83cf41a4ee8d9edfab0acf194d14cb5bb9422b5617194ab11c8663a24f
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaFD0oAAKCRB0Et0TaFtK
rCQRAP0fBzkKOZ0rf1RT5PZnEaL84gViyrhfLoVtWAoYf2I3KQD9GmzDIKLtuLK1
vTQyNgZZu5ED+t5F4xRIO5DqO4Qja/E=
=7d1N
-----END PGP SIGNATURE-----
iTerm2 3.5.13beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on April 7, 2025.
[▾ Hide Changelog](<javascript:hideId('1892038136003454996')>)
Version 3.5.13 of iTerm2 was built on April 7, 2025
Bug Fixes:
- Fixes a number of crashes.
- Fixes a bug where shortcuts for window tiling
menu items did not work.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
0fa409b56033543fa46ecafcdf4f1b676029ea47f89a0f45cbb3c905c7bc31a9
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ/Q8bAAKCRB0Et0TaFtK
rESgAQDNYIcBebxZd7WCEmmhfd+VZnLxQmW9d8fdCIhlK5Gs1AEAlbf95PPJndGE
I81aAGf4hxbJH4l+aldhYaZCleFMKSU=
=6hV+
-----END PGP SIGNATURE-----
iTerm2 3.5.12beta4 (OS 10.15+)
This is the recommended beta build for most users. Built on April 1, 2025.
[▾ Hide Changelog](<javascript:hideId('4946864796002525014')>)
Version 3.5.12beta4 of iTerm2 was built on April 1, 2025
Bug Fixes:
- Fixes a crash in beta3.
Release notes for 3.5.12beta3 follow:
- Fix a bug where advanced GPU settings could
appear outside of settings.
- Fix a bug where opening a command from a URL
could add an empty `cd` command.
- Fix a bug where empty windows could sometimes
remain visible after changing window style.
- Fix a bug where emoji did not render properly
with the GPU renderer.
- Fix some discrepancies in key reporting when
using the Kitty protocol.
- Fix a bug when replacing text in history (such
as when rendering content natively).
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
5390c683782ef792556d4b2f368e82a5957ae8966a166a7dc0c14f1babfeb813
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ+whsQAKCRB0Et0TaFtK
rBgKAQCVS/isjDb4jcJXk3KLN5m56ECuCfbq1agJPo/CGk9QmgEAzF6Asgyck+dB
qoFlaGAt50+K072qzApvjRUxhI1U64Y=
=ubRx
-----END PGP SIGNATURE-----
iTerm2 3.5.12beta3 (OS 10.15+)
This is the recommended beta build for most users. Built on March 31, 2025.
[▾ Hide Changelog](<javascript:hideId('1071686229109957467')>)
Version 3.5.12beta3 of iTerm2 was built on March 31, 2025
Bug Fixes:
- Fix a bug where advanced GPU settings could
appear outside of settings.
- Fix a bug where opening a command from a URL
could add an empty `cd` command.
- Fix a bug where empty windows could sometimes
remain visible after changing window style.
- Fix a bug where emoji did not render properly
with the GPU renderer.
- Fix some discrepancies in key reporting when
using the Kitty protocol.
- Fix a bug when replacing text in history (such
as when rendering content natively).
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
5d7193ae2569071c62442336b4df43a4a18ba01191e7025e3bc99b91b88ec4bb
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ+rnrQAKCRB0Et0TaFtK
rGvrAP0XO3dEwJlTu+pDNoCZLmYMY7376zYHs98wJy3C5rHFoQEAoGM+6H9dxNr+
2SfzQ2MyYoYGiSn2iqS7QuEGCM4AvpE=
=jX62
-----END PGP SIGNATURE-----
iTerm2 3.5.12beta2 (OS 10.15+)
This is the recommended beta build for most users. Built on January 27, 2025.
[▾ Hide Changelog](<javascript:hideId('7371259639234697332')>)
Version 3.5.12beta2 of iTerm2 was built on January 27, 2025.
New Features:
- In apps that support the new key reporting
protocol (notably neovim) you can now map
keys to Hyper, Super, and Meta.
- You can now opt to highlight non-default values
in settings. Toggle it with the dropdown menu on
the loupe in the settings search bar.
Other Improvements:
- Fix a hang on machines with contested GPU memory
when using the GPU renderer.
- The zoom button menu is now enabled by default.
- Improve performance when up large files
or pasting enormous strings.
- Some menu items moved around to reduce the size
of the Window menu.
- You can now disable the secure keyboard input
indicator by clicking on it and then following a
link in the popover.
- When using a directory from Directory History at
the prompt, escape characters like space.
- There's a new advanced setting to enable
right-to-left text in alternate screen mode.
Bug Fixes:
- Fix crashes.
- Add a setting to Profiles > Terminal to use
newline rather than carriage return for tmux
integration. This fixes a hang when starting
tmux integration on old/weird unixes.
- Fix a bug where the session hangs after a failed
download.
- Fix a bug where all tmux connections in a window
were detached when only a single one should have
been.
- Fix various key reporting bugs, which mostly
affects neovim.
- Fix a bug in the Jobs tool where entering an
illegal signal name made the signal name combo
box disabled.
- Fix a bug where the search result and mark
indicators under the scroll bar didn't always
fill the entire scrollbar region.
- Fix a bug in focus follows mouse mode where
window order was unexpected and activating a
window might switch desktops.
- Fix a bug where the initial window's size might
be wrong on macOS 15.
- Fix a bug where shell integration injection
didn't work in the presence of a custom shell if
you have .hushlogin in your home directory.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
7c6774e4fa07c0b6071955c0533ca5323293624248551c495abf0e8c92f4c5ce
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ5hARAAKCRB0Et0TaFtK
rL11AP4pJgN2bI8RaSdrJp3hdBJb7uvpKhJNunxEQANtlGft7QEA5g8tzaQdcN7T
uSgvSg/skWdShv1JGgtwS9YIugtWPmU=
=ul/n
-----END PGP SIGNATURE-----
iTerm2 3.5.12beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on January 2, 2025.
[▾ Hide Changelog](<javascript:hideId('3510865892377715757')>)
Version 3.5.12beta1 of iTerm2 was built on January 2, 2025.
This release contains a critical security fix. I
strongly recommend updating immediately.
Who is affected?
----------------
You may be affected if you used the SSH
integration feature in any of the following
versions:
* 3.5.6
* 3.5.7
* 3.5.8
* 3.5.9
* 3.5.10
* Any beta versions of 3.5.6 and later.
What is the issue?
------------------
A bug in the SSH integration feature caused input
and output to be logged to a file on the remote
host. This file, /tmp/framer.txt, may be readable
by other users on the remote host.
When does this occur?
---------------------
The issue occurs if both of the following conditions are true:
1. Either:
a) You used the it2ssh command, or
b) In Settings > Profiles > General, the
Command popup menu was set to "SSH" (not
"Login Shell", "Command", or "Custom
Command") AND "SSH Integration" was checked
in the SSH configuration dialog. That dialog
is shown when you click the Configure button
next to the ssh arguments field in Settings.
2. The remote host has Python 3.7 or later
installed in its default search path.
What should you do?
-------------------
* Upgrade immediately to version 3.5.11.
* Delete /tmp/framer.txt on affected hosts.
How I'm addressing this
-----------------------
I deeply regret this mistake and will take steps
to ensure it never happens again.
The code to write to log files in SSH integration
has been deleted and will not be publicly released
again.
If you have questions you can contact me at
[email protected].
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
825414c7aee75ee191a543f4b3d4fc25dfd1682c2d441d6038211f67dee5c5cd
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ3btcwAKCRB0Et0TaFtK
rPA8AQDww2gyGXo0Q+vsiQ74RePN4jHYzWlCQK5XE0gBtEeVWQEAqcgg2e5B/hoi
7adZIEAIfeaLROYs+CQm9o8I5C8XD5I=
=Qmg8
-----END PGP SIGNATURE-----
iTerm2 3.5.11beta2 (OS 10.15+)
This is the recommended beta build for most users. Built on December 17, 2024.
[▾ Hide Changelog](<javascript:hideId('4592104824749530589')>)
Version 3.5.11beta2 of iTerm2 was built on December 17, 2024.
New Features
- Session > Change Profile in Arrangement lets you
edit an existing arrangement.
- Settings > Profiles > Text > Animate Cursor
Movement was added. This makes it easier to keep
track of the cursor as it jumps around in
interactive apps.
Improvements
- You can now share triggers.
- The triggers settings panel now supports
multiple selection.
- The custom xterm-* terminfos that ship with
iTerm2 now define rmxx and smxx.
- Terminal.app compatibility key binding presets
updated for current Terminal.app behavior.
- When you change the app's theme in Appearance
settings, this now behaves like the whole app is
in light/dark mode.
- You can now expand the profile command text
field to enter a really long command more
easily.
- When activating iTerm2 when focus follows mouse
is on and a window that isn't frontmost has
keyboard focus, prevent it from being reordered
to the front.
- Fonts with contextual alternates will now use
them by default.
Bug Fixes
- Fix a truly horrific memory leak.
- Fix a bug where Copy of a multi-line string
would pick up the first line over and over.
- Fix various crashing bugs.
- Fix a bug where AI didn't work right when using
the status bar composer component.
- Allow MonacoLigaturizedNFM to have ligatures.
- Fix a bug where the status bar filter component
didn't work.
- Fix a bug where control+arrow key didn't work.
- Fix a bug where search highlights were the wrong
color in dark mode.
- Fix bugs in dynamic profile rewriting that
messed up colors.
- The OpenAI O1 models didn't work. Fixed.
- Fix a bug where menu items in the status bar
Find component were disabled.
- Fix a bug in Natural Text Editing for
option-delete.
- Fix a bug where secure copy's UI claimed that
fingerprints used DSA, which was never true.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
9fae83e7fb0e52dbcd89621eb985e49d0e7a22bf292581e8ab3010c8a6dfa41f
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ2HvqgAKCRB0Et0TaFtK
rEo8AQC4SGNZfQvKZRKcQ4RpiVZuhw14OyCVYuQZyADRytG/7AD/bkZ7342zWtW7
3du9rQEZuzg8pAwg/TimgqBx6tDn+XI=
=7Jbf
-----END PGP SIGNATURE-----
iTerm2 3.5.11beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on November 26, 2024.
[▾ Hide Changelog](<javascript:hideId('7850873043611124086')>)
Version 3.5.11beta1 of iTerm2 was built on November 26, 2024.
New Features
- Right-to-left text is now rendered properly.
Enable it in Advanced Settings by searching for
"right-to-left". Please file bugs for any
problems you find.
- Dynamic profiles can now be written to when you
make changes in the Settings UI. You'll need to
add a property named "Rewritable" to dynamic
profiles that you wish to have this ability,
and set it to True. When you attempt to change a
dynamic profile in settings, you'll be prompted
to have this done for you automatically.
Improvements
- AI now gets the output of `uname -s` rather than
`uname`. The other info uname provided was not
useful.
- If you have enabled "^-Click reported to apps,
does not open menu", control-click will now work
normally when mouse reporting is off.
- When alternate screen mode is disabled, scroll
the current screen contents into history when an
app attempts to enter alternate screen mode.
- Short drags of the "new tab" button now act as a
click.
- UI improvements for the "disable transparency
for fullscreen windows by default" setting.
- If you use the 1password integration, you can
now right-click on an account to toggle whether
an OTP will be sent.
- Added a new button to reveal the location of
the AI plugin, and another button to force
iTerm2 to re-check if it is installed.
- Add support for DEC private mode 80 (sixel
scrolling).
- Move some files from application support to
caches.
- Cancel hiding a hotkey window if it has a modal
sheet attached.
- In advanced paste, turn off "wait for prompt
before pasting each line" for shells that use
paste bracketing because that would deadlock.
- Various minor improvements to AI UIs.
- Add a UI to fix broken saved arrangements.
- When an app tries to resize the window but is
denied, notify the user.
Bug Fixes
- Fix various crashes.
- Fix the delete key, function keys,
option+letter, and repeated keys in nvim.
- Don't snap to grid when using macOS's new tiling
features.
- Fix a bug that screwed up saved arrangements,
deleting their profiles.
- Fix a bug in sending inband resize
notifications where the terminal letter of the
control sequence was missing.
- Fix a bug where the cursor was in the wrong
place after showing a Sixel image.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
332ee330698c8190994a2d2a30cf76e2377f62f5305ddcd533a8a6627168138e
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ0ZoXwAKCRB0Et0TaFtK
rOEyAP0TzEIHHWgQXgZ6MUCt4Yl+AaOELI0FOx1DrROH7uGRBQD/b16FDajtbjWx
tZo7UclJiDOItaRy26DjPL6oREAoWpc=
=QdJG
-----END PGP SIGNATURE-----
iTerm2 3.5.6beta3 (OS 10.15+)
This is the recommended beta build for most users. Built on October 23, 2024.
[▾ Hide Changelog](<javascript:hideId('9032819635805369109')>)
3.5.6beta3, built on October 23, 2024.
3.5.6beta2 was inadvertently the same as 3.5.6beta1.
3.5.6beta1 was short-lived so its release notes
appear below.
New Features
Improvements
- SentinelOne users will be warned when upgrading
from this version to the next if the update
would be classified as malware. Hopefully.
- Show a warning when a Codecierge session goes on
for a long time.
- Change how the status bar measures memory used
to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
over an inactive window and use the scroll
wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
the Download with scp feature.
Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
might not be respected if the parent/default
profile uses separate light/dark mode colors
but the dynamic profile does not.
- Don't report option+keystrokes when using the
Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
hue/chroma visualization in colors settings.
Release notes for 3.5.6beta1, built on October 11,
2024, follow:
New Features
- You can now "fold" a section, which collapses it
down to a single line. If you use shell
integration, you can fold by clicking on the blue
arrow next to the shell prompt. Alternately,
select the command by clicking it once and then
click the new fold button at the top of the
selected region. If you don't use shell
integration, you can select a range of lines and
choose Fold from the context menu or Edit > Fold
Selected Lines.
To unfold, click the arrow in the margin or
right click on the line and select Unfold or
select Edit > Unfold in Selection.
- When saving a window arrangement you can now
choose to save it to a file including the
windows' contents. You can load an arrangement
file with Window > Load Arrangement from File.
- Added `Window > Lock Split Pane Width` which
tries to preserve the width of a split pane as
the window's geometry changes.
- You can now choose to play a sound when the next
mark is received, under Edit > Marks and
Annotations > Alerts.
Improvements
- When you drag a window by its titlebar in the
Minimal or Compact themese, bring the window to
the front immediately.
- Global Search now searches the main screen of a
session even if it is currently displaying the
alternate screen.
- When mouse reporting is on and you click in a
window that is not currently active, that click
will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
hostnames to avoid incorrectly changing the key
reporting mode.
- In macOS 15, if control-return would be
reported, don't show the context menu.
- If you run iTerm2 from the command line, the
--help argument now gives usage info.
- Some silly default key bindings interfered with
macOS Sequoia's window tiling shortcuts. A new
migration process offers to remove them for you.
- Remove special support for control-page up/down
to scroll, which interfered with window tiling
shortcuts. It was only there because of a
misunderstanding 14 years ago.
Bug Fixes
- Hopefully fixed accessing machines on the local
network and bonjour hosts on macOS Sequoia.
- Fix crashes.
- Fix a bug where locale settings didn't correctly
update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
reporting flags are set.
- Fix minor drawing bugs.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
dcb5e44fbb5bbefde3774f3b19b7a54fb0a5b5f68e041ce91d17a712b409074f
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZxlXggAKCRB0Et0TaFtK
rGKhAQCbp2F8WAZkIx8mMLXClq4cotJg46ETj7rFQfAJE+YoEQD+KqqIpSRIbePY
ibJHydSNv9GkQUuWlfNQs5rMxNqjVhs=
=MOy3
-----END PGP SIGNATURE-----
iTerm2 3.5.6beta2 (OS 10.15+)
This is the recommended beta build for most users. Built on October 17, 2024.
[▾ Hide Changelog](<javascript:hideId('4738314204643773610')>)
3.5.6beta2, built on October 17, 2024.
3.5.6beta1 was short-lived so its release notes
appear below.
New Features
Improvements
- SentinelOne users will be warned when upgrading
from this version to the next if the update
would be classified as malware. Hopefully.
- Show a warning when a Codecierge session goes on
for a long time.
- Change how the status bar measures memory used
to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
over an inactive window and use the scroll
wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
the Download with scp feature.
Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
might not be respected if the parent/default
profile uses separate light/dark mode colors
but the dynamic profile does not.
- Don't report option+keystrokes when using the
Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
hue/chroma visualization in colors settings.
Release notes for 3.5.6beta1, built on October 11,
2024, follow:
New Features
- You can now "fold" a section, which collapses it
down to a single line. If you use shell
integration, you can fold by clicking on the blue
arrow next to the shell prompt. Alternately,
select the command by clicking it once and then
click the new fold button at the top of the
selected region. If you don't use shell
integration, you can select a range of lines and
choose Fold from the context menu or Edit > Fold
Selected Lines.
To unfold, click the arrow in the margin or
right click on the line and select Unfold or
select Edit > Unfold in Selection.
- When saving a window arrangement you can now
choose to save it to a file including the
windows' contents. You can load an arrangement
file with Window > Load Arrangement from File.
- Added `Window > Lock Split Pane Width` which
tries to preserve the width of a split pane as
the window's geometry changes.
- You can now choose to play a sound when the next
mark is received, under Edit > Marks and
Annotations > Alerts.
Improvements
- When you drag a window by its titlebar in the
Minimal or Compact themese, bring the window to
the front immediately.
- Global Search now searches the main screen of a
session even if it is currently displaying the
alternate screen.
- When mouse reporting is on and you click in a
window that is not currently active, that click
will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
hostnames to avoid incorrectly changing the key
reporting mode.
- In macOS 15, if control-return would be
reported, don't show the context menu.
- If you run iTerm2 from the command line, the
--help argument now gives usage info.
- Some silly default key bindings interfered with
macOS Sequoia's window tiling shortcuts. A new
migration process offers to remove them for you.
- Remove special support for control-page up/down
to scroll, which interfered with window tiling
shortcuts. It was only there because of a
misunderstanding 14 years ago.
Bug Fixes
- Hopefully fixed accessing machines on the local
network and bonjour hosts on macOS Sequoia.
- Fix crashes.
- Fix a bug where locale settings didn't correctly
update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
reporting flags are set.
- Fix minor drawing bugs.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
922e7a07b654ac9b8ba1463328351838575cbfca863bb9b2676b657f3937d683
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZxF5IAAKCRB0Et0TaFtK
rKf9AP9Eh43OKTX2zJ1QRjLssY9H7TfU+ViSZjRG22jk9lL2kAD/ZJYvCmriKc4n
voXv2iR85hxZ2P2/b3PSRe7O4rhCtxg=
=/4C6
-----END PGP SIGNATURE-----
iTerm2 3.5.6beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on October 11, 2024.
[▾ Hide Changelog](<javascript:hideId('6593383971273609331')>)
3.5.6beta1, built on October 11, 2024.
New Features
- You can now "fold" a section, which collapses it
down to a single line. If you use shell
integration, you can fold by clicking on the blue
arrow next to the shell prompt. Alternately,
select the command by clicking it once and then
click the new fold button at the top of the
selected region. If you don't use shell
integration, you can select a range of lines and
choose Fold from the context menu or Edit > Fold
Selected Lines.
To unfold, click the arrow in the margin or
right click on the line and select Unfold or
select Edit > Unfold in Selection.
- When saving a window arrangement you can now
choose to save it to a file including the
windows' contents. You can load an arrangement
file with Window > Load Arrangement from File.
- Added `Window > Lock Split Pane Width` which
tries to preserve the width of a split pane as
the window's geometry changes.
- You can now choose to play a sound when the next
mark is received, under Edit > Marks and
Annotations > Alerts.
Improvements
- When you drag a window by its titlebar in the
Minimal or Compact themese, bring the window to
the front immediately.
- Global Search now searches the main screen of a
session even if it is currently displaying the
alternate screen.
- When mouse reporting is on and you click in a
window that is not currently active, that click
will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
hostnames to avoid incorrectly changing the key
reporting mode.
- In macOS 15, if control-return would be
reported, don't show the context menu.
- If you run iTerm2 from the command line, the
--help argument now gives usage info.
- Some silly default key bindings interfered with
macOS Sequoia's window tiling shortcuts. A new
migration process offers to remove them for you.
- Remove special support for control-page up/down
to scroll, which interfered with window tiling
shortcuts. It was only there because of a
misunderstanding 14 years ago.
Bug Fixes
- Hopefully fixed accessing machines on the local
network and bonjour hosts on macOS Sequoia.
- Fix crashes.
- Fix a bug where locale settings didn't correctly
update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
reporting flags are set.
- Fix minor drawing bugs.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
84e92a44827df3b09164a91db2e54036fd407c0db7214fd029c1b768bb7d33b4
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZwmFeAAKCRB0Et0TaFtK
rCY8AQChmmLuXfMnoa4Cra9knJ3MpblTVOmuUOsSZHbPx/2l5wD/fA/j6v53Lbsu
JzyLXztFBs5wI/DOaZ5a5Hk+OgOtgZc=
=Irup
-----END PGP SIGNATURE-----
iTerm2 3.5.5beta2 (OS 10.15+)
This is the recommended beta build for most users. Built on September 19, 2024.
[▾ Hide Changelog](<javascript:hideId('789321121608683081')>)
3.5.5beta2, built on September 19, 2024.
New Features
- Snippet search now supports using | as logical
OR.
Improvements
- The option key now acts as Alt rather than Meta
for keystrokes like function keys and arrows.
This fixes some things like option-arrow in
Emacs and probably breaks other workflows.
You can revert to the old behavior with the
profile setting "Treat ⌥ as Alt".
- Improvements to how tmux window sizing works.
This is the new behavior:
When attaching to an existing session:
If "When attaching, restore windows as" is set
to "Tabs in the attaching window", the window
will not resize. Tabs are just added.
Otherwise, restore previous tmux window sizes.
When creating a new tab:
The window will not to resize (unless a tab
bar comes or goes).
When creating a new window:
The window size in the profile under the
Window tab is respected.
- 1Password Credentials with the tag iTerm2 are
now usable in the password manager when the
1Password integration is enabled.
- Disable the menu shown when you hover or
right-click on the window's zoom button because
it caused a lot of hangs. You can reenable it
with an advanced setting.
- Asciicast logs now include resize events.
- o1-preview and o1-mini OpenAI models added.
Bug Fixes
- Fix a very frequent crash.
- Fix a bug where "apps can change how keys are
reported" was not always respected.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
9733c921e072f030b02c456839ce965ebea7e956e80bfe191e93269b1f7e1e6d
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZuyyjAAKCRB0Et0TaFtK
rP+SAPwJS1U36Yj6ubbJB2hwwc4ovJXJ3zU0zPmQdFSMGyWciwEAtvNYwlVV6C71
SC7Tnuf67qjvdQNE26y+TOQEKhoMm/k=
=0YDv
-----END PGP SIGNATURE-----
iTerm2 3.5.5beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on September 9, 2024.
[▾ Hide Changelog](<javascript:hideId('7886305111651725784')>)
3.5.4beta2, built on September 9, 2024.
New Features
- Add support for the Kitty key reporting
protocol.
- Add support for the Kitty graphics protocol
(except animation).
- Show a warning in the settings window's titlebar
when there are unsaved changes and manual saving
was selected.
- Custom working directory now supports $$
variables.
- XTGETTCAP now supports all terminfo keys.
- Add support for DECSET 2048 (send in-band resize
notifications).
- There is a new search operator for Profile
search. Prefix a term with command: to search
only the profile's custom command for that word.
- Add support for VT levels. You can now use
DECSCL to set the current VT level and commands
with higher levels will be ignored. Fixes a
problem VMS users noticed.
- Add a hue/chroma visualization to the colors
panel so you can see if you have a nice spread
for the ANSI colors.
- If you use a / in a snippet tag, that creates a
tag hierarchy as reflected in the main menu's
snippets.
- Add a setting to disable alternate mouse scroll
(sending arrow keys when using the scroll wheel
while in the alternate screen).
Improvements
- Open Quickly now shows search results even with
an empty query.
- Add a menu item to save color presets.
- Move selection when the selected text scrolls
within a scroll region.
- Improve filename suggestions in auto composer to
include subdirectories.
- When focus follows mouse is on in tmux
integration don't automatically raise windows.
- Upload and download colors for the network
status bar component are customizable now.
- When exporting a Python API script the UI now
offers a checkbox to make it offer to
autolaunch.
- Show cert expiration dates in Python API script
export UI.
- All the shell integration utilities are now in
the default $PATH.
- The new AI model is gpt-4o-mini.
- Cmd-clicking on a link or semantic history match
will not report it via mouse reporting.
- Add "Move session to split pane" to the Window
menu to enable keybindings.
- Add extended powerline symbols u+0ed6 and
u+e0d7.
- When saving a window arrangement with multiple
windows, save them in the same order as their
shortcut numbers so they can be restored and
preserve the shortcuts.
- Add Cursor editor support to semantic history.
- Improve appearance of various settings screens.
- Hide offscreen command line when the last
command line is just above the screen to avoid
blocking its output when you do clear;something
- When you change the AI model, automatically
update the URL in settings. Add ollama to
default models.
- The snippet editing UI now has a right click
menu to simplify editing actions.
Bug Fixes
- Fix various crashes.
- Fix performance issues.
- Fix file transfers in ssh integration when the
directory uses tilde for home.
- Fix failing transfers in ssh integration when
using a host alias defined in ssh config.
- Fix a bug where underlines were sometimes wrong
in the GPU renderer.
- Fix a bug when duplicating a session that broke
working directory recycling.
- Fix a bug where windows in tmux integration
could be the wrong size of the tmux connecting
session is automatically buried.
- Fix a bug where the cursor in the terminal
blinked despite the composer having focus.
- Fix a bug where we offered to turn off focus
reporting even when the user asked not to do so.
- Fix a bug where we responded to DECRQDE with the
wrong sequence.
- Fix a bug where VS16 was ignored if it was not
immediately after the base character.
- Fix a bug where pressing cmd-F didn't select the
find text in the status bar search bar.
- Remove option to compress history in background,
which didn't do anything (the feature was
removed for performance reasons).
- Fix meta-return in Emacs.
- Fix a bug where bulk copy for colors didn't work
when using different colors for light and dark
mode.
- Fix a bug where box-drawing characters could
have gaps between lines.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
f43576fa813c562b7c4ab96564f943567b1bcf5a4671a84ff4bdba21a7352d1b
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZt+TIwAKCRB0Et0TaFtK
rALTAQCPpJFcg89yMV7d4AeGUTwybvBStGlN+uTBrbJNhW9qQAD+OXKU0F6pG/E/
JgNEtuQhMmA8v9OQhgX2Q/svTgXaOcI=
=yrvt
-----END PGP SIGNATURE-----
iTerm2 3.5.4beta2 (OS 10.15+)
This is the recommended beta build for most users. Built on July 19, 2024.
[▾ Hide Changelog](<javascript:hideId('178248659500750332')>)
3.5.4beta2
New Features
- Added a menu item "Literal Mode", that shows
control characters (e.g., as ^C) rather than
interpreting them.
Improvements
- Improve performance when you have lots of OSC 8
URLs.
- Prevent a bunch of garbage from being written
when you run tmux -CC with an argument besides
new or attach.
- Rename Prefs to Settings in many places.
Bug Fixes
- Fix a number of crashes.
- Fix a bug where there "create script" dialog had
two cancel buttons.
- Fix broken ligature suport for MenloNF.
- Fix searching profiles by tag.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
1b4a161d67b964b6a4d633b9d3ac9d30bfa867987f5da01be86bb6a37fe8344c
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZpsCgQAKCRB0Et0TaFtK
rFxOAQCTzxceLMdvBKkt4rF21+ng2xQymoI007m8GlD0EezvngEAycDOZcLdvEsZ
nJ/C4mUHjL7ZhtKga27nBLyvyNb+F/E=
=zVTV
-----END PGP SIGNATURE-----
iTerm2 3.5.4beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on July 2, 2024.
[▾ Hide Changelog](<javascript:hideId('6182014864593646507')>)
3.5.4beta1
New Features
- Composer now makes suggestions for executables
by searching $PATH, including in ssh
integration.
- In tmux integration, remember window sizes.
- Add a menu item, Clear Find, to remove search
results.
Improvements
- Improve performance of search when there are
thousands of results.
- Improve how focus follows mouse interacts with
the Composer and the Find panel.
- If AI is disabled by MDM, disable it in the
menu.
- Support more kinds of keyboards in Copy mode.
- Don't dismiss the hotkey window when an
authentication window appears.
- Performance improvements.
- You can now elect to have no components in
session titles. This is useful if you always set
titles with a control sequence and don't want
other stuff to appear.
Bug Fixes
- Fix crashes.
- Fix a bug where cmd-tab didn't play nicely with
remapping modifiers, making cmd-tab unreliable.
- Fix a bug where there were stray pixels above
letters in the GPU renderer on some fonts.
- Fix a bug where filter could miss updates to the
last line prior to a newline.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
510c84bd52e90dcbfa803ff28578812c9c8e3d7a31f119bf627e6e80adca76ea
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZoSbXQAKCRB0Et0TaFtK
rHYYAQCz2QmmwitbQKs4lIVWmJD2t8oa4Tk11Fh8aXDPsAneHwD+IDIwqN12biz6
gKMjqVohejG5H+cNECW4W2Q6DtbLFGQ=
=JuJ2
-----END PGP SIGNATURE-----
iTerm2 3.5.3beta2 (OS 10.15+)
This is the recommended beta build for most users. Built on June 25, 2024.
[▾ Hide Changelog](<javascript:hideId('449453664215043263')>)
3.5.3beta2
Improvements
- Saved arrangements with invalid locales can now
be updated by the same UI that helps you pick a
valid locale.
Bug Fixes
- Fix crashes
- Fix a bug where the customized terminfo provided
by iTerm2 had compatibility problems.
- Fix a bug where colors in background images were
wrong.
- Fix a bug where cmd-hover didn't alwasy show a
link preview.
- Fix a bug where $PATH was sometimes missing
expected values.
- Fix a bug where OSC 8 URLs didn't always work.
- Fix a bug where the Auto Composer's height was
too short.
- Fix a bug where sending a snippet with a tag
filter from the Toolbelt could send the wrong
snippet.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
3c490bef90e0398bd8535f920855d3d6be80e85915c4c917ca85f0e6a2f7bf92
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZntGgQAKCRB0Et0TaFtK
rHPoAQDaymqfMx5yRkLwkdc/bq/ZV5XegF3tGtsghPkPerQ5ewD+IdgkEG9cQ1AZ
PvItD4DPaYC4Ngyb4QM0Uu34wQ/i/Rg=
=F193
-----END PGP SIGNATURE-----
iTerm2 3.5.3beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on June 13, 2024.
[▾ Hide Changelog](<javascript:hideId('7115148877866095262')>)
3.5.3beta1
This beta fixes a security issue. There was a bug
where the 'Terminal may report window title'
setting was not honored. This can lead to remote
code execution. Please upgrade right away if you
are on an older beta.
New Features
- You can now run iTerm2 from a script with
--command=xxx to open a window running the
specified command.
- If you make a selection in the composer prior to
pressing shift-enter, only the selection is sent
(and no newline is appended).
- Add support for multi-line search queries.
- Add support for DECRQDE.
Improvements
- When using focus follows mouse and the mouse
exits the search panel give the terminal
keyboard focus.
- Add "share command output" to the command share
menu (the share button visible when using auto
composer).
- Add option to copy both command and output to
the command share menu.
- Reorganize command share menu to make mroe sense.
- When navigating to a mark, select its command
automatically.
- Improve appearance of cursor guide.
- Fix a bug where cmd-0 didn't reset the font
correctly when a non-ascii font isn't in use.
- When you do cmd-E and the search mode is regex,
escape the string so it matches.
- Don't show offscreen command line if the cursor
is under it.
- Improve locale picking dialog. You can now
choose a minimal locale if you just want UTF-8
support but no localizations.
- Add info button to past commands when auto
composer is in use.
- Make snippet search work like profile search.
Bug Fixes
- Fix a bug where 'Terminal may report window
title' was not honored.
- Fix crashes.
- Fix autocomplete, which was completely broken.
- Don't trim whitespace when copying with control
sequences.
- Greatly improve the appearance of selected
commands when a background image is present.
- Improve appearance of offscreen command line in
GPU renderer.
- Fix incorrectly drawn powerline symbols.
- Fix incorrectly drawn box characters.
- Fix a bug where triggers that match on the bell
didn't work.
- Fix performance problems some users experienced
with ssh.
- Fix a bug where some programs weren't correctly
detected as the active job (e.g., in session
titles).
- Fix a bug where the composer didn't get keyboard
focus when AI produces a command.
- Fix nonstandard behavior when dragging a window.
- Fix Copy when auto composer is in use and the
terminal has a selection but the composer does
not.
- Fix a bug where modifier remapping didn't do the
right thing when releasing a key, causing
problems with cmd-tab.
- Fix a bug where cmd-0 didn't reset the font
correctly when a non-ascii font isn't in use.
- Fix a bug where some controls were the wrong
colors against dark backgrounds.
- Fix discrepancy in box drawing characters gpu vs
legacy.
- Fix bug in escaping regexes that have
backslashes.
- Improve IME support in Composer.
- Fix font selection visual bugs in macOS 10.15.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
2ef0bdca361458fa21a2cf9be753d809c500e76648bb99dfb65bfae6828669fd
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZmt26QAKCRB0Et0TaFtK
rBDQAP9yfw7sEdrV3drXgWY8KtGS8DnEpR8ZnsTiz7klxRjeJAEA0cc5upJLjTQm
HxF4CEfkqcNKmBr1IVtNOeNqcPMG+BE=
=ClVG
-----END PGP SIGNATURE-----
iTerm2 3.5.1beta4 (OS 10.15+)
This is the recommended beta build for most users. Built on June 3, 2024.
[▾ Hide Changelog](<javascript:hideId('5439026792758936439')>)
3.5.1beta4
Improvements
- Use selection color to outline selected command.
- Add a setting to disable horizontal scroll
reporting. This fixes a problem where swiping to
switch tabs didn't work when mouse reporting was
on.
- Improve security of AI plugin so a malicious
program cannot replace it and receive sensitive
data.
Bug Fixes
- Fix a performance problem with long scrollback
history. Existing history will need to be
cleared before the benefit is seen.
- Fix a bug in it2ssh when connecting to hosts
that don't use bash as /bin/sh.
- Fix a bug where tab or window titles sometimes
wouldn't show the current job's name.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
71e892c8ee07eb45d3275ece652c358c9318b341cc29e2ac69ab8b8062c6d24a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZl6pWAAKCRB0Et0TaFtK
rN03AP4/aHFiNBmymoOKz/j9NWS+owZmXHfb3w5xpFdvqjJw2wD/Y/g7qW9IWlaJ
peqLmGSViT9FDRgNi2tQ7UUpsPxMcGw=
=TY0a
-----END PGP SIGNATURE-----
iTerm2 3.5.1beta3 (OS 10.15+)
This is the recommended beta build for most users. Built on May 28, 2024.
[▾ Hide Changelog](<javascript:hideId('7003943075665718482')>)
3.5.1beta3
Beta 2 was short-lived so its release notes
follow.
Improvements
- Move OpenAI API key to the keychain.
- Improve error reporting in AI code.
- Make canceling an AI request work faster.
- Only ask for accessibility permission once per
app version.
Bug Fixes
- Fix a bug where scroll-to-end keybindings didn't
work.
- Fix a bug where adding items to the password
manager would overwrite other items.
- Fix some race conditions in certificate checking
of AI plugin.
---------------------------------------------------
Release notes for 3.5.1beta2:
This beta adds some safety valves to eliminate the
risk of private information leaving the terminal
via the AI endpoints. While an API key and
explicit user action were always needed to use AI
features, some users asked for an impenetrable
firewall for safety and regulatory purposes.
To that end, there are three relevant changes:
1. Code that communicates with AI providers has
been moved into a plugin that you must install
separately. Enterprise system admins can block
bundle id com.googlecode.iterm2.iTermAI to prevent
it from being installed in the first place.
See here for details:
https://iterm2.com/ai-plugin.html
2. In addition, you must manually enable AI
features in Settings. Doing so requires admin
access.
3. Administrators who wish to disable iTerm2's AI
access may set the user default GenerativeAIAllowed
to False in their MDM systems.
New Features
- Cmd-shift-click on a command's output to select
it.
Improvements
- Prompts for Codecierge are now in advanced
settings.
- Scroll-to-end keybindings are now broadcast when
input broadcasting is on.
- Previously it was easy to choose a locale
without the right character encoding. Detect
this and offer a chance to try again.
- For users who did fall into this trap, ask them
to try again.
- Various controls for AI have been moved to the
main Settings panel so it's easier to use a
local model.
- Add an advanced setting to disable the secure
keyboard entry indicator.
- Indicators get an outline to make them stand out
from the background.
- Codecierge gets a larger text box to enter your
goal.
- Various powerline characters no longer respond
to minimum contrast so their colors can match
adjacent background colors.
Bug Fixes
- Fix gpt-4o support which had too many response
tokens.
- Support responses from LLMs without an index
field.
- Fix a bug where there were stray pixels above
some characters.
- Fix alignment of box-drawing characters in GPU
renderer.
- Control-[ closes the find bar when it's in the
status bar.
- Fix a bug where modifier remapping didn't work
with some actions such as cmd-clicking links.
- The "offscreen command line" shown at the top
when part of a command's output is truncated now
includes the background colors of the command
line.
- Fix a bug where focus-follows-mouse didn't
activate a window when the cursor only enters
the scrollbar.
- Fix a bug where the background image could
overflow the bounds of the image control and
fill the settings window. It was a very pretty
bug.
- Fix discrepancies between GPU and legacy
renderers that drew things in different orders.
- Fix a crash with the smart selection action "run
command in window".
- Fix bugs in dragging dividers between tools in
Toolbelt.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
0ea6d8175683994eadf77ff124295a0c313006472fd7aff58d43486771da6714
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZlbHGAAKCRB0Et0TaFtK
rAojAP4xVj3zftUBy4KjppvjfzMgeQsdKZuXqxUZGkUjoiQeKgEAsO/e/lkP6b8k
Rj9d6qcXhiGw3T4FjiDWJKq31laELjs=
=cxWg
-----END PGP SIGNATURE-----
iTerm2 3.5.1beta2 (OS 10.15+)
This is the recommended beta build for most users. Built on May 23, 2024.
[▾ Hide Changelog](<javascript:hideId('2999855129683178413')>)
3.5.1beta2
This beta adds some safety valves to eliminate the
risk of private information leaving the terminal
via the AI endpoints. While an API key and
explicit user action were always needed to use AI
features, some users asked for an impenetrable
firewall for safety and regulatory purposes.
To that end, there are three relevant changes:
1. Code that communicates with AI providers has
been moved into a plugin that you must install
separately. Enterprise system admins can block
bundle id com.googlecode.iterm2.iTermAI to prevent
it from being installed in the first place.
See here for details:
https://iterm2.com/ai-plugin.html
2. In addition, you must manually enable AI
features in Settings. Doing so requires admin
access.
3. Administrators who wish to disable iTerm2's AI
access may set the user default GenerativeAIAllowed
to False in their MDM systems.
New Features
- Cmd-shift-click on a command's output to select
it.
Improvements
- Prompts for Codecierge are now in advanced
settings.
- Scroll-to-end keybindings are now broadcast when
input broadcasting is on.
- Previously it was easy to choose a locale
without the right character encoding. Detect
this and offer a chance to try again.
- For users who did fall into this trap, ask them
to try again.
- Various controls for AI have been moved to the
main Settings panel so it's easier to use a
local model.
- Add an advanced setting to disable the secure
keyboard entry indicator.
- Indicators get an outline to make them stand out
from the background.
- Codecierge gets a larger text box to enter your
goal.
- Various powerline characters no longer respond
to minimum contrast so their colors can match
adjacent background colors.
Bug Fixes
- Fix gpt-4o support which had too many response
tokens.
- Support responses from LLMs without an index
field.
- Fix a bug where there were stray pixels above
some characters.
- Fix alignment of box-drawing characters in GPU
renderer.
- Control-[ closes the find bar when it's in the
status bar.
- Fix a bug where modifier remapping didn't work
with some actions such as cmd-clicking links.
- The "offscreen command line" shown at the top
when part of a command's output is truncated now
includes the background colors of the command
line.
- Fix a bug where focus-follows-mouse didn't
activate a window when the cursor only enters
the scrollbar.
- Fix a bug where the background image could
overflow the bounds of the image control and
fill the settings window. It was a very pretty
bug.
- Fix discrepancies between GPU and legacy
renderers that drew things in different orders.
- Fix a crash with the smart selection action "run
command in window".
- Fix bugs in dragging dividers between tools in
Toolbelt.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
a50701b18b3e15ee49e9cdfc84756f35b37485fe9dea0c84785cbce3949c5b10
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZk/E8QAKCRB0Et0TaFtK
rK7DAP9ogU1UQzFgN3m8kDMuTLPSYB9Brf9WlZK+PphdDlhXgwD/YQ+I5PlgKRE+
jB7ggWfvAg5K+huDDEw0oXAbBrZ1Ycs=
=jLgQ
-----END PGP SIGNATURE-----
iTerm2 3.5.1beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on May 20, 2024.
[▾ Hide Changelog](<javascript:hideId('9003621334776074844')>)
3.5.1beta1
Improvements
- Add gpt-4o model.
- Fix drag-drop to upload with SSH integration
when using ~/.ssh/config where Host isn't equal
to Hostname.
- Keypresses in SSH integration no longer wait for
one to ACK before the next is sent.
Bug Fixes
- Fix crashes.
- Rename preferences to settings in tip of the
day.
- Fix double-paste when drag-dropping text.
- Fix support for non-OpenAI LLMs.
- Typing while it2ssh is connecting no longer
breaks it.
- Fix performance issue with very long window
titles.
You can use the following to verify the zip file on https://keybase.io/verify:
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
0c7dae1b88b3e5bbe729b436492991ccde1698750bc0ee09420585c67f0dd66a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZkuc1wAKCRB0Et0TaFtK
rNITAQDOPA0hev5s9bG1ABzO1IDFcFz5qPCiJTGYdrOKy1AADwD+L8UocJ9wjJpw
qfSNdrOwj3Dn37qc6qqTGmYTpStqVvg=
=DAWT
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta26 (OS 10.15+)
This is the recommended beta build for most users. Built on May 12, 2024.
[▾ Hide Changelog](<javascript:hideId('7362268089292048179')>)
3.5.0beta26
This is a release candidate.
Improvements
- Give the terminal keyboard focus when you click
the copy button in Codecierge.
- Make it harder to accidentally select a command
when clicking in the terminal
- New app icon.
- Add support for silent command URLs like
iterm2:///command?silent&c=command%20to%20run.
- Add a built-in function
iterm2.urlEncode(string:).
- Don't default to using SSH integration for ssh:
URL opening.
- When you click on a command to select it, show
buttons like in auto composer mode.
Bug Fixes
- Remove search results after you make a selection
in Find URLs/Find all smart selection
matches/Pick result to open.
- Disable rich text for AI prompt textview.
- Reduce delay when hiding a hotkey window before
you can type in the newly activated app.
- Make floating hotkey windows stay above other
terminal windows but not above non-terminal
windows like alerts and settings.
- Prevent horizontal scrolling in preferences
- Fix it2ssh not allowing you to interact with
prompts prior to connection (e.g., unknown host
permission).
- Fix named marks tool not working when you select
an item.
- Fix a bunch of UI bugs in the iterm2:/command
handler.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
b6256a9b10ed3a63871b657c02fdc4b952e1815df21646c4e5c704b4250347a7
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZkFMGgAKCRB0Et0TaFtK
rDsfAP9eU+gDD6n6zhZyX3UZ2mfhJNrppiXfV7hiuTE890prWgD/Wk0moHZgsjpw
Nq17qIW/dIr3Gx6H4DljkAeUzeWI6No=
=g5+p
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta25 (OS 10.15+)
This is the recommended beta build for most users. Built on May 6, 2024.
[▾ Hide Changelog](<javascript:hideId('1358501884007151430')>)
3.5.0beta25
This is a release candidate.
Improvements
- Make AI mode request a prompt when shell
integration and the Composer are not in use.
- Use VS0 and VS1 to disambiguate width of U+2018,
U+2019, U+201C, and U+201D.
- Indicators (icons that appear in the top right
of the window to indicate status) modernized.
- The first time you click to select a command,
show a popover with a link to disable the
command selecion feature.
Bug Fixes
- Fix crashes.
- Fix bugs in color picker when dragging in colors
while it's open.
- Fix hang when showing shell integration
information alert box.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
247b3a7e4126389f0487e57332f38b02313443e3167de09c121762a9516efed7
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZjlMdwAKCRB0Et0TaFtK
rIiGAQCUYh5SWTMUCdzLFmFfbsaA2F38QM2di4S7gxlHc6d9vwEAsFnOFxc2EQxz
vP58w++E9ngAOKMj0XiJnZ581uEvCP4=
=KBFK
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta24 (OS 10.15+)
This is the recommended beta build for most users. Built on April 24, 2024.
[▾ Hide Changelog](<javascript:hideId('3751904173474641019')>)
3.5.0beta23
New Features
- You can click a command to select it. Search,
Filter, and Select All will then be restricted
to the selected command. You can disable this
feature in Settings > General > Selection.
- Add "Find All Smart Selection Matches", which
searches for any string matching a smart
selection. Those that are initially visible can be
copied with a keystroke or immediately sent with
option+keystroke.
- Add support for OSC 22 to set mouse cursor. The
following styles are supported:
X_cursor, arrow, based_arrow_down,
based_arrow_up, cross, cross_reverse,
crosshair, hand1, hand2, left_ptr, left_side,
right_side, sb_h_double_arrow, sb_left_arrow,
sb_right_arrow, sb_up_arrow,
sb_v_double_arrow, tcross, xterm
Improvements
- New tips of the day added
- Minimum contrast now applies to box drawing
characters except those that are solid blocks.
- Visual improvements to auto composer with
transparency.
- Add polish to audo composer.
- Increase maximum searchable single line length
from 500K to 30M characters.
- Restore keyboard mode when current host changes.
- When dragging a tab finishes, ensure the dragged
tab is selected.
- Improve default prompt for AI.
- Update list of GPT models to be current.
- The profiles window now remembers whether the
tags panel is open even if window restoration is
off.
Bug Fixes
- Fix crashes
- Fix appearance of inline buttons in GPU renderer
- Fix incorrect rendering of background stripes in
GPU renderer.
- Fix wrong default $PATH
- Fix spurious connection failures in scp
integration.
- Improve formatting of time in context menu in 24
hour locales.
- Fix a bug in sequence keybindings where a pane
swap would always occur after the sequence
finish.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
c596ad3b9719308cb0eb574628ff1305af7662a999f743277d71db6e4813fc9d
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZilTjQAKCRB0Et0TaFtK
rP4zAP9W011VZ5GRwWZhkQ42HfGVXCBokiYHBs9ak6UpYYrBQwEA1R6lcO/fYx0f
yGiARF0Bdb8aV86GIj7N3z6o7HQqkhg=
=ptGR
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta22 (OS 10.15+)
This is the recommended beta build for most users. Built on March 18, 2024.
[▾ Hide Changelog](<javascript:hideId('1312716510174882433')>)
3.5.0beta22
Improvements
- Many usability improvements to auto composer.
- Remove dock menu "recents" form a failed
experiment in a previous beta.
Bug Fixes
- Fix crashes.
- Fix bugs where clickable buttons in the terminal
window could disappear or be in the wrong place.
- Fix incorrect location of underline in some
fonts.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
d6e3f0a37967555eb4a6fde832e7749f825c7346aa8b15dd0356fe7b1b2b0398
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZfiJMgAKCRB0Et0TaFtK
rBrSAP9Y7Q4SXpP7/4b5QfObfQA4olE5UolNQX09OJvGOipEpAD/QcJ8hJqMCj/r
gpp8DS5txRIZkZPkAhIrepQlQckWW0s=
=/TUc
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta21 (OS 10.15+)
This is the recommended beta build for most users. Built on March 6, 2024.
[▾ Hide Changelog](<javascript:hideId('7316498715491779422')>)
3.5.0beta21
New Features
- The background color of Find results is now
configurable.
- The password manager can now generate random
passwords.
- Show the "what's new" window when upgrading from
3.4.x to 3.5.x.
Other Improvements
- Performance improvements.
- Fix a crash.
- If the app's theme is Light or Dark warn when
trying to configure automatic color switching.
- Force Keyboard is faster and will only set the
input source when the app is activated so you
can override it manually temporarily.
- In network usage status bar component exclude
utun interfaces, which cause double-counting of
VPN traffic.
- Don't show new-output indicator if the new
output is caused by something like a color
change forcing a redaw.
- Control-[ now closes the find view.
- Snippets are now stored in a file under
Application Support rather than in user defaults
to avoid the 4 meg user defaults limit.
- Make Search and Filter status bar components
larger if the status bar is tall enough to
support a large-size control.
- Queue input while connecting to SSH.
- Add a built-in Neovim icon.
- Set TERM_FEATURES. A spec for terminal emulator
feature discovery will be forthcoming.
Bug Fixes
- Fix incorrect shortcut in composer help.
Things made worse
- Support for history compression was removed
because it imposed too much overhead.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
821c5b65a0f9a71b314e8e14dc34a3c91fdf882d9971d9e7147aa5ae7786b91d
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZejz8gAKCRB0Et0TaFtK
rFfdAP0b9E/PIp8umw2E2kS9FUkvJ1xuwyKA+z5sBDaAMM2p+wEA7WgqWY5+F0yE
cFK/pCfo5dgTQSPMb6Ucku3m8hTPCbs=
=3oCD
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta20 (OS 10.15+)
This is the recommended beta build for most users. Built on February 6, 2024.
[▾ Hide Changelog](<javascript:hideId('1126463152900875377')>)
3.5.0beta20
New Features
Other Improvements
- Performance improvements.
- Finish renaming Preferences to Settings.
- libssh upgraded to 1.11.0
- The user agent for web views (e.g., QuickLook)
is now like Safari's to defeat stupid websites
using user agent to detect unsupported browsers.
- In ssh integration, you can now download
folders.
- When you do Cmd-E results will immediately be
highlighted.
- Snippets in settings gets a search field.
- Hotkey windows now show an indicator in the
session if they are pinned.
- Various minor visual improvements.
- Triggers are now prevented from creating
annotations in alternate screen mode because
doing so is cursed.
- More kinds of status bar components support
being hidden when empty.
- Automatic profile switching will now match
/foo/bar against a rule like /*/bar
- Automatic profile switching folders do not need
to end in a slash any more.
- If you run the `open` command and nothing
happens and secure keyboard entry is on, show a
nag explaining what happened.
Bug Fixes
- Fix various crashes.
- Fixed a memory leak.
- Fix wrong margins for tab color menu items in
Sonoma.
- Make internet-free shell integration install
work in more BSDs.
- Fix a bug where light/dark theme changes didn't
always work in the Minimal theme.
- Don't crash if a file download has an empty
name.
- Fix compose sequences in DefaultKeyBindings
handler.
- Fix drawing bugs when double clicking on split
pane dividers.
- Better error handling for AI features.
- Fix bugs where annotations didn't always appear
when they should have.
- Fix the button in settings to browse for the
custom Python API scripts folder.
- Fix a bug where restoring settings and data
failed to restore settings.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
088694a52b1cffecf51cb243df3048438a2e86db17a7043b54dd1fecb0f5cbd3
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZcKMAgAKCRB0Et0TaFtK
rOl6AP9s4CVyddZPGTCBrUr4KNft59PyIIXKKlhkgeu+HQ1OuwEAwAH35IU1fjlX
t445Y7RqdDJ7RgB9vHIIA1Ub95A8AYM=
=p+/X
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta19 (OS 10.15+)
This is the recommended beta build for most users. Built on January 20, 2024.
[▾ Hide Changelog](<javascript:hideId('1726676430702383371')>)
3.5.0beta19
New Features
- Semantic history can now open to line number in
Xcode.
Other Improvements
- Change shortcut for AI to Cmd-Y because Cmd-B is
reserved for the Leader key.
- Control sequences that set color values accept
4-digit hex values now.
- The paste history tool now has a context menu.
- Enabling CSI u mode in your profile does not
enable Disambiguate Escapes now. This additional
setting is now exposed in the Terminal State menu.
- Use only ASCII spaces in plain-text logs.
- Make counting ChatGPT tokens more conservative.
- Prevent Codecierge from seeing terminal contents
when the tool is not visible.
Bug Fixes
- Fix various crashes.
- Fix a bug where quitting didn't always kill
sessions.
- Fix drawing issues with fonts that have very
wide ASCII glyphs.
- Fix a bug where light/dark color modes
misbehaved in Minimal when the light theme had a
dark background.
- Fix a bug where "interpret key bindings based on
physical key" disregarded key bindings without a
keycode, which is all old key bindings including
factory defaults.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
6e6ae37394c79ccbecde882183d4fc79da4fcbd31e535732afb83daab4a9428d
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZaxJnQAKCRB0Et0TaFtK
rHBfAP9xZfkXXI19M6citDsQ5J8ggkLmFC5lhLbBzdzIIfsYbwEAgr+M6TittFJi
aoEhQysnEh7aCfJFoG4AOEH72FM4SKY=
=peMc
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta18 (OS 10.15+)
This is the recommended beta build for most users. Built on December 13, 2023.
[▾ Hide Changelog](<javascript:hideId('5276486152731935946')>)
3.5.0beta18
New Features
- A new AI feature in the Toolbelt, "Codecierge",
lets you set a goal and then walks you
step-by-step to completing it by watching the
terminal contents. It requires you to supply an
OpenAI API key.
- You can now invoke API-registered functions from
Open Quickly.
- Add "Move session to tab" to context menu.
- You can now cmd-click on the command prompt to
get info about the command.
- Add IntelliJ UE support to semantic history.
- Fix support for VSCode Insiders in semantic
history.
- Add Shell > Duplicate Window.
Other Improvements
- Performance improvements.
- Work better when using both control sequences
and triggers to do shell integration.
- Exclude loopback interfaces in network status
bar component.
- Make Window>Arrange spit panes preserve
horizontality of splits in common cases.
- When a hotkey window rolls out restore the
previously active app only if it was rolled out
because of a keypress.
- Tip of the day is now draggable.
- Remove recents from dock menu because it
misbehaved mysteriously.
- Non-fullscreen floating hotkey windows now
appear under notifications.
- You can now turn on smart cursor color even if
the default cursor is not a box.
Bug Fixes
- Fix layout issues when toolbar is open.
- Fix wrong light/dark mode in status bar
popovers.
- Fix missing prefs toolbar.
- Fix bugs when resizing with natively rendered
sections.
- Fix how ssh integration handles missing Python.
- Enable the autolaunch folder in the script
export file picker.
- Fix bug where offscreen command line rendered
the wrong line when the session is scrolled all
the way up.
- Fix bug where job name in jobs tool overlapped
the pid column.
- Fix crashes.
- Fix memory leaks.
- Fix disclosable view accessories in alerts on
Sonoma.
- Fix a bug where dimming didn't always update
when changing panes.
- Fix a flash when toggling GPU rendering.
- Fix a bug where accessibility coordinates were
wrong, leading to various issues.
- Fix a bug where changing whether non-ascii
characters are anti-aliased wouldn't update the
display if GPU rendering was on.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
46303c50a0b4bae3978409eb2fa3049142ffcdde3176c951fddb2cf3101d1aea
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZXpYVwAKCRB0Et0TaFtK
rAU1AQDQopXh9vbjDZ6TesFLqJfuknw4quZklJaQo6mBYFTnHQEAn/KscBnp+d0r
Qc3zWOO0rQMX0syzdDvNnnZEEDzVcN4=
=LiSR
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta17 (OS 10.15+)
This is the recommended beta build for most users. Built on October 24, 2023.
[▾ Hide Changelog](<javascript:hideId('9044463421609659689')>)
3.5.0beta17
This is the same as beta 16 but fixes the
following bugs:
* Don't turn debug logging on by default.
* Ensure Window > Move to [display] always works.
Release notes from 3.5.0beta16 follow:
Improvements:
- Remember the order of dynamic profiles after you
hand-edit them in settings, even if they are
later removed and re-added.
- When using auto-composer, add buttons above the
command line for frequent actions.
- Add a search field to the snippets tool.
Bug Fixes:
- Fix a bug where double-tapping a modifier to
open a hotkey window doesn't work on macOS
Sonoma.
- Fix crashes
- Fix a bug where profiles with a Python API-based
status bar component could not be exported as
JSON.
- Fix drawing of status bar items with graphs in
Sonoma.
- Fix link to open system settings in Sonoma.
- Fix a bug where searching for a URL doesn't do
anything sometimes.
- Fix bug where dock is hidden after exiting
fullscreen mode sometimes.
- Fix a bug where panes' dimmed status is not
updated after switching panes sometimes.
- Fix x86 support.
- Fix a bug where Window > Move to [screen]
sometimes didn't work.
- Fix a bug where certain powerline symbols
weren't drawn on macOS Sonoma.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
8ca7e428371676aeeb2097fe203a3b619b59e1e3ce6446e29d282a54de7b3aef
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZThjbAAKCRB0Et0TaFtK
rDnKAP97Bx3b3/RPxKB1bEoefTKJ5FS+2Ru6Anvo7MC7xffMigEAn5T1WqdrlVTb
XsgeZjea2fMBc6jwUqlZveYXU5rQtgo=
=acgz
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta16 (OS 10.15+)
This is the recommended beta build for most users. Built on October 22, 2023.
[▾ Hide Changelog](<javascript:hideId('959318783451236360')>)
3.5.0beta16
Improvements:
- Remember the order of dynamic profiles after you
hand-edit them in settings, even if they are
later removed and re-added.
- When using auto-composer, add buttons above the
command line for frequent actions.
- Add a search field to the snippets tool.
Bug Fixes:
- Fix a bug where double-tapping a modifier to
open a hotkey window doesn't work on macOS
Sonoma.
- Fix crashes
- Fix a bug where profiles with a Python API-based
status bar component could not be exported as
JSON.
- Fix drawing of status bar items with graphs in
Sonoma.
- Fix link to open system settings in Sonoma.
- Fix a bug where searching for a URL doesn't do
anything sometimes.
- Fix bug where dock is hidden after exiting
fullscreen mode sometimes.
- Fix a bug where panes' dimmed status is not
updated after switching panes sometimes.
- Fix x86 support.
- Fix a bug where Window > Move to [screen]
sometimes didn't work.
- Fix a bug where certain powerline symbols
weren't drawn on macOS Sonoma.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
7ac78dc9eadc7ffbc8e005dff516b120063aabef7a070b60b9861b4868770be0
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZTWykAAKCRB0Et0TaFtK
rLDJAQCxwvD183uAelIGqI0bRBeUmNgpVo9wsTx8f7oL5+YRJQD9HXmQc3xmL4qz
FtPFkYHq4QFjWUhJ9Xetzi3rxgysRpM=
=BBeo
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta15 (OS 10.15+)
This is the recommended beta build for most users. Built on October 1, 2023.
[▾ Hide Changelog](<javascript:hideId('1711891610666797399')>)
3.5.0beta15
Beta 15 fixes some crashes.
It also adds a new "blocks" feature for quoting
blocks of code, including an in-the-terminal
button to copy code to the pasteboard.
-- Begin self-promotion --
Try it out with my new ChatGPT command-line
client, gptline. Install with:
pip3 install gptline
You'll need an OpenAI API key that works with
gpt-4. Set it in environment variable OPENAI_KEY.
-- End self-promotion --
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
d6fc6e02bf23064fda4f0b4c07849c8748b0413a489823ed039e3e771de1a9f6
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZRm2twAKCRB0Et0TaFtK
rAeeAP9VgtTGKfHvmxxhNGY0W+cVibZ9a9bwlh5rKL5g3/OraAEA03SxzWXWhH4f
kOBdrWH44VI4u9VFYnbx6iAVo8rfxNM=
=cwIZ
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta14 (OS 10.15+)
This is the recommended beta build for most users. Built on September 28, 2023.
[▾ Hide Changelog](<javascript:hideId('8291890594426098874')>)
3.5.0beta14
Beta 14 fixes bugs in Sonoma.
* Fixes drawing errors where sessions are invisible
or washed out.
* Performance improvements.
* Fix crash on start.
* Fix incorrect background colors in scrollback
history.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
07ea8939b97d191b97ca9f41b57cdd82809ff4f90b1432a002dee556b0bbe29b
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZRXElQAKCRB0Et0TaFtK
rBR/AQDfFJa6oCEqcSv/Uo56wZOh/KhfKwhb0cLpzSMsVDtdpwD+Pl1dUXr+eeLz
cB8oxtWtWcMOs/CzGG9PgM89KFAzpss=
=dMei
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta13 (OS 10.14+)
This is the recommended beta build for most users. Built on September 23, 2023.
[▾ Hide Changelog](<javascript:hideId('4523913325724375659')>)
3.5.0beta13
Beta 13 is exactly the same as beta 12 except for
it doesn't crash on launch in Sonoma.
This release was built using XCode 15, which will
either make it work better in Sonoma or introduce
inexplicable bugs. Probably both, come to think of
it.
New featuers:
* Recently used profiles are added to the dock
menu as recent documents.
* Add Unicode 15 emoji.
* Use the running program's first letter as the
tab icon if there is no built-in icon.
Bug fixes:
* Fix a memory corruption bug that caused a lot of
crashes.
* Fix various crashes.
* Fix a memory leak.
* Update minimum contrast when dark mode changes.
* Support multi-line prompts when showing an
offscreen command line at the top of the screen.
* Fix wrong underlines in offscreen command
lines.
* Sanitize paths in x-man-page URLs.
Other improvements:
* Increase width of font picker panel to avoid
truncation.
* Provide a more helpful error if a profile's
command cannot be found.
* Strip control characters from RemoteHost.
* Warn before connecting via scp to a
never-before-seen host.
* Add NSPhotoLibraryUsageDescription so apps that
use your photo library get a proper permission
dialog.
* Don't close or clear composer when executing a
command and auto composer is not enabled.
* Use more modern OpenAI APIs.
* Improve performance of window title setting.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
346a67e329e284fa106971ff3ffc8cf01ea0e8d957eb55e85f9c880dc9763e1a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZQ/NlgAKCRB0Et0TaFtK
rB+lAP99JunyaNQQ8lm8WdIQqPeqtFEX8h4xh5znpJp4HbJrCQD+Ngi3azxEyH+v
almTc+KLsyarYDpnDSEnULCdKrXNBYk=
=sxS5
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta12 (OS 10.14+)
This is the recommended beta build for most users. Built on September 21, 2023.
[▾ Hide Changelog](<javascript:hideId('3919032542876279908')>)
3.5.0beta12
This release was built using XCode 15, which will
either make it work better in Sonoma or introduce
inexplicable bugs. Probably both, come to think of
it.
New featuers:
* Recently used profiles are added to the dock
menu as recent documents.
* Add Unicode 15 emoji.
* Use the running program's first letter as the
tab icon if there is no built-in icon.
Bug fixes:
* Fix a memory corruption bug that caused a lot of
crashes.
* Fix various crashes.
* Fix a memory leak.
* Update minimum contrast when dark mode changes.
* Support multi-line prompts when showing an
offscreen command line at the top of the screen.
* Fix wrong underlines in offscreen command
lines.
Security fixes:
Thanks to vin01 for discovering these issuse:
* Sanitize paths in x-man-page URLs.
* Sanitize ssh hostnames in URLs to guard against
malicious URLs.
* Prevent hang on enormous OSC sequences.
Other improvements:
* Increase width of font picker panel to avoid
truncation.
* Provide a more helpful error if a profile's
command cannot be found.
* Strip control characters from RemoteHost.
* Warn before connecting via scp to a
never-before-seen host.
* Add NSPhotoLibraryUsageDescription so apps that
use your photo library get a proper permission
dialog.
* Don't close or clear composer when executing a
command and auto composer is not enabled.
* Use more modern OpenAI APIs.
* Improve performance of window title setting.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
147ab108da0360a2207fc6382a703de52949340bbfa0caa55d7625a644d22043
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZQzn8gAKCRB0Et0TaFtK
rB7nAP9rJU9IMnesFoMIM8XWIBD2uL++OWTvKvMVqlcCPJLVLQEA07ahRGxUPRTn
8QenAsmKyU+DzV+uPb7FmP/U+NeSLQY=
=Kgub
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta11 (OS 10.14+)
This is the recommended beta build for most users. Built on August 10, 2023.
[▾ Hide Changelog](<javascript:hideId('6963092988800133501')>)
3.5.0beta11
This release fixes a couple security problems. You
are encouraged to upgrade right away. More details
here: https://iterm2.com/news.html
New Features:
- If you use shell integration and the output of a
command goes past the top of the screen, the
command will be shown at the top.
- Scrollback history is now lazily compressed to
save memory.
- You can now assign fonts to specific ranges of
unicode. There is a built-in shortcut to get all
the powerline symbols, including down the
requisite fonts.
- You can now import and export *all* the
iTerm2-related data in Settings > General >
Preferences > Export/Import All Settings And
Data.
- Add "named marks" which make it easier to find
your spot in history.
Other Improvements:
- Add isHotkeyWindow variable to window scope.
- Add a reset button to the modifier remapping UI.
- Add ability to remap the right control key.
- Semantic history now supports "[filename](line
number])" and "[filename] line [line number]"
- Update it2ul to avoid sending xattrs to GNU tar.
- Double-clicking a pane spliter equalizes the
sizes of views adjacent to it.
- Make "Adjust window when changing font size"
work in tmux integration.
- Add support for mouse reporting buttons 10 and
11 and horizontal scrolling.
- Add handlers for titan and gemini schemes.
- Add support for MFA in 1password integration.
- Having a separate color for selected text is now
optional.
- Add a menu item to install an already-downloaded
Python runtime.
- Window transparency can now be set to 100%.
- Add a pref for the location of Python API
scripts.
- Add a variable "line" when evaluating a
trigger's interpolated string, giving the line
number since the start of history.
- Make it2dl more reliable in tmux integration.
- Add option to include timestamps in saved
content.
- Add an experimental "auto composer" feature that
replaces the command line with a native control.
This is still a work in progress.
- Add builtin functions "iterm2.paste()" and
"iterm2.focus()".
- You can now invoke script functions from mouse
bindings.
- Script invocations can use semicolons to call
multiple functions.
- Improve default AI prompt.
- Add mode=wide to OSC 1337;File to force wide
mode.
- Clearing the buffer while broadcasting
keystrokes now gives the option to clear all
broadcasted-to sessions.
- Add support for the new VSCodium bundle ID.
- Add setting to select opacity of faint text.
- Add new copy mode commands: ^e and ^y to scroll
by one line, ^d and ^u to scroll by half a
screen, and you can now precede a command with a
number to apply it repeatedly.
- Make captured output tool remember the line you
cleared at so when more output appears the
previously cleared items do not reappear. Also
make it look nicer.
- CPU usage status bar component now gets values
over ssh on mac and linux remotes when using ssh
integration.
- Improve appearance of password-prompt cursor.
- Support id_ed25519 for secure copy via semantic
history.
- Informative values in context menu (e.g.,
hex-to-decimal conversions) are now copyable.
- Control-C in Find on Page now focuses terminal.
- Improve how the password manager stores
passwords in keychain so they make more sense in
Keychain Access.
- The status bar icon now includes the full main
menu.
- Stop parsing OSC after 1 megabyte.
- Add OSC 1337 OpenURL=:(base64-encoded URL)
- In Ventura, the tab bar now remains visible in
native full screen mode when revealing the title
bar.
Bug Fixes:
- Fix crashes.
- Fix memory leaks.
- Fix a bug where mouse reporting sometimes
wouldn't work until switching to another app and
back.
- Improve appearance of powerline glyphs and box
drawing characters.
- Fix non-standard mouse cursors, like Mousecape.
- Fix support for combining marks in reverse
non-regex search where the wrong region was
highlighted.
- Fix truncation in fullscreen hotkey windows over
spitscreen fullscreen windows of other apps.
- Fix clicking ssh: links to open ssh integration.
- Fix a bug where the first keystroke in copy mode
could be ignored.
- Performnace improvements when mouse tracking is
on.
- Performance improvements if you have lots of OSC
8 URLs in restorable history.
- Performance improvements for nushell.
- Make new tab/window with current profile respect
tmux integration.
- Fix appearance of the pane titlebar menu button
in Minimal mode with dark background.
- Fix support for x-man-page URLs.
- Avoid ordering windows forward with focus
follows mouse when closing a popup.
- Work around a macOS bug where focus follows
mouse could activate the wrong pane.
- Fix a bug in opening menus in status bar
components that caused them to appear twice.
- Fix a bug where session colors didn't respond to
dark mode/light mode changing when in the
Minimal theme.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
027a1fe75df97018e04a24cc765b72460c50998a89f3575da2abef1958597a3a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZNHc/AAKCRB0Et0TaFtK
rIOdAQDyhJf1yM5wxPyJ6rynrE9UsKRML/VQeOFR3qQybIj9HAD/Zycs58G3NAkr
Bzq/Ppof8jLmxfgTrfcritdsCdZqx08=
=3Ofz
-----END PGP SIGNATURE-----
iTerm2 3.5.11 (OS 10.15+)
This is the recommended beta build for most users. Built on November 26, 2024.
[▾ Hide Changelog](<javascript:hideId('356608225646368070')>)
Version 3.5.11beta1 of iTerm2 was built on November 26, 2024.
New Features
- Right-to-left text is now rendered properly.
Enable it in Advanced Settings by searching for
"right-to-left". Please file bugs for any
problems you find.
- Dynamic profiles can now be written to when you
make changes in the Settings UI. You'll need to
add a property named "Rewritable" to dynamic
profiles that you wish to have this ability,
and set it to True. When you attempt to change a
dynamic profile in settings, you'll be prompted
to have this done for you automatically.
Improvements
- AI now gets the output of `uname -s` rather than
`uname`. The other info uname provided was not
useful.
- If you have enabled "^-Click reported to apps,
does not open menu", control-click will now work
normally when mouse reporting is off.
- When alternate screen mode is disabled, scroll
the current screen contents into history when an
app attempts to enter alternate screen mode.
- Short drags of the "new tab" button now act as a
click.
- UI improvements for the "disable transparency
for fullscreen windows by default" setting.
- If you use the 1password integration, you can
now right-click on an account to toggle whether
an OTP will be sent.
- Added a new button to reveal the location of
the AI plugin, and another button to force
iTerm2 to re-check if it is installed.
- Add support for DEC private mode 80 (sixel
scrolling).
- Move some files from application support to
caches.
- Cancel hiding a hotkey window if it has a modal
sheet attached.
- In advanced paste, turn off "wait for prompt
before pasting each line" for shells that use
paste bracketing because that would deadlock.
- Various minor improvements to AI UIs.
- Add a UI to fix broken saved arrangements.
- When an app tries to resize the window but is
denied, notify the user.
Bug Fixes
- Fix various crashes.
- Fix the delete key, function keys,
option+letter, and repeated keys in nvim.
- Don't snap to grid when using macOS's new tiling
features.
- Fix a bug that screwed up saved arrangements,
deleting their profiles.
- Fix a bug in sending inband resize
notifications where the terminal letter of the
control sequence was missing.
- Fix a bug where the cursor was in the wrong
place after showing a Sixel image.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
c8f226c2774e1e876d1a7cfdcd19eecf6b5ffff38bb7093a477cf2d9acfc4c15
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ0Zl7wAKCRB0Et0TaFtK
rGB1AP45h9mMpUpypIEjQ8uJr9w702q6nrP8Fq+9dKA88gr16wEAj1YVLZ4Y+G+3
EXzWnqPE+ZbNiE06hf7ZoSsEQ30weyY=
=u9J0
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta10 (OS 10.15+)
This is the recommended beta build for most users. Built on February 10, 2023.
[▾ Hide Changelog](<javascript:hideId('1479852879560521218')>)
3.5.0beta10
New Features:
- Add support for inline SVGs.
- Mouse reporting now supports horizontal
scrolling and more mouse buttons.
- Add "Duplicate Session". It supports ssh
integration, even with jump hosts!
- Add "Add Alert on Marks in Offscreen Sessions"
which is a sticky setting that lets you know
when a command in a not-currently-visible
session finishes. Requires shell integration.
Other Improvements:
- The artificial intelligence feature defaults to
GPT-3 rather than codex. While it isn't free, it
works much better. Use the advanced setting
"OpenAI Model name" to adjust the model.
- Changes to dynamic profiles are now detected
more quickly.
- Fix UI glitch in background image blending
controls.
- Upgrade libssh2 to 1.10.
- Double-tap modifier hotkeys now activate on key
up rather than key down to avoid false
activations.
- When using ssh integration, file transfers no
longer require a new connection. They share the
existing channel.
Bug Fixes:
- Fix crashes.
- Fix a bug where images disappear prematurely.
- Remap modifiers on mouse clicks like we do for
keypresses.
- Fix cursor color in reverse video mode. It
should also be reversed.
- Fix ssh integration on systems whose /bin/sh is
POSIX but not Bash.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
647252527cc2f11563994f988fcace9a1ebbd5b8602cb512d74b68353807e383
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY+bExwAKCRB0Et0TaFtK
rA0bAP9HVVApYI/s72fP+PV2drsuMg8fqdUfSIeEnEelVZxDTgEA9BcgMKTAXsz3
qjUei1W0QELRLTE5rSTnSA1EaPbLycU=
=84zD
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta9 (OS 10.15+)
This is the recommended beta build for most users. Built on January 2, 2023.
[▾ Hide Changelog](<javascript:hideId('2635607176875674865')>)
3.5.0beta9
This version of iTerm2 requires macOS 10.15.
Support for 10.14 had to be dropped.
New Features:
- Add AI-powered natural language command
generation. Enter a prompt in the composer and
select Edit > Engage Artificial Intelligence.
You will need to provide an OpenAI API key since
GPT costs money to use.
- Add Window > Move session to tab
- Key bindings can now be applied to multiple
sessions (e.g., all sessions in this window)..
- You can now customize copy mode shortcuts by
placing a file in ~/Library/Application
Support/iTerm2/CopyModeKeyBindings.dict.
See the simliarly named file in the app bundle
for a reference.
- Add menu item to clear instant replay.
- Add ability for composer to enqueue a command.
- ssh integration is now easily usable from the
command line. Use it2ssh instead of ssh.
Other Improvements:
- Use XDG_CONFIG_HOME for .iterm2 folder when set.
- When the country+language do not match a valid
POSIX locale, present a UI to select one.
- There's a new key binding action to alert on the
next mark.
- Emoji flags now draw as double-width.
- Don't sync the most recent coprocess commands
with remote prefs.
- Make certain powerline symbols draw wider.
- Add option to enable GPU renderer in low power
mode.
- Show tilde in place of local home directory in
tab/window titles.
- Add 'interpret key bindings based on physical
key, ignoring input language' setting.
- Add missing powerline extra symbols.
- Restore terminal state when an ssh session ends
when using it2ssh.
- Make the tmux-256color terminfo available by
default. Improves various problems in tmux
integration such as function keys sending the
wrong codes.
- Add option to notify of noncritical shell
integration updates.
Bug Fixes:
- Fix crashes
- Fix a bug where long lines in the input method
editor didn't draw correctly.
- Fix the response for XTGETTCAP when requiesting
the number of colors and direct color width.
- Don't prompt to disable mouse reporting in emacs
when scrolling too far.
- Work around Logitech mouse driver foolishness
that caused hangs.
- Fix a bug where the status bar font would change
to Times Roman.
- Round timestamps to the nearest second to make
them stable.
- Fix a bug where the hyperlink trigger used the
wrong range of cells sometimes.
- Fix bug where swiping horizontally on pane
titlebar didn't change tabs.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
486c072aa9f366fc3fcaba2052605c54dc53338d8229a7c96e24609dc42e462b
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY7M5rQAKCRB0Et0TaFtK
rKILAQCRCzI1/SZI5y63imK9p3W/YUJMAFMzxjq2y1/DiUuqjAEAuzxU9ibgezIT
OQhqXpYGmEb27ROdQWupif8ZuurFU5U=
=cB8X
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta8 (OS 10.15+)
This is the recommended beta build for most users. Built on November 15, 2022.
[▾ Hide Changelog](<javascript:hideId('7368175028249221630')>)
3.5.0beta8
This release fixes a security issue related to
DECRQSS responses. You should upgrade.
New Features:
- Add support for native rendering of the
following powerline extended symbols:
U+E0A3: column-number
U+E0B0: Powerline_normal-left
U+E0B2: Powerline_normal-right
U+E0B4: right-half-circle-thick
U+E0B5: right-half-circle-thin
U+E0B6: left-half-circle-thick
U+E0B7: left-half-circle-thin
U+E0B8: lower-left-triangle
U+E0C0: flame-thick
U+E0C1: flame-thin
U+E0CE: lego_separator
U+E0CF: lego_separator_thin
U+E0D0: lego_block_facing_WIP
U+E0D1: lego_block_sideways
U+E0D3: lego_block_facing_WIP-3d-good
Other Improvements:
- Allow multiple selections for importing and
exporting scripts.
- Offer to turn off mouse reporting for BEL when
they seem to be correlated.
- Add a preference to avoid blocking system
shutdown.
- Performance improvements for saving state.
- Various performance improvements.
- Minor UI improvements to preferences related to
shell integration injection.
- Add support for WebStorm and Rider to semantic
history.
- Limit REP to 64k to avoid DOS.
- Increase max size of OSC 8 URLs to 2 megabytes.
- Notify Python API clients of resizes.
Bug Fixes:
- Fix capturing metal frames for debugging, which
sometimes failed.
- Fix crash when open directory is disabled.
- Use zsh as the default shell when open directory
doesn't provide one.
- Handle pasing from remote clipboards (handoff)
better.
- Fix a bug where the split pane shortcut numbers
were wrong after moving them.
- Fix crashes.
- Fix a bug where scrollbar background colors
could be wrong sometimes.
- Fix about window rendering in Ventura.
- Fix a bug where the mouse cursor was left in the
wrong state after using the leader shortcut.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
9b55ffb343034ea3ec9c7ce59664a05e7c8572eb05a240d32e44b492cacd9b1a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY3QHfAAKCRB0Et0TaFtK
rPt8AP9rFDuBvArUK1dNF8ZpC1SLNzfDXvdO5Zsb6XipcLoGhAD+OE4y/23u09Ap
JdFRFrlj78S2/AfW6c8VmqqRZ57q5pw=
=Dn1z
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta7 (OS 10.14+)
This is the recommended beta build for most users. Built on September 16, 2022.
[▾ Hide Changelog](<javascript:hideId('2881789094208059003')>)
3.5.0beta7
New features
- There is a nascent SSH integration feature
available for testing. Warning: it definitely
has a lot of bugs. You can try it by setting the
profile's command to SSH. The integration lets
you export environment variables and copy files
to the remote host. If Python 3.7 or later is
available on the remote host, various features
such as the Jobs status bar and toolbar
components will reflect data from the remote
rather than the local. There's also a
barely-working feature that automatically mounts
the remote host's filesystem as a cloud
filesystem.
- There's a new control sequence for rich
notifications:
[esc]1337;Notification=[params][control-G]
Where params is a semicolon-delimited list of
key value pairs:
message=[text]
The text to display.
title=[text]
Optional notification title.
subtitle=[text]
Optional notification subtitle.
image=[data]
Optional base64-encoded image.
- You can now remap the fn key if you have a
MacBook.
Bug fixes
- Fix memory leaks.
- Fix a bug where combining marks sometimes didn't
appear.
- Work around tmux's new limit on passthrough
control sequences to fix copy to pasteboard in
tmux integration.
- Fix file descriptor leak in pidinfo helper job.
- Fix a bug where varation selector 16 didn't work
with code points outside the basic multilingual
plane.
- Fix various crashes.
- Fix a bug in the shell integration installer
where it assumed .bash_profile ends with a
newline.
- Fix a discrepancy between GPU and non-GPU
renderers for image drawing.
- Fix drawing of inline images when the machine's
main display is non-Retina.
- Fix a bug where compact opaque windows with
image backgrounds and 1 tab and no tabbar showed
the image under the titlebar.
- Fix a bug where it2copy didn't work sometimes.
- Fix a bug in handling of zero-width spaces.
- Fix a bug where changing the type of scroller
could cause a window to move away from a
screen's edge.
- Fix bugs with zoomed panes in tmux integration
causing the window to resize itself.
- The Open Quickly feature now includes terminal
windows in search results.
- Fix bugs in the status bar layout algorithm that
could create too-small components.
- Fix a bug where dragging from Fork, or other
apps that treat dragging a file as dragging
a link, that caused the drop to be rejected.
- FIx occasional hang affecting only beta and
nightly build users.
- Fix a bug where shell integration injection
didn't work for login shells.
- Don't show the secure keyboard input warning
more than once per app launch.
- Fix copy with control sequences, which encoded
SGR 0 and bright ANSI colors incorrectly.
Other improvements
- There are new key binding actions for Windows
refugees who want to use Control-C and Control-V
to copy and paste. "Copy or Send ^C" and "Paste
or Send ^V" will copy (if there's a selection)
or paste (if the clibpoard has text)
and otherwise send the control character.
- Offer to replace an existing file when
down.
- Improve readability of preferences search in
dark mode.
- Support variation selector 16 except in
alternate screen mode.
- Many improvements to the 1password integration.
- Many performance improvements.
- Improve appearance of status bar search field
with non-default background colors.
- The font picker now supports stylistic
alternatives.
- Miscellaneous visual improvements.
- In the next version of tmux you'll be able to
mirror its paste buffer to the local clipboard.
- Fix memory leak when onscreen images are
overwritten.
- Squelch audible beeps when focus reporting is
the likely cause.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
19fe35cd3fba57c10bf0aa8db7a2483b6cd56191c1da2829f56402b381253375
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYyQePgAKCRB0Et0TaFtK
rBSvAP9oN0IxdPVz4mm2FiLUydiFDn4w3Xm1EsiZBErGjIHi2wEAgU5QYRLUK88S
6IdAV0/Vm012Ishjx6SituhE65mnzLY=
=J+jA
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta6 (OS 10.14+)
This is the recommended beta build for most users. Built on June 27, 2022.
[▾ Hide Changelog](<javascript:hideId('7122009111156837940')>)
New features
- Add "Render Selection", which replaces a chunk
of selected text with a natively rendered view.
For example, JSON gets pretty-printed and syntax
highlighted. Rendered selections have the option
of scrolling horizontally to make navigating
logs easier. They are searchable. Over 150
different languages are supported for syntax
highlighting. Markdown gets special treatment
and displays its rendered format.
- Enable logging as asciicast, which is playable
by asciinema.
- Add option not to require a password to open the
password manager.
- (Experimental) The password manager can now use
LastPass or 1Password rather than the keychain.
Use the (⋯) menu next to the search field to
configure it.
- You can configure a shortcut to be a "leader".
This allows you to define two-keystroke
shortcuts, composed of leader + some other
shortcut. For example, if you make cmd-B the
leader then you can create a key binding for
leader+h/j/k/l to navigate among split panes.
In tmux integration, key bindings are
automatically created to emulate tmux's
shortcuts with the leader in place of tmux's
prefix key.
You can set up the leader in Prefs > Keys >
Leader.
- The composer now supports search.
- The composer (cmd-shift-.) now supports multiple
cursors. Use ctrl-shift-up/down or option-drag to
create them. You can also convert search results
to cursors with Edit > Find > Select Matches.
- You can resize the composer's height by dragging
its bottom edge.
- Cmd-click in the composer opens the command in
explainshell.com.
- In the composer, option-shift-enter sends the
command at the cursor and removes it from the
composer.
- Add "copy" as a new smart selection action.
- Option-cmd-click now selects the second smart
selection action.
- Add a new kind of key binding action called
"sequence" that performs any number of other key
binding actions in order.
- Shell integration can now be injected
automatically as part of creating a login shell.
Explicit installation is no longer needed on
localhost (except for tcsh users, who are still
stuck in 1995. Sorry).
- Selecting URLs (cmd-opt-u) now enables shortcuts
to jump to them by number.
Bug fixes
- Fix memory leak
- Fix a beachball in save panels.
- Fix a bug where errors were shown after an
upload finished.
- Fix various crashes.
- When a session needs a Python API script to be
running but it hasn't started yet, retry for
five seconds.
- Fix a bug where prompt marks didn't show in the
scrollbar.
- Fix rendering of background images in non-GPU
renderer when togglign "separate background
images per pane".
- Fix a bug where output on stderr could be lost.
- Fix a bug in rendering marks on non-retina
displays.
- Fix a bug where split panes can't be dragged
after moving them.
- Temporarily disable secure keyboard entry when
exiting a hotkey window so the other app's
window can be revealed.
- Tolerate errors in tmux.conf when starting tmux
integration.
- Use x11 mouse reporting instead of SGR to fix
curses support.
- Fix a bug where find could select the wrong
range on new input.
Other improvements
- Set ITERM2_COOKIE in coprocesses so they can use
the Python API without an extra authentication
step. All other environment variables that
sessions have are also now provided to
coprocesses.
- Code points 0xf000-0xf003 can now be rendered.
These are sometimes used in nerd fonts.
- GPU renderer is now usable when background
images are shared across panes.
- Defer database janitorial work until after app
launch to avoid blocking it.
- Performance improvements.
- If a session is short lived, uses a login shell,
the shell does not exist, and the profile can be
changed offer to change the shell to /bin/zsh
which will always exist to get the user unstuck.
- A find indicator now display search results to
highlight the current one with an animation.
- Saving prefs no longer clobbers symlinks.
- The list of displays in profile window settings
now uses meaningful names for screens.
- Enable focus reporting in tmux integration.
- Copy mode now supports previous/next mark
navigation.
- Add key binding actionss for next/previous pane.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
6790a1d352598ec18a924365127589d6ddceb71b3eb3f1359377b051310a5694
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYrn3GwAKCRB0Et0TaFtK
rB3rAP4+QCv7YWE/LAp0JxCCFzj4rmJYYeONIsncEcQDF+5ymQEAj+8J7dbgJUlS
ppVJpCLaQ1kdufJQOnP9dNOlMFnABXc=
=1fnn
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta5 (OS 10.14+)
This is the recommended beta build for most users. Built on March 10, 2022.
[▾ Hide Changelog](<javascript:hideId('5320968757523817565')>)
3.5.0beta5
Performance Improvements
The major theme of version 3.5 will be performance
improvements.
- Input is now handled off the main thread. This
increases throughput and decreases latency. We
can now redraw at a higher frame rate without
impacting throughput significantly.
- Selecting a bunch of text used to lock up the UI
for a long time, but it is now instant. The hard
work is deferred until you actually paste the
text.
- Semantic history (cmd-clicking on a filename)
used to search the filesystem on the main thread
which could cause hangs (such as on slow network
filesystems). This work has been moved to a
separate XPC process, keeping the UI responsive
while the search for files happens concurrently.
- Trigger evaluation, especially when you have
many triggers, is significantly faster now.
New Features
- The P3 color space is now supported. The color
picker uses P3 and control sequences that accept
a color space now accept p3.
- Add a setting to preserve windows' spaces on
restoration.
- Searches for profiles now allow you to exclude
terms using the minus operator. For example:
-tag:dynamic
- Clipboard content reporting via control sequence
OSC 52 is now supported, but requires user
consent to enable.
Other Improvements
- Allow apps running in the terminal to request
bluetooth access.
- Optimize bandwidth for sending keystrokes to
tmux in tmux integratino mode.
- Ensure the URL preview box does not overlap the
hyperlink being previewed.
- Search history completion now works on words
instead of entire phrases.
- Avoid causing the window contents to jump when
colors change.
- Visual improvements to minimal theme with
transparent windows.
- Add support for newest Emoji.
- UI improvements to the password manager for
adding a new password.
- Tweak how command history is sorted. When there
is no search query, use a purely chronological
ordering.
- Tweak status bar colors to look nicer in the
Minimal theme.
- Data injected by the Python API during a silent
coprocess is now made visible.
- Add support for the Nova editor to semantic
history.
- Tweak the status icon (shown in the menu bar
when you've excluded iTerm2 from the dock) to
have a more modern design.
- Right-clicking on a number in scientific
notation like 6.022e23 shows its expanded form
in the context menu.
- imgcat has a bunch of new options. You'll need
to reinstall shell integration utilities to get
it.
- You can now search the tty and foreground job
process ID in the Open Quickly window.
Bug Fixes
- Ensure Rosetta is installed before running the
Python API.
- Fix a bug where clicking the dock icon while the
tip of the day was open wouldn't open a new
window.
- Fix bugs in positioning the badge, indicators,
and broadcast stripes when a per-pane status bar
or per-pane title bar is present.
- Fix a bug where fullscreen windows overlapped
the notch when the menu bar was not
automatically hidden in fullscreen.
- Fix a bug where fullscreen windows resized
incorrectly when changing the active display in
the presence of a notch.
- Fix a bug where the Jobs toolbelt would show a
process with pid 0 after the login shell
terminates.
- Fix bugs in handling newlines in control
sequences that set the title.
- Fix a bug where marks were sometimes not removed
when the screen was cleared.
- Fix memory leaks.
- Fix a long-standing memory corruption bug.
- Fix a bug where marks were drawn upside-down
in the GPU renderer.
- Fix a bug where faint text could render
incorrectly.
- Fix a bug where window transparency could be
wrong when the window is first created.
- Fix overlapping search results with regular
expression queries.
- Fix a bug where "clear to last mark" misbehaved
while at a prompt. It now clears to the mark
before the current prompt.
- Improve appearance of tabs being dragged.
- Select Current Command now selects past the
cursor if needed.
- Fix a bug where crash reports weren't sent on
macOS 12.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
e8f44be2f37f55e485da44c562b5ecc9f088c77eb412a8af8867112b7efe0f23
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYir2SQAKCRB0Et0TaFtK
rBFqAQDXuwAbN//BjYpbfcE70sIBaFKpK7zIV5B2X3YL93rkRgD/SOPtZhcY9ZC4
yhZF8Q70eKe6oXwNkT4P5/BOj8p4P4w=
=eR+E
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta4 (OS 10.14+)
This is the recommended beta build for most users. Built on December 14, 2021.
[▾ Hide Changelog](<javascript:hideId('4682829447825079330')>)
3.5.0beta4
New Features
- Add View > Disable transparency in key window.
This lets you have transparency/blur in
background windows.
- Add a preference to force creating a new window
on lauch, even if there is a hotkey window.
Other Improvements
- Add text labels to the macOS-style color
picker's custom icons.
- Visual improvements to profile list views.
- Reduce energy usage when a progress indicator is
visible in the tab bar.
- "Save all profiles as JSON" now preserves the
order of profiles.
- Automatically highlight matches when the search
UI is open and the query changes because another
app changed the value to be searched for.
- Reduce frame rate of animated status bar
components to reduce WindowServer's CPU usage.
- Visual improvements to the Jobs tool.
- When attaching to tmux, if a window is 95%
offscreen move it onto the nearest display as
much as possible.
Bug fixes
- Fix a crash on launch in macOS 10.14 that was
added by beta 3.
- Fix a bug where windows would restore with the
wrong width when scroller style changes.
- Fix occasional disconnect when typing in tmux
integration.
- Fix crashes.
- Fix drawing artifacts when not using the GPU
renderer.
- SGR 4 with no subparameter now resets the
underline style to single.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
91792cce595cc90c1cc4be77259f75aa80f1bea084b73c4ed9d4ef478c2a6425
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYbjjdgAKCRB0Et0TaFtK
rC24AQC/nkgfxuVw+g2FOOKs10fEFR3l6ipqbZpp4Am7uHJyFgEAuCZR9GtqAXv/
fQfBqIAZgE43JSjqw2RCYJLaWVmeXw4=
=vXuW
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta3 (OS 10.14+)
This is the recommended beta build for most users. Built on December 1, 2021.
[▾ Hide Changelog](<javascript:hideId('7760140420535575271')>)
3.5.0beta3
New Features
- Add support for 120hz.
- Add support for the notch.
- Function keys now send modifier flags as long as
TERM begins with `xterm`.
- Compatibility improvements to "modifyOtherKeys"
mode.
- Add support for various control sequences:
- CSI ^
- CSI a
- DEC(RE)SET 1007
- DEC(RE)SET 1016
- DEC(RE)SET 1047
- DEC(RE)SET 1048
- DEC(RE)SET 12 (blinking cursor: disabled by
default in new pref)
- DEC(RE)SET 66
- DECBI
- DECCARA
- DECCRA
- DECDC
- DECDSR
- DECERA
- DECFI
- DECFRA
- DECIC
- DECNCSM
- DECRARA (yeah! let's go!)
- DECRQPSR
- DECRQSS
- DECRSPS
- DECSACE
- DECSCA
- DECSCPP
- DECSED
- DECSEL
- DECSERA
- DECSLPP
- DECSNLS
- EPA
- HPA
- SGR 21 (double underline)
- SL
- SPA
- SR
- Tertiary DA
- XTPOPSGR
- XTPUSHSGR
- XTSETTCAP
- XTSMGRAPHICS
- push/pop/report colors
- HTML logs now support double underlines.
- Provide a modified termcap that advertises
Setulc (underline color support) for
xterm-256color.
- Add a "compose" action (prefs > shortcuts >
actions).
- You can now disable probing for a password
prompt in the settings menu of the password
manager.
- Subtitles are now available in the regular theme
after you increase the tabbar's height via a new
button in profile general prefs.
- The vertical line and horizontal line cursors
now have a subtle shadow to improve their
visibility.
- Add "Add tab on right" to tab context menu.
- The folder for automatic logging is now an
interpolated string.
- There's a new Utilitiy, it2tip, which implements
the tip of the day as a command line app.
Install shell integration and utilities to get
it.
- Offer to detach after closing the last tmux tab.
- Selecting Advanced Paste while in the composer
moves the compoer's content into the advanced
paste window.
- Hold shift when selecting a snippet to open it
in the composer.
- Add "Convert Matches to Selections" menu item.
- You can now bind "select menu item" to pointer
events (clicks and gestures).
- Make menu items searchable in key bindings and
pointer bindigns.
Other Improvements
- Increase the maximum number of URLs to bignum.
- Performing find next/previous without a search
bar open will highlight all search results now.
- Emacs and Python now get the correct tab icons.
- Rate limit alerts and notification triggers to
avoid spamming you to death.
- Make the tab bar look prettier in Monterey.
- Tweak sorting of command history to make age a
slightly stronger factor. Hopefully this is a
net improvement.
- Smart selection action parameters are now
interpolated strings.
- Visual improvements to the toolbelt.
- Warn about changes in macOS 12 when secure
keyboard entry is enabled.
- Show an indicator in the current session when
secure keyboard input is enabled.
Bug fixes
- Fix a bug where cmd-enter wouldn't toggle
fullscreen for a hotkey window when native
fullscreen was enabled.
- Control-backspace now sends ^H.
- Fix DECRQCRA interpretation of params (first is
now request ID).
- Fix corrupted scroll regions after a resize.
- Fix application keypad mode.
- Fix DECCOLM to reset margins on change and to
preserve the cursor's position.
- Work around a bug in old versions of tmux where
they didn't accept control-space like other
keys, causing 0x0 to be printed.
- Fix tmux integration for tmux 1.8.
- Turn off smart substitution in the snippets
value text view.
- Open hotkey windows beneath menu bar when
opening over another app's fullscreen window.
- Fix the appearance of dragged tabs.
- Fix flashing white line at top of screen in dark
mode full screen.
- Fix discrepancy between GPU and non-GPU renderer
in the presence of blending.
- OSC no longer requires a semicolon after the
mode if there is no argument.
- Fix a bug where both a per-pane and per-window
gbackground iamge could be visible at the same
time.
- Turn off mouse movement trac king when it isn't
needed to reduce idle CPU.
- Fix discrepancy in rendering of composed
characters in GPU renderer vs legacy renderer.
- When "Enable full keyboard access" is turned on
in system prefs, iTerm2 now accepts the spacebar
as input.
- Hotkey windows now appear beneath notification
center messages.
- Restore window title when unburying a session
that causes the window to be resurrected.
- Fix a bug where "Duplicate Tab" would duplicate
the current tab, not the one belonging to the
context menu.
- Fix cmd-clicking on URLs without a scheme but
with a fragment.
Breaking Changes
- Change XTGETTCAP's response to "TN" to give
$TERM rather than the name of the terminal
emulator. This will probably break your code if
you relied on it..
- The response to Primary DA now indicates VT
level 400. Hopefully this doesn't break
anything, but it's hard to test! Please let me
know if programs start misbehaving.
- The response to Secondary DA now gives xterm
patch level 2500. This unlocks features in some
apps (like better key handling in Emacs) but
will probably break things I don't know exist.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
73a993e070ea2bbcfebda7190f7210a22ce9986d91dfb37f80fbbca6f0c367d3
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYagZ+AAKCRB0Et0TaFtK
rKgoAP4+uV03oSYs7y87DpI9N/Aq/vCv/e2UEZSd2HoRkgD2sAEA6jKCwx6j4r97
AtB8tBb4ZypsKh0xezpEGKjtyeGf6PQ=
=D38E
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta2 (OS 10.14+)
This is the recommended beta build for most users. Built on October 2, 2021.
[▾ Hide Changelog](<javascript:hideId('2243641784525321032')>)
3.5.0beta2
New Features
- Add support for SGR 8 (invisible text).
- Clear Buffer can now be broadcast like keyboard
input.
- The tab bar in the Minimal theme now uses the
same transparency as the rest of the window.
- Snippets now have configurable escaping modes so
you can use literal text without worrying about
backslashes.
- Hold option when sending a snippet to open it in
Advanced Paste for editing.
- Automatic logging filename is now a profile
setting instead of an advanced setting.
Bug Fixes
- Fix a bug where some apps would use the wrong
colors because of a terminfo problem.
- Fix a bug where using the contextual menu to
hide a Python API-provided status bar component
could hide the wrong one.
- Fix a bug where fish could be confused about the
size of a new session.
- Fix a bug where expanding a disclosure triangle
in an alert box didn't increase its size,
leaving the text unreadable.
- Widen prefs panel so legacy scrollbars don't
overlap controls.
- ESC c (RIS) now restores colors from the
underlying profile, including those changed by
OSC 4.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
e9e5d81a3fff481df88c8814834c929b621a7932921066822c175a4253df9d05
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYViv6wAKCRB0Et0TaFtK
rNNEAQDWyfJqGwwA9Guac1MkiubG28ylTgZdKWRUUiiriZ/KdwD/Y//79YNTT49T
Nt2Dm2gHmh5aRkv1KQLDfxt+6HfZao8=
=/VYl
-----END PGP SIGNATURE-----
iTerm2 3.5.1.beta1 (OS 10.15+)
This is the recommended beta build for most users. Built on May 20, 2024.
[▾ Hide Changelog](<javascript:hideId('7213127850959088736')>)
3.5.1beta1
Improvements
- Add gpt-4o model.
- Fix drag-drop to upload with SSH integration
when using ~/.ssh/config where Host isn't equal
to Hostname.
- Keypresses in SSH integration no longer wait for
one to ACK before the next is sent.
Bug Fixes
- Fix crashes.
- Rename preferences to settings in tip of the
day.
- Fix double-paste when drag-dropping text.
- Fix support for non-OpenAI LLMs.
- Typing while it2ssh is connecting no longer
breaks it.
- Fix performance issue with very long window
titles.
You can use the following to verify the zip file on https://keybase.io/verify:
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
31f62e83cf5da0de0bac516d05fb3caae56df47e2f5a5e946a16334f7830afe8
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZkuRFQAKCRB0Et0TaFtK
rLJ5AQCEGVXGeJBE5Z55sg5+TasuImwb7Paacduuqf7MlBa4gAEA5J0MeEXYKa4/
DR4bOtUoo6vtty6y1HM6m12L8H6Zx2o=
=RJqC
-----END PGP SIGNATURE-----
iTerm2 3.5.0beta1 (OS 10.14+)
This is the recommended beta build for most users. Built on September 25, 2021.
[▾ Hide Changelog](<javascript:hideId('3354287843735116263')>)
3.5.0beta1
New Features
- Add support for filtering: this hides all lines
not matching a search query to facilitate
browsing logs.
- Claim to be xterm version 314 and a vt220. This
will enable new features in various programs,
such as better key reporting in vim and emacs.
It may introduce new incompatibilities too!
Please let me know if something breaks.
- Add support for separate light/dark mode colors.
- Add Inject trigger. It injects input to the
terminal as though it had been read from the
running app.
- Add a trigger to set a user-defined variable.
- Add Triggers status bar component.
- Add session size as a feature you can show in
tab titles.
- Add a mouseInfo variable that exposes info about
the last button event to Python API scripts.
- In the Minimal theme, tabs now have a separate
configurable subtitle under the main title.
- You can now reveal a session by opening a URL
like iterm2:///reveal?sessionid=w0t0p0.guid
where the parameter comes from the
ITERM_SESSION_ID environment variable.
- You can now save logs in HTML.
- Add support for various control sequences that
affect colors (OSC 12, 17, 19, 104, 110, 111,
112, 117, and 119).
- Add support for colored underlines.
Other Improvements
- When you drag a top statusbar in a no-titlebar
window with a single tab and no split panes drag
the window instead of the tab.
- Use session font for timestamps.
- Add DECSET 2026 for synchronized updates.
- Make font configurable in text status bar
components.
- Various minor visual improvements.
- Prompt to delete the restoration db if verifying
its integrity takes over 10 seconds.
- Use fixed-pitch fonts in various places in
settings where they make sense.
- Show an indicator in all sessions when debug
logging is enabled.
- tmux integration now remembers which windows had
the toolbelt open.
- tmux integration now remembers tab title
overrides.
- Pressing a non-modifier key will now cancel a
double-tap of a modifier key that opens a hotkey
window.
- Clicking on indicator icons in the top right of
a session now shows help text.
- Broadcast to all panes/tabs is now a toggle.
- Double clicking on the tabbar now behaves the
same as double clicking on the title bar: it
respects the system setting for title bar double
clicks.
- Improve legibility of tab labels in the Minimal
theme.
- Limit CPU usage of helper tasks to 50%.
- Improve performance of highlight triggers.
- Various improvements to key reporting.
- Force apps to redraw when color settings change.
- Synchronize selected window, tab, and pane in
tmux integration when another client changes it.
- Add modified terminfo for xterm, xterm-256color,
and xterm-new that support Smulx (undercurl).
- Support resolutions larger than 4k pixels per
dimension in GPU renderer.
- Up/down arrows wrap around in open quickly
window.
- Don't reset the start location for search when a
search finds zero results.
- Add support for HTML-style #rrggbb colors in OSC
4 and related sequences.
Bug fixes
- When global search finds a result in a hidden
pane because a sibling is maximized an d you
select it, change which pane is maximized.
- Fix memory leaks.
- Mouse reporting now reports mouse up more than
once when multiple buttons were pressed at the
same time.
- Fix a bug where the scroll wheel could stop
working after a session terminates.
- Fix a bug when overwriting the second half of a
double-width character.
- Fix a bug in mouse reporting with tmux.
- Fix how colors are reported to improve
compatibility with emacs.
- Terminate buried sessions when quitting.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
c50b0718edb8acad04f20b1283e3add96752633c876630ed6ddaf7ebc4250e00
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYU/63gAKCRB0Et0TaFtK
rImWAP9l0Q1tvZ3u+1j9KOfYc9pNEQLF2RCpgR5MpC31yS1H5wEA5mIuxPnM3epz
6/axQ8+kHttB7qg4FlYUXsLz6DKHOq8=
=ubcq
-----END PGP SIGNATURE-----
iTerm2 3.4.9beta1 (OS 10.14+)
This is the recommended beta build for most users. Built on June 12, 2021.
[▾ Hide Changelog](<javascript:hideId('5590819444167195849')>)
3.4.9beta1
New Features
- Add support for new keyboard reporting mode
control sequences:
- CSI > u Push key reporting mode
- CSI < u Pop key reporting mode
- CSI ? u Query key reporting mode
- When you select hex characters and open the
context menu their base-10 equivalent is shown.
- Add Undo Close to menu so that you can bind a
keystroke to it. It undoes closing the last
session/tab/window.
- You can now enable and disable triggers both on
a per-profile basis and per-session. You can do
this through the usual prefs UIs and also
through the Session > Triggers menu.
- Add "Clear to Last Mark" and "Clear to Start of
Selection" menu items.
- Add an option to disable triggers in interactive
applications.
- You can now importa nd export snippets.
- Add a profile preference to open the password
manager automatically when a password prompt is
detected.
- Dynamic profiles may now name a "Dynamic Profile
Parent GUID" rather than "Dynamic Profile Parent
Name" to avoid breaking things when you rename a
profile with children.
- Timestamps can now be configured to show when
the mouse hovers over the right edge of the
window.
Other Improvements
- Preserve existing percent encoding when
cmd-clicking a URL.
- Avoid setting TTY's size when switching away
from a tab.
- Verbiage improvements to tmux dashboard.
- Improvements to escaping when sending text via
key binding action or snippets. Backaslashes can
now reliably be sent by escaping them as \\.
Existing key bindings and snippets will not
change behavior until edited.
- Sliders in prefs now include a text field
showing the actual value.
- The window menu now indicates windows'
shortcuts.
- Don't select tabs on mouse-down when option is
pressed so that you can option-drag a
non-selected tab.
- Set COPYFILE_DISABLE before creating an archive
to send with it2ul to not include extended
attributes files.
- Add Edit Triggers to Session menu.
- If the current directory is a symlink remember
it more reliably when creating a new session
that reuses the previous session's directory.
- Upload and download colors in the network usage
status bar component configurable.
- Prevent triggers that run commands from eating
infinite CPU if there are too many of them by
limiting the number that can run concurrently.
- Detect when triggers create a performance
problem and offer to disable them in interactive
apps.
- Page up, page down, home, and end now scroll
when you are not in an interactive app. There is
a new preference in Profiles > Keys to control
this.
- In tmux integration (for tmux 3.2 and later) tab
icons now reflect the current app in the tmux
pane.
- Add showingAlternateScreen as a session-scoped
variable.
- Add tmuxWindowPaneIndex as a session-scoped
variable (requires tmux 3.2+ and tmux
integration).
- Add logFilename variable to session scope.
- When a status bar is present without a composer
component and you open the composer, open the
big one instead of creating a temporary one in
the status bar.
- Include default environment variables when
launching a Python API script (e.g. so TMPDIR is
set).
- Tmux integration now uses #{pane_title} for the
tab title in most cases.
- Remove selection when pasting.
- Change the full screen mode shortcut to the mac
standard cmd-ctrl-F unless you have a profile
whose shortcut is set to this. Continue to
acccept cmd-enter as well.
- Minor performance improvements to legacy
renderer.
- Aesthetic improvements to the tabbar on big sur
to look more like system tabs.
- Make "movement keys scroll outside interactive
apps" into a profile preference.
- When dragging a window by the tabbar make it key
and front on mousedown.
- Order a window front when dragging begins.
- Add support for encrypted OpenSSH private keys
to upload/download with secure copy.
- Disable GPU renderer when macOS Monterey is in
low-power mode.
Bug Fixes
- macOS Monterey support.
- Make "broadcast to panes in current tab" saner.
It is now a per-tab rather than per-window
setting. Toggling it will enable/disable the
setting only for the current tab.
- Don't highlight the area next to the search
field in the preferences pane on mouse-over.
- Fix a bug where windows could be created a bit
narrower than they should have been.
- When the standard "tmux" profile is created,
ensure it doesn't have a hotkey.
- Fix improper truncation in git status bar
component.
- Fix cmd-clicking on URLs with ipv6 addresses.
- Fix URL changing in various cases when
cmd-clicking on it.
- Fix discrepancy between legacy and GPU
renderer's drawing of tiled background images.
- Fix a bug where toolbelt tables could be
truncated on the bottom.
- Move cursor to first column after adding
'session contents restored' banner.
- Fix bug where inline images were scaled
incorrectly.
- Fix insets of inline images to be mroe sensible.
- Fix a bug where a shadow could appear under the
tabbar in full screen mode on Big Sur and also
in the minimal theme.
- Disable paste bracketing when sending 'cd
directory' due to a drag being dropped.
- Fix the expand arrow button in the status bar
composer component.
- Allow focus to stay on search field when a
terminal window becomes key.
- Don't let a control sequence take you out of
CSI u mode.
- Fix overly long underlines in GPU renderer.
- Prevent excessive CPU usage when the git status
bar component is enabled and the repo in the
current directory is enormous.
- Fix incorrect network throughput in network
status bar component when the set of NICs
changes.
- Update full-environment Python scripts'
setup.cfg after editing dependencies.
- Fixes a bug where the window shrinks when
splitting a tab in a 1-tab window.
- Fix various crashes.
- Fix a bug where prompt marks could survive the
screen being cleared (this happened a lot in
tmux integration).
- Respect zero-width joiners and allow them to
prevent ligatures.
- Fix a bug where restoring windows from an
arrangement via the dock menu could put them on
the wrong screen.
- Avoid sending focus reports when the password
manager is open.
- Fix a bug where tabs opened from the tmux
dashboard would open in the current window
instead of in a new window.
- Fix a bug where content would jump around when
scrolled up into history and new input is being
received.
- Fix a bug where it was impossible to make a
selection while scrolled into history and new
input is being received.
- Fix a bug where content was duplicated when
restoring a window on app launch.
- Fix a bug where buried sessions remained hidden
when the password manager was opened by a
trigger.
- Fix opening emacs in an existing window when
cmd-clicking on a text file.
- Unset SHLVL when launching a session to avoid it
being greater than 1.
- Control-J in CSI u mode now sends a control
sequence.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
b80bab5a93448a170f72ccb00177809ffc89a73bc76286fdd4c5de15cd272ae6
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYMVGWAAKCRB0Et0TaFtK
rAbvAQC5pUyBzuGeGXmArNHqWjbS2fJXvU6u69xSSa+3X59mCgD+PvONGUZn2amG
/WC2FnZ7WnLUbfo7xlC+0YApMtSPtf4=
=isBr
-----END PGP SIGNATURE-----
iTerm2 3.4.7beta2 (OS 10.14+)
This is the recommended beta build for most users. Built on May 19, 2021.
[▾ Hide Changelog](<javascript:hideId('1332381347356734222')>)
3.4.7beta2
- Fix a bug where the GPU renderer would draw the
wrong part of history when receiving input.
3.4.7beta1
- Fix a regression where clicking on an inactive
split pane while iTerm2 is not the active app
didn't focus it.
- Fix performance problems because of a timer
leak.
- Fix performance problems on certain systems that
constantly issue screen change notifications.
- Fix a crash when using Undo in the composer.
- Fix poor performance in full screen mode.
- Fix drawing bug in non-GPU renderer when
scrolled to the bottom while receiving input
quickly.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
4e4cf559c7cc150b4ef929e17d3af52b8f7660bfd0c340c57bd2d423cdf06ca7
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYKXhiAAKCRB0Et0TaFtK
rLCEAP93iDLEdMAAJUzH15ZOWD41okZ/74KeGadBDDaOIxhHYAEAk+a0uly4PA2P
M6BftHkfqFI7CaRF2h6qCPqOktAUpYQ=
=xGo9
-----END PGP SIGNATURE-----
iTerm2 3.4.7beta1 (OS 10.14+)
This is the recommended beta build for most users. Built on May 14, 2021.
[▾ Hide Changelog](<javascript:hideId('8896999889453872875')>)
3.4.7beta1
This is a bugfix release over 3.4.6, which was
short-lived.
- Fix a regression where clicking on an inactive
split pane while iTerm2 is not the active app
didn't focus it.
- Fix performance problems because of a timer
leak.
- Fix performance problems on certain systems that
constantly issue screen change notifications.
- Fix a crash when using Undo in the composer.
- Fix poor performance in full screen mode.
- Fix drawing bug in non-GPU renderer when
scrolled to the bottom while receiving input
quickly.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
2811268e61807b12643ab9e29d4c9c9e60b2de2505e9b309c37e184c9d0650c3
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYJ64qwAKCRB0Et0TaFtK
rMfnAP0Xy05ATyYZUt4CNdTmcGjh2vkoVajdtXPufOy27FfsbAD/cPXGB63FiuCx
jLqwxh3o5KBo7yHXI3S1grlSvl1dZmk=
=C31U
-----END PGP SIGNATURE-----
iTerm2 3.4.5beta3 (OS 10.14+)
This is the recommended beta build for most users. Built on April 4, 2021.
[▾ Hide Changelog](<javascript:hideId('2173793518340028683')>)
3.4.5beta3
Bug Fixes
- Fix a hang when using a status bar with the
"stable layout" algorithm and a fixed-size
spacer.
- Fix a bug where scroll wheel mice could need
more than one click to scroll.
- Fix a bug where tmux integration was broken on
OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
or disabled.
- Fix bugs where tiled background images didn't
look right.
- Fix bug where the last command in the command
history toolbelt tool was cut off.
- Fix a crash.
You can use the following to verify the zip file on
https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
86b42e49bff8400f090ec83f7a15b32d94573bee2c9354f5d46a73ca27290758
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYGqhqgAKCRB0Et0TaFtK
rFTWAQCjlWRL+UjjIzCNfMInRxthIV9eOHkOAQPoiIpxz9T+jAD+IxLJWjDD3ss7
uzHXRrozjOtZ+rbL8pgpAZpsaA/kfRA=
=Gaxz
-----END PGP SIGNATURE-----
iTerm2 3.4.5beta2 (OS 10.14+)
This is the recommended beta build for most users. Built on March 12, 2021.
[▾ Hide Changelog](<javascript:hideId('7830004687024868132')>)
3.4.5beta2
Bug Fixes
- Fix various bugs around snippets with the same
title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
~/.iterm2-1 cannot be created/used as writable
directories.
- Fix rendering bugs in background images with
transparency.
- When HTML titles are enabled, remove the tags
from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
changing screen.
- Fix a bug where no terminal content was shown
when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
sometimes be wrong.
- Fix a bug where smart cursor color didn't use
the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
retina scale into account.
- Fix blurry timestamps.
You can use the following to verify the zip file
on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
3c7b71a5d74542590a23e66132a72b1cd469218757033b722bab929216711cfb
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYEvnGAAKCRB0Et0TaFtK
rI79APwO0cN91LbDOiu/gBp4L6bbd0Bm+EcF4C/OdQ7AE8t0FgEA1gM1rhyZ4RWV
Iz+K0nYWB9072OCN0KT/IXGpFlZlaD4=
=Vuvi
-----END PGP SIGNATURE-----
iTerm2 3.4.5beta1 (OS 10.14+)
This is the recommended beta build for most users. Built on February 15, 2021.
[▾ Hide Changelog](<javascript:hideId('4612973181591787053')>)
3.4.5beta1
New Features:
- Add preference to allow/disallow apps changing
the function of the option keys with a control
sequence.
- Add a menu item to pop the current session into
a new window.
- The git status bar now indicates the repo state
(merging, reverting, cherrypicking, bisecting,
rebasing, or applying).
- When you right click on a hex color like #ffeedd
show a preview of the color in sRGB in the
context menu.
- Add a new type of trigger to highlight the whole
line. This is useful because matching .*foo.* is
very slow. With this trigger you can simply
match foo and the whole line changes color.
Improvements
- The git status bar component no longer shells
out to the system git. It uses libgit2 instead
(nicely named!) and should be faster and more
reliable now.
- When known, the current git branch is used as a
search feature in Open Quickly.
- Don't show a line between the titlebar and
tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
selecting the Move To Screen menu item, it will
lose its affinity for the window assigned to it
in Prefs > Profiles > Window and stay where it
was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
shortcuts.
- Ignore dynamic profiles whose filename ends in a
tilde.
- Reset terminal when relaunching a session (e.g.,
paste bracketing and mouse reporting).
- The composer window now uses the terminal's
font.
- Scrolling with the trackpad should be more
responsive now.
- Change how text is drawn when not using GPU
renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
treat a backslash in the last column as a
continuation mark and don't include it.
- By default, save terminal contents to history
when there is a scrolling region that touches
the top of the screen.
- Newly saved window arrangements will restore to
the right size when scroller style changes after
they were created (unless there are side-by-side
split panes).
- Treat soft hyphens as unicode punctuation in
Advanced Paste.
Bug Fixes
- Fix a bug where doublecliking on a session
titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
field.
- Blur is now correct after changing window type
or theme.
- Fix a bug where a window forgot it was blurred
when toggling traditional fullscreen in Minimal
theme.
- Fix a bug where windows would restore on the
wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
"off" when the "Reduce motion" accessibility
setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
sent the wrong code.
- Fix a bug where the app could hang after certain
trackpad touches.
- Fix a bug where copy on selection didn't always
work.
- Fix a bug where transparent windows changed
colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
didn't always work.
- Fix crashes.
- Fix a bug where disabling
middle-click-to-close-a-tab also breaks the tab
close button.
- Fix keystroke filtering in the Python APi which
seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
HTML for window title and tooltips.
- Fix a bug where inline images downscaled
with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
able to be created and is not already a
directory.
- Fix a bug where tab icons were flipped
vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
use the wrong thickness for text.
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
2fead9e50cf8d6b1604306acc3ad83791fda234e2583c26d02f59d0a8664426a
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYCtcDwAKCRB0Et0TaFtK
rNV7AQCvTEEIq1DArq1zpZKEbOZKVnpCVBCyWiNY3WI84vsilgD7BmmhrBZIcjOt
3wWI1DoucA++txeTFFTi+7ObvcK1AMk=
=6od5
-----END PGP SIGNATURE-----
iTerm2 3.4.4beta4 (OS 10.14+)
This is the recommended beta build for most users. Built on January 25, 2021.
[▾ Hide Changelog](<javascript:hideId('1049377117856878525')>)
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
1cb734f3a9fb295fc78f681d5df61467207a5e7e239c181fc78bbfc849f895fa
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYA9pmwAKCRB0Et0TaFtK
rGwyAQC57E26RIPcGFELMq/9f9G/pAgTk/OSCcFsbCgOzOPvrAD9EAYuLd/IKODZ
uJjYuZTLmP0IJuBHVR789e4A3NhmRUM=
=Xl36
-----END PGP SIGNATURE-----
iTerm2 3.4.4beta3 (OS 10.14+)
This is the recommended beta build for most users. Built on January 10, 2021.
[▾ Hide Changelog](<javascript:hideId('1157763814096603218')>)
3.4.4beta3
Improvements:
- The changelog now has a PGP signature.
- When you hold down cmd while dragging in a file
from Finder, insert a command to cd to its
containing folder.
- (Beta only) support DECSET 1036.
Bugs Fixed:
- When you drag a tab out of a window, show the
previously selected tab. That makes it possible
to drag another tab into a pane in the current
tab.
- Fix a bug where the tmux initial window mode was
not respected.
- Fix a bug where miniaturized windows were
restored non-miniaturized.
- Fix a bug where the "do not remap" action didn't
work when secure keyboard input was turned on.
SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
6ab375e293bcbd2e1c3ff2c2b95e2dc18df03ab90e4e0841e9726e682fcbf0ba
-----BEGIN PGP SIGNATURE-----
iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCX/vwYAAKCRB0Et0TaFtK
rLB4AP9sbAZqou+db3ew8mk5BneAgS4PN6LqdC2XndqYgfkhnwEA1y3shsyuI9gN
kQvRH4dk6xMMBorq/sal563Ou4vGHN0=
=g1w4
-----END PGP SIGNATURE-----
iTerm2 3.4.4beta2 (OS 10.14+)
This is the recommended beta build for most users. Built on January 3, 2021.
[▾ Hide Changelog](<javascript:hideId('7285198054552052351')>)
3.4.4beta2
New Features:
- The composer now integrates with command history
and makes completion suggestions.
- When you right click on text with a hyperlink,
"Copy Link Address" is now available in the
context menu.
Improvements:
- Allow emoji picker to be added to the touch bar.
- Add "Send Snippet" as a key binding action.
- Remove the popover composer UI; use the large
composer UI regardless of whether there is a
status bar.
- Add a button in the composer UI to open
explainshell.com.
Bugs Fixed:
- Fix a bug introduced in the previous beta that
prevented creating sessions when iTerm2 is
installed in a path with a space in it.
- Fix tiled images, which did not tile properly.
- Fix a bug where newly added snippets cannot be
selected in the menu.
- Reduce scroll speed in mouse reporting.
- Fix a bug where the login shell could be
launched as x86 only.
- Fix layout bugs when resizing shortcuts prefs
windows.
- Reduce CPU utilization when GPU resources are
scarce.
- Fix a bug where minimum contrast didn't work
correctly in GPU renderer sometimes.
- Make the tab color selection menu item look
right in dark mode.
SHA-256 of the zip file is
4856f20dee0c209ab84a3fb38decf3eccde9dcea372e477e689113b3a47ee234
-----BEGIN PGP SIGNATURE-----
iHUEABEIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCX/Kj/wAKCRB0Et0TaFtK
rKT6AP4rNLcb59WCN9M0UdkyHiLtcFRVjrqJ0x0u3KLv8x71FAD7BoQr+TQ0C00C
UJ/Bts/0r2GB/204M1P9+AUBa+48QP4=
=44eO
-----END PGP SIGNATURE-----
iTerm2 3.4.4beta1 (OS 10.14+)
This is the recommended beta build for most users. Built on December 27, 2020.
[▾ Hide Changelog](<javascript:hideId('1281671850771157664')>)
3.4.4beta1
Annoying things I'm sorry about
- You'll be asked to re-install the Python
runtime. This fixes a problem where pip3 would
sometimes fail. Instead of creating a symlink
of ~/Library/ApplicationSupport we will now use
~/.config/iterm2/AppSupport.
New Features
- Tab titles now parse very basic HTML tags for
bold, italic, and underline. Less-than and
ampersand entites are also recognized.
- Margins are now adjustable in Prefs >
Appearance > Panes.
- Add an option to save prefs to a custom folder
automatically.
Improvements
- Improve performance of opening lots of tabs at
once.
- Improve performance when changing prefs that
affect many tabs.
- Tabs are now selected on mouse down rather than
on mouse up.
- Hide tab close button on small tabs to prevent
accidental closure.
- Confirm deleting entries in the password
manager.
- Tab icons are now always left aligned and get
replaced with the close button on hover.
- Plain-text logs now include timestamps.
- Recognize U+251C and U+2524 as column dividers
for selection's soft boundaries.
- Reduce minimum dimming amount allowed in Prefs >
Appearance > Dimming.
- Use terminal background color to determine
appearance of composer.
- You can now use Cmd-W to dismiss the composer.
- Don't show an alert if the initial tmux
integration command fails.
- When you split a pane in tmux integration and
focus follows mouse is on, don't make the pane
under the mouse active. Make the new pane
active.
- New tmux windows created outside iTerm2 (e.g.,
by running `tmux new-window`) will become tabs
in the current window.
- Give backpressure to commands run in the
background (e.g., from triggers) to keep them
from hogging CPU.
- Improve performance of creating a new session in
a custom directory.
- Improve performance when there are big
background images.
- The composer now clears the existing command by
sending C-U C-K.
- Handle "Default_Ignorable" unicode characters
correctly.
- Use the background color of inactive sessions to
determine the split pane divider color.
- Improve performance of decoding inline images.
- Make trackpads scroll faster to act more like
other macOS apps.
Bug Fixes
- Fix various crashes.
- Fix a bug where tab labels would be white in
light mode when there was a colored tab.
- Fix alignment of underlines in GPU renderer.
- Fix various drawing bugs in legacy renderer.
- Fix a bug where on Big Sur transparency doesn't
work with background images.
- Fix $$$$ in profile commands, which should be
replaced with $$.
- Fix a bug in key reporting for arrow keys when
application cursor mode is on. This caused
problems in vim.
- Improve how background colors are blended with
background images in GPU renderer to be
consistent with legacy renderer.
- Fix a bug where Window > Move to (display) was
disabled.
- Fix a bug where tmux panes would get killed when
switching sessions.
- Don't show the "short-lived session" warning in
tmux integration when creating a new tmux
session.
- Fix a problem where BBEdit couldn't find the
parent iTerm2 app.
- Tolerate missing profiles when restoring a
window arrangement.
- Don't show swipe-between-tabs animation when
there is only one tab.
- Give minimal windows an invisible proxy icon so
that accessibility can tell what the current
directory is.
- Tmux integration windows enter full screen when
the profile specifies it.
- Fix a bug where windows were not movable after
exiting full screen.
- Fix various bugs in the "Add Trigger" menu item.
- Fix bugs where switching tabs makes a cleared
search field regain its previous value.
- Fix a bug where async_get_full_profile in Python
API would throw for some profiles.
- Reduce size of saved state database.
- Fix a bug where tmux integration didn't work on
OpenBSD.
- Fix a bug where clicking in the search field
didn't work.
- Fix a bug where non-default background colors
had the wrong opacity in the GPU renderer.
SHA-256 of the zip file is
14751900bee281d52d8994ea54e0729628ecd7d78db2ff9ef0e78e2c6364136a
iTerm2 3.4.3beta1 (OS 10.14+)
This is the recommended beta build for most users. Built on November 30, 2020.
[▾ Hide Changelog](<javascript:hideId('8972932098815164111')>)
3.4.3beta1
- Don't allow programs to turn on
"modifyOtherKeys" key reporting mode, which
caused problems in vim for many users.
This default can be changed in
Prefs > Profiles > Keys.
- Fix a bug where "Move Session to Window" was
disabled in the context menu.
- Fix a bug where long URLs couldn't be
cmd-clicked on.
- If Application Support is not writable, copy the
server binary to ~/.iterm2
- Save restorable state when upgrading, even if
it's normally not used.
- Fix a bug where custom status bar components
didn't work.
- Fix a bug where the python runtime couldn't be
downloaded.
- Bring back the ApplicationSupport symlink
because pip3 can't handle spaces in paths.
- Fix a crash when the scripting console was open.
3.4.2
- Fix a bug where sessions ended immediately.
- Fix a bug where tmux integration would
disconnect immediately.
- Fix crashes.
- Fix a bug where smart selection actions in the
context menu were disabled.
- Fix Prefs > General > Magic > Allow all apps to
connect, which gave an error every time.
- Fix right click to open context menu for
two-button mice.
- Improve performance when resizing windows with
background images.
- Fix shortcut for Composer in tip of the day.
- Fix support for control keys that include option
on non-US keyboard in modifyOtherKeys mode 2.
- Fix a bug where the tab title was used in place
of the window title.
3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
overlap terminal contents in full screen mode.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
9db9b3801c90e16575d20ebc65a462fc9a119c4b9e3ad9743e4a0b47cb7bfa46
iTerm2 3.4.2beta3 (OS 10.14+)
This is the recommended beta build for most users. Built on November 21, 2020.
[▾ Hide Changelog](<javascript:hideId('2442314624000928792')>)
3.4.2beta3
- Fix support for control keys that include option
on non-US keyboard in modifyOtherKeys mode 2.
- Fix crashes.
- Fix a bug where the tab title was used in place
of the window title.
3.4.2beta2
- Fix a crash when launching a new session.
- Fix an incorrect shortcut in the tip of the day.
3.4.2beta1
- Fix a bug where smart selection actions in the
context menu were disabled.
- Fix a bug where tmux integration would
disconnect immediately.
- Fix Prefs > General > Magic > Allow all apps to
connect, which gave an error every time.
- Fix right click to open context menu for
two-button mice.
- Fix a bug where sessions always terminate
immediately.
3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
overlap terminal contents in full screen mode.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
83cc28c1441fddee9019bb08cad3a3969f0d94f4c1d897ad7e11a4486cb4f0d7
iTerm2 3.4.2beta2 (OS 10.14+)
This is the recommended beta build for most users. Built on November 21, 2020.
[▾ Hide Changelog](<javascript:hideId('7561467581379968343')>)
3.4.2beta2
- Fix a crash when launching a new session.
- Fix an incorrect shortcut in the tip of the day.
3.4.2beta1
- Fix a bug where smart selection actions in the
context menu were disabled.
- Fix a bug where tmux integration would
disconnect immediately.
- Fix Prefs > General > Magic > Allow all apps to
connect, which gave an error every time.
- Fix right click to open context menu for
two-button mice.
- Fix a bug where sessions always terminate
immediately.
3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
overlap terminal contents in full screen mode.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
905dcd0f9ac095f0f0381866ec483fd93baa7588dd2c581f76ccd7e07e942b2e
iTerm2 3.4.2beta1 (OS 10.14+)
This is the recommended beta build for most users. Built on November 19, 2020.
[▾ Hide Changelog](<javascript:hideId('3770214594297414022')>)
3.4.2beta1
- Fix a bug where smart selection actions in the
context menu were disabled.
- Fix a bug where tmux integration would
disconnect immediately.
- Fix Prefs > General > Magic > Allow all apps to
connect, which gave an error every time.
- Fix right click to open context menu for
two-button mice.
- Fix a bug where sessions always terminate
immediately.
3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
overlap terminal contents in full screen mode.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
98b77ede9b748c98ad6e24375e6c1e53fb1ca4f2cd4c127f798ee90397582fb3
iTerm2 3.4.0beta13 (OS 10.14+)
This is the recommended beta build for most users. Built on November 3, 2020.
[▾ Hide Changelog](<javascript:hideId('5289244556713915908')>)
3.4.0beta13
New Features
- Add "Add Trigger" menu item, which lets you
quickly create a highlight trigger.
Improvements
- Draw window borders on big sur in light theme.
Bug Fixes
- Fix a discrepancy between the legacy and GPU
renderers. When an emoji with default text
presentation follows an emoji with default emoji
presentation, CoreText renders the emoji with
the emoji presentation while the GPU does not.
Use the default presentation always.
- Detect hostname changes. Fixes the git status
bar component breaking.
- Fix support for multiple broadcast domains in
Python API.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
7a6b21c55233cc452ef3a5e5766abeb0580fb5913c1df83ccc378a4da8c4939c
iTerm2 v3.4.0beta13 (OS 10.14+)
This is the recommended beta build for most users. Built on November 12, 2020.
[▾ Hide Changelog](<javascript:hideId('3177760955429435815')>)
3.4.0beta13
New Features
- Add "Add Trigger" menu item, which lets you
quickly create a highlight trigger.
Improvements
- Draw window borders on big sur in light theme.
Bug Fixes
- Fix a discrepancy between the legacy and GPU
renderers. When an emoji with default text
presentation follows an emoji with default emoji
presentation, CoreText renders the emoji with
the emoji presentation while the GPU does not.
Use the default presentation always.
- Detect hostname changes. Fixes the git status
bar component breaking.
- Fix support for multiple broadcast domains in
Python API.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
2a971ceafe5c76216e93c686db0bef3b3b7ac97aad6515256d3e3a3409f29651
iTerm2 3.4.0beta12 (OS 10.14+)
This is the recommended beta build for most users. Built on October 26, 2020.
[▾ Hide Changelog](<javascript:hideId('4714553648650980909')>)
3.4.0beta12
Improvements
- Draw outline on right hand side of last tab in
minimal theme.
- Hide subpixel antialiasing UI on big sur because
Apple took it away from us :(
- App icon 7% snazzier
- Make shift-tab behave better in vim.
- Reset key reporting to default after restoring a
window when the original process can't be
attached to.
Bug Fixes
- Fix a bug where windows are not movable after
exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
window instead of a tab.
- Fix a bug where tmux windows would change sizes
unexpectedly when using horizontal/vertical
character spacing.
SHA-256 of the zip file is
294a87b54db4e4e765d222d140b9511162997d23842b55c0f56850ca5c406a48
iTerm2 3.4.0beta11 (OS 10.14+)
This is the recommended beta build for most users. Built on October 18, 2020.
[▾ Hide Changelog](<javascript:hideId('7728424220029674598')>)
3.4.0beta11
Improvements
- Disable GPU renderer for obscured windows when
using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
in the right position in the same window it came
from.
Bug Fixes
- Fix a bug where trimming whitespace when copying
didn't work.
- Fix a bug where tux windows would sometimes have
a discolored bar at the bottom.
- Fix a bug where Swap With Session didn't work on
tmux panes.
- Fix crash on startup.
- Fix a bug where arrangements created with tabs
that were created using "new tab using same
profile" would not restore with the same
settings.
- Fix a bug where scrollbars could overlap content
when changing scroller style.
- Fix a bug where the tab bar could remain visible
after exiting full screen when there is only a
single tab.
- Fix a bug where quickly resizing tmux windows
would increase the bottom margin.
- Fix a bug where Window > Resize Window would
cause tmux windows to resie incorrectly.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
592ae5c66b82c5f415b5db04530a9d1c6c01752bbe04ad7e3dfb66ac5e1b4e88
iTerm2 3.4.0beta10 (OS 10.14+)
This is the recommended beta build for most users. Built on October 4, 2020.
[▾ Hide Changelog](<javascript:hideId('2618018162291881381')>)
3.4.0beta10
New Features
- Show local time in the context menu when you
right click on a timestamp in microseconds since
epoch.
- Add a menu item "copy with control sequences".
Improvements
- Improve launch performance by saving less
scrollback restory.
- Send a newline before sending the curl command
to install shell integration to clear out any
existing command.
Bug Fixes
- Fix a crash on launch.
- Fix a bug where the Bury menu item was grayed
out.
- Fix a bug where the prefs window would shrink
when changing profiles.
- Fix a bug where fullscreen windows didn't have a
titlebar or tabbar on 10.15.6+.
- Fix a bug where the tmux dashboard would appear
upon attach when it oughtn't.
3.4.0 Release Notes:
Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
This makes it easier to make inline images
pixel-perfect.
- The Python API now only uses websockets.
Everyone has to upgrade to the newest version of
the Python runtime. This confers security
benefits.
- The toolbelt has a new "snippets" tool that lets
you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Pressing shift+arrow key when there is a
selection now enters Copy Mode automatically.
This can be disabled in Prefs > General >
Selection.
- You can now change window style (top of screen,
maximized, no title bar, etc.) for existing
windows from the Window menu.
- There is a new control sequence to clear
captured output (OSC 1337 ; ClearCapturedOutput
ST).
- After editing a session's name in Edit Session,
control sequences will no longer change it.
There is a lock icon in Edit Session to change
this behavior.
- Add an advanced pref to show timestamps by
default.
- Add Snippets and Actions to a new Shortcuts tab
in prefs, and ways to access them in various
places throughout the app, including new status
bar components.
Improvements
- Updates now use exclusively EdDSA. DSA-signed
auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
memory, network, battery) now animate smoothly
and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
secure copy feature.
- You can now change a profile's icon by single
clicking on the image.
- Don't disable metal when a window is obscured to
improve performance when switching from another
app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
to provide a user name.
- You can press cmd-B to toggle broadcasting in
the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
many errors, rate limit them to avoid spamming
you.
- Performance improvements
- Add min/max width configuration settings to most
status bar components.
- The prefs panel now opens centered on the
screen.
- File URLs with fragments will now open properly
in the browser.
- Expose a new bellCount session variable so API
scripts can perform an action when the bell
rings.
- Avoid saving non-syncing keys to externally
stored preferences.
- Change Composer shortcut from cmd-. to
cmd-shift-., to avoid breaking cmd-. acting as
esc.
- Fix support for tmux 2.1, which was incorrectly
detected, causing various bugs.
- Show a warning icon when system window
restoration is disabled but your startup option
is to use it.
- Don't confirm quitting the app when upgrading.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
various places (search web for selection, open
URL, etc.)
- Fix a bug where tmux windows shrink each time
you attach.
- Fix a bug where a key bound to Ignore would not
prevent a menu shortcut from working.
- Change how escaping works so you do not need to
escape backslashes in profile initial text or
command.
- Fix a bug where automatic profile switching
could get into an infinite loop.
- Fix bad performance with status bars using
auto-rainbow.
- Fix a bug where OSC codes would sometimes not be
parsed correctly and would change the title
instead.
- Fix detecting line numbers in Python tracebacks.
- Fix tmux version detection for tmux less than
2.3.
SHA-256 of the zip file is
24d23a04c9ebeb2b931c4cd91b338d317be041905a68e74f67c033fffa424570
iTerm2 3.4.0beta9 (OS 10.14+)
This is the recommended beta build for most users. Built on September 27, 2020.
[▾ Hide Changelog](<javascript:hideId('5211740227718767420')>)
3.4.0beta9
Improvements
- Show a warning icon when system window
restoration is disabled but your startup option
is to use it.
- Widen prefs panel in Big Sur so the search field
remains open.
- Show a warning when the application support
folder can't be found instead of crashing (then
crash).
Bug Fixes
- Fix a number of crashes.
- Really fix tmux version detection for tmux less
than 2.3.
- When system window restoration is off but you're
logging out and have opted to restore windows
when logging back in, respect that.
- Don't confirm quitting the app when upgrading.
3.4.0 Release Notes:
Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
This makes it easier to make inline images
pixel-perfect.
- The Python API now only uses websockets.
Everyone has to upgrade to the newest version of
the Python runtime. This confers security
benefits.
- The toolbelt has a new "snippets" tool that lets
you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Pressing shift+arrow key when there is a
selection now enters Copy Mode automatically.
This can be disabled in Prefs > General >
Selection.
- You can now change window style (top of screen,
maximized, no title bar, etc.) for existing
windows from the Window menu.
- There is a new control sequence to clear
captured output (OSC 1337 ; ClearCapturedOutput
ST).
- After editing a session's name in Edit Session,
control sequences will no longer change it.
There is a lock icon in Edit Session to change
this behavior.
- Add an advanced pref to show timestamps by
default.
- Add Snippets and Actions to a new Shortcuts tab
in prefs, and ways to access them in various
places throughout the app, including new status
bar components.
Improvements
- Updates now use exclusively EdDSA. DSA-signed
auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
memory, network, battery) now animate smoothly
and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
secure copy feature.
- You can now change a profile's icon by single
clicking on the image.
- Don't disable metal when a window is obscured to
improve performance when switching from another
app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
to provide a user name.
- You can press cmd-B to toggle broadcasting in
the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
many errors, rate limit them to avoid spamming
you.
- Performance improvements
- Add min/max width configuration settings to most
status bar components.
- The prefs panel now opens centered on the
screen.
- File URLs with fragments will now open properly
in the browser.
- Expose a new bellCount session variable so API
scripts can perform an action when the bell
rings.
- Avoid saving non-syncing keys to externally
stored preferences.
- Change Composer shortcut from cmd-. to
cmd-shift-., to avoid breaking cmd-. acting as
esc.
- Fix support for tmux 2.1, which was incorrectly
detected, causing various bugs.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
various places (search web for selection, open
URL, etc.)
- Fix a bug where tmux windows shrink each time
you attach.
- Fix a bug where a key bound to Ignore would not
prevent a menu shortcut from working.
- Change how escaping works so you do not need to
escape backslashes in profile initial text or
command.
- Fix a bug where automatic profile switching
could get into an infinite loop.
- Fix bad performance with status bars using
auto-rainbow.
- Fix a bug where OSC codes would sometimes not be
parsed correctly and would change the title
instead.
- Fix detecting line numbers in Python tracebacks.
SHA-256 of the zip file is
c2e5b0f50a88c21176fb52622187fc1c40e3dde90ee21b1dde208ccc8bb022f8
iTerm2 3.4.0beta8 (OS 10.14+)
This is the recommended beta build for most users. Built on September 22, 2020.
[▾ Hide Changelog](<javascript:hideId('3231205640625887125')>)
3.4.0beta8
Improvements
- Fix support for tmux 2.1, which was incorrectly
detected, causing various bugs.
Bug Fixes
- Fix a bug where automatic profile switching
could get into an infinite loop.
- Fix a bug where two windows would open at
launch.
- Fix bad performance with status bars using
auto-rainbow.
- Fix a bug where you couldn't create new touch
bar items.
- Fix a bug where OSC codes would sometimes not be
parsed correctly and would change the title
instead.
- Fix a crash on launch.
- Fix a bug where the window image would overlap
the textual content.
- Fix detecting line numbers in Python tracebacks.
3.4.0 Release Notes:
Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
This makes it easier to make inline images
pixel-perfect.
- The Python API now only uses websockets.
Everyone has to upgrade to the newest version of
the Python runtime. This confers security
benefits.
- The toolbelt has a new "snippets" tool that lets
you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Pressing shift+arrow key when there is a
selection now enters Copy Mode automatically.
This can be disabled in Prefs > General >
Selection.
- You can now change window style (top of screen,
maximized, no title bar, etc.) for existing
windows from the Window menu.
- There is a new control sequence to clear
captured output (OSC 1337 ; ClearCapturedOutput
ST).
- After editing a session's name in Edit Session,
control sequences will no longer change it.
There is a lock icon in Edit Session to change
this behavior.
- Add an advanced pref to show timestamps by
default.
- Add Snippets and Actions to a new Shortcuts tab
in prefs, and ways to access them in various
places throughout the app, including new status
bar components.
Improvements
- Updates now use exclusively EdDSA. DSA-signed
auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
memory, network, battery) now animate smoothly
and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
secure copy feature.
- You can now change a profile's icon by single
clicking on the image.
- Don't disable metal when a window is obscured to
improve performance when switching from another
app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
to provide a user name.
- You can press cmd-B to toggle broadcasting in
the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
many errors, rate limit them to avoid spamming
you.
- Performance improvements
- Add min/max width configuration settings to most
status bar components.
- The prefs panel now opens centered on the
screen.
- File URLs with fragments will now open properly
in the browser.
- Expose a new bellCount session variable so API
scripts can perform an action when the bell
rings.
- Avoid saving non-syncing keys to externally
stored preferences.
- Change Composer shortcut from cmd-. to
cmd-shift-., to avoid breaking cmd-. acting as
esc.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
various places (search web for selection, open
URL, etc.)
- Fix a bug where tmux windows shrink each time
you attach.
- Fix a bug where a key bound to Ignore would not
prevent a menu shortcut from working.
- Change how escaping works so you do not need to
escape backslashes in profile initial text or
command.
SHA-256 of the zip file is
87827accb5b6a4dfc0c64e6df48d0550faa989150f4cabcc5b89a8facb1a7d94
iTerm2 3.4.0beta7 (OS 10.14+)
This is the recommended beta build for most users. Built on September 17, 2020.
[▾ Hide Changelog](<javascript:hideId('4965574310370383218')>)
3.4.0beta7
New Features
- Add Snippets and Actions to a new Shortcuts tab
in prefs, and ways to access them in various
places throughout the app, including new status
bar components.
Improvements
- The prefs panel now opens centered on the
screen.
- Modifier keys in vim should work better now. CSI
u mode is no longer enabled by a control
sequence. Instead, a "modifyOtherKeys" mode has
been added which is compatible with xterm.
- File URLs with fragments will now open properly
in the browser.
- Expose a new bellCount session variable so API
scripts can perform an action when the bell
rings.
- Avoid saving non-syncing keys to externally
stored preferences.
- Change Composer shortcut from cmd-. to
cmd-shift-., to avoid breaking cmd-. acting as
esc.
Bug Fixes
- State restoration made more reliable.
- Many crashes fixed.
- Fix spurious activity indicator when changing
tabs.
- Fix a bug where tmux windows would shrink by
themselves.
3.4.0 Release Notes:
Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
This makes it easier to make inline images
pixel-perfect.
- The Python API now only uses websockets.
Everyone has to upgrade to the newest version of
the Python runtime. This confers security
benefits.
- The toolbelt has a new "snippets" tool that lets
you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Pressing shift+arrow key when there is a
selection now enters Copy Mode automatically.
This can be disabled in Prefs > General >
Selection.
- You can now change window style (top of screen,
maximized, no title bar, etc.) for existing
windows from the Window menu.
- There is a new control sequence to clear
captured output (OSC 1337 ; ClearCapturedOutput
ST).
- After editing a session's name in Edit Session,
control sequences will no longer change it.
There is a lock icon in Edit Session to change
this behavior.
- Add an advanced pref to show timestamps by
default.
Improvements
- Updates now use exclusively EdDSA. DSA-signed
auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
memory, network, battery) now animate smoothly
and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
secure copy feature.
- You can now change a profile's icon by single
clicking on the image.
- Don't disable metal when a window is obscured to
improve performance when switching from another
app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
to provide a user name.
- You can press cmd-B to toggle broadcasting in
the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
many errors, rate limit them to avoid spamming
you.
- Performance improvements
- Add min/max width configuration settings to most
status bar components.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
various places (search web for selection, open
URL, etc.)
- Fix a bug where tmux windows shrink each time
you attach.
- Fix a bug where a key bound to Ignore would not
prevent a menu shortcut from working.
- Change how escaping works so you do not need to
escape backslashes in profile initial text or
command.
SHA-256 of the zip file is
f7d8293ec6dbdf8c527274b66c8154d5f4a86ab68d24843fdb5268c727a6bace
iTerm2 3.4.0beta6 (OS 10.14+)
This is the recommended beta build for most users. Built on September 9, 2020.
[▾ Hide Changelog](<javascript:hideId('3477387558022271583')>)
3.4.0beta6
Improvements
- You can press cmd-B to toggle broadcasting in
the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
many errors, rate limit them to avoid spamming
you.
- Performance improvements
- Add min/max width configuration settings to most
status bar components.
Bug Fixes
- Change how escaping works so you do not need to
escape backslashes in profile initial text or
command.
- Fix spurious tab activity icon/spinner.
- Fix a crash after duplicating a tab.
- Unbreak NVidia GPUs.
- Fix a crash with auto command completion.
- Fix a bug where marks and annotations weren't
restored properly.
- Fix a hang on launch.
3.4.0 Release Notes:
Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
This makes it easier to make inline images
pixel-perfect.
- The Python API now only uses websockets.
Everyone has to upgrade to the newest version of
the Python runtime. This confers security
benefits.
- The toolbelt has a new "snippets" tool that lets
you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Pressing shift+arrow key when there is a
selection now enters Copy Mode automatically.
This can be disabled in Prefs > General >
Selection.
- You can now change window style (top of screen,
maximized, no title bar, etc.) for existing
windows from the Window menu.
- There is a new control sequence to clear
captured output (OSC 1337 ; ClearCapturedOutput
ST).
- After editing a session's name in Edit Session,
control sequences will no longer change it.
There is a lock icon in Edit Session to change
this behavior.
- Add an advanced pref to show timestamps by
default.
Improvements
- Updates now use exclusively EdDSA. DSA-signed
auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
memory, network, battery) now animate smoothly
and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
secure copy feature.
- You can now change a profile's icon by single
clicking on the image.
- Don't disable metal when a window is obscured to
improve performance when switching from another
app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
to provide a user name.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
various places (search web for selection, open
URL, etc.)
- Fix a bug where tmux windows shrink each time
you attach.
- Fix a bug where a key bound to Ignore would not
prevent a menu shortcut from working.
SHA-256 of the zip file is
33bfea412b3c918037c5f7b86a4d683978bebb5a91114f9db3ebb478eb51ad28
iTerm2 3.4.0beta5 (OS 10.14+)
This is the recommended beta build for most users. Built on August 31, 2020.
[▾ Hide Changelog](<javascript:hideId('2526394647294625408')>)
3.4.0beta5
Improvements
- Windows now restore their full history instead
of just the last 10k lines.
- Many improvements to auto command completion,
making it actually usable.
- Actions that invoke a command such as smart
selection "run command" actions now go through
your shell so they have a proper PATH.
- Exposé Tabs was removed in favor of a
lighter-weight "Find Globally" feature.
- Making a selection while viewing scrollback
history while reciving new content is more
reliable now.
- Job names now show the modified name if a
process writes to its argv[0].
New Features
- You can now change window style (top of screen,
maximized, no title bar, etc.) for existing
windows from the Window menu.
- There is a new control sequence to clear
captured output (OSC 1337 ; ClearCapturedOutput
ST).
- After editing a session's name in Edit Session,
control sequences will no longer change it.
There is a lock icon in Edit Session to change
this behavior.
- If you launch iTerm2 by opening a file it is
associated with, it would create a window
exactly where the first restored window would go,
making it hard to find. It now goes somewhere
else.
- Add an advanced pref to show timestamps by
default.
Bug Fixes
- URL escaping should be more consistent now in
various places (search web for selection, open
URL, etc.)
- Fix flashing while scrolling.
- Fix a bug where tmux windows shrink each time
you attach.
- Fix a bug where copy mode was sometimes entered
when you press shift-arrow key when there was no
existing selection.
- Fix a bug where the scrollbar would randomly
appear for no reason.
- Fix a bug where a key bound to Ignore would not
prevent a menu shortcut from working.
3.4.0 Release Notes:
Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
This makes it easier to make inline images
pixel-perfect.
- The Python API now only uses websockets.
Everyone has to upgrade to the newest version of
the Python runtime. This confers security
benefits.
- The toolbelt has a new "snippets" tool that lets
you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Pressing shift+arrow key when there is a
selection now enters Copy Mode automatically.
This can be disabled in Prefs > General >
Selection.
Improvements
- Updates now use exclusively EdDSA. DSA-signed
auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
memory, network, battery) now animate smoothly
and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
secure copy feature.
- You can now change a profile's icon by single
clicking on the image.
- Don't disable metal when a window is obscured to
improve performance when switching from another
app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
to provide a user name.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
SHA-256 of the zip file is
a73381af235ba66645cb9d667e8bfae77c3770623e17aa57099c5e9aaa9ddf90
iTerm2 3.4.0beta4 (OS 10.14+)
This is the recommended beta build for most users. Built on August 16, 2020.
[▾ Hide Changelog](<javascript:hideId('5916567221322030065')>)
3.4.0beta4
New Features
Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
- The Python API now only uses websockets.
Everyone has to upgrade to the newest version of
the Python runtime. This confers security
benefits.
- The toolbelt has a new "snippets" tool that lets
you quickly paste saved text.
Improvements
- The ApplicationSupport symlink under ~/Library
is no longer needed.
- Postgres icon added.
- Status bar components that show graphs (CPU,
memory, network, battery) now animate smoothly
and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
secure copy feature.
- You can now change a profile's icon by single
clicking on the image.
- Don't disable metal when a window is obscured to
improve performance when switching from another
app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
to provide a user name.
Bug Fixes
- Fix a bug where restoring multiple windows
instead restored one window many times.
- Fix a bug where you couldn't create new sessions
after upgrading. You'll need to killall
iTermServer for this to take effect.
- Fix various small memory leaks.
- Shortcuts bound to Paste won't take effect when
the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
- Pressing shift+arrow key when there is a
selection now enters Copy Mode automatically.
This can be disabled in Prefs > General >
Selection.
Improvements
- Updates now use exclusively EdDSA. DSA-signed
auto update appcasts are completely gone.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
a3b5b980b7ba9083d8046adae14b093c26d2a655a04d9dc5ec2548546804e7f3
iTerm2 3.4.0beta3 (OS 10.14+)
This is the recommended beta build for most users. Built on August 8, 2020.
[▾ Hide Changelog](<javascript:hideId('87206983994866822')>)
3.4.0beta3
New Features:
* Add control as a shortcut for navigation.
* Add checkbox to advanced prefs to exclude
default values.
* Window state restoration is now completely
custom. It uses a sqlite database to update
changes instead of rewriting the whole thing
over and over. It should be faster and more
reliable now.
Improvements:
* You can now provide custom session icons by
placing graphic_colors.json, graphic_icons.json,
and graphic_xxx.png in
~/Library/Application Support/iTerm2.
* Enable secure keyboard input at password prompt.
* When you create a hotkey window with
Prefs>Keys>Hotkey>Create a Dedicated Hotkey
Window, add a keybinding to the new profile for
cmd-t to open a new tab with that profile.
* Dismiss paste bracketing warning when a control
sequence changes its setting.
* Remove deviations from CSI u spec.
Bug Fixes:
* Fix crashes.
* Fix a bug where a split pane could become less
than 2 columns wide, and then crazy things
happen.
* Fix various bugs in CSI u mode, including f1-f4
not working in vim.
* Don't let momentum scroll in one tab affect
another when the mouse cursor moves.
* Fix a bug where the window didn't get shorter
when closing the last tab.
* Don't auto-enter copy mode unless there is a
selection.
* Save and restore touch bar key labels that were
changed by a control sequence.
* Various visual improvements.
SHA-256 of the zip file is
5951a67574fb08528e581baf9224a3a3ddf609046352f0b44b663214a1754e68
iTerm2 3.4.0beta2 (OS 10.14+)
This is the recommended beta build for most users. Built on July 20, 2020.
[▾ Hide Changelog](<javascript:hideId('5197613041476659269')>)
3.4.0beta2
New Features
- Pressing shift+arrow key when there is a
selection now enters Copy Mode automatically.
This can be disabled in Prefs > General >
Selection.
Improvements
- Updates now use exclusively EdDSA. DSA-signed
auto update appcasts are completely gone.
- Make progress indicators in the tab bar animate
in lockstep.
- Performance improvements for non-GPU renderer
when there are lots of different colors at once.
Bug Fixes
- Fix spelling mistakes.
- Don't want about multi-line paste when stripping
newlines with advanced paste.
- Fix various crashes.
- Fix memory leaks.
3.4.0 Release Notes:
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
b4b656714ca890e4f0f75dbe9b9b6e6838e815ba23110ce58450f5f2dfbea576
iTerm2 3.4.0beta1 (OS 10.14+)
This is the recommended beta build for most users. Built on July 13, 2020.
[▾ Hide Changelog](<javascript:hideId('7245364826947995596')>)
3.4.0beta1
New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
whether mouse reporting of clicks and drags are
allowed.
- Search results, marks, and annotations are now
indicated in the scroll bar.
- There's a new preference to focus a window when
you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
setting.
- Adds support for flow control in tmux 3.2 and
" mode" that will automatically
sessions in tmux integration that get very far
behind with the ability to catch up quickly.
NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
size the same as you create or destroy split
panes.
- Adds a preference to exclude iTerm2 from the
dock and cmd-tab app switcher only if all
windows are hotkey windows.
- In the Minimal and Compact themes, you can now
drag the window by grabbing the edge of the tab
bar near the window border.
Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
instead of a TCP socket for better performance.
The security model has also changed: apps can
authenticate via Applescript or you can choose
to allow all programs running locally to use the
API.
- Use a single daemon process for all sessions
instead of one per session. This reduces the
number of process IDs used and also improves the
time to launch a new session.
- Background images are significantly faster when
not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
Find on Page UI.
- Dynamic profiles now works with symlinks. Even
the DynamicProfiles folder itself may be a
symlink.
- Exported scripts now have a more secure
container format that signs the entire file
except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
possibly destructive or annoying activities are
done in response to control sequences.
- Don't snap window size to the cell grid when it
gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
originating from the built-in keyboard.
- The profile preference "Send text at start" is
now an interpolated string.
- The profile preference "Custom command" is
now an interpolated string.
- The feature where the scroll wheel sends arrow
keys when in alternate screen mode now works
even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
history, keep the text in the top left locked in
position.
- Show a brief message when automatic profile
switching takes effect.
Bug Fixes
- Full screen windows in the Minimal or Compact
theme did not used to get restored properly and
now they do.
- Fix how 24-bit colors are reported to work with
vim.
- Saved arrangements that contain local changes
(such as those made with Edit Session) will now
pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
hyperlinks didn't get restored reliably when
restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
restoring windows after restarting the app.
Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.
SHA-256 of the zip file is
831b3e6db4f0750e6117d35d054f83d07977cec5e3322eb0b51de4e0dff858c4
iTerm2 3.3.12beta3 (OS 10.12+)
This is the recommended beta build for most users. Built on June 29, 2020.
[▾ Hide Changelog](<javascript:hideId('4850627010214526093')>)
3.3.12beta3
This is a bugfix release for 3.3.11.
Bugs Fixed
- Fix a bug in 3.3.12beta2 that caused a gray bar at the top
of the screen when entering full screen.
- Fix a bug where the tab bar would be translucent in dark
mode when any pane is translucent.
- Fix a bug in 3.3.12beta1 where text was
overlapped by the tab bar when there was a
scroll bar.
- Fix a bug where new full screen windows weren't
created properly in macOS 10.15.5.
- Fix the vertical alignment of tmux split panes
when the GPU renderer is enabled.
- Fix lag when activating the app while the GPU
renderer is enabled.
- Fix a bug where plain-text session logs could be
corrupted.
SHA-256 of the zip file is
aec4141e13b58ad8a25bca6bc51cd3aedd747ba56b4497ed3639cc44b29b643f
iTerm2 3.3.12beta2 (OS 10.12+)
This is the recommended beta build for most users. Built on June 23, 2020.
[▾ Hide Changelog](<javascript:hideId('3592318858402129394')>)
3.3.12beta2
This is a bugfix release for 3.3.11.
Bugs Fixed
- Fix a bug in 3.3.12beta1 where text was
overlapped by the tab bar when there was a
scroll bar.
- Fix a bug where new full screen windows weren't
created properly in macOS 10.15.5.
- Fix the vertical alignment of tmux split panes
when the GPU renderer is enabled.
- Fix lag when activating the app while the GPU
renderer is enabled.
- Fix a bug where plain-text session logs could be
corrupted.
SHA-256 of the zip file is
31f7c49062842a629d893872a1cf3855ad49302ef5c50b4fcbe1e912c588035e
iTerm2 3.3.12beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on June 21, 2020.
[▾ Hide Changelog](<javascript:hideId('2411447346946767675')>)
3.3.12beta1
This is a bugfix release for 3.3.11.
Bugs Fixed
- Fix a bug where new full screen windows weren't
created properly in macOS 10.15.5.
- Fix the vertical alignment of tmux split panes
when the GPU renderer is enabled.
- Fix lag when activating the app while the GPU
renderer is enabled.
- Fix a bug where plain-text session logs could be
corrupted.
SHA-256 of the zip file is
16f91c8c5c5d0d11a350e7c8c7b2b46973d30f6a7ca3695b64f2e4df7e6d1c4e
iTerm2 3.3.11beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on May 27, 2020.
[▾ Hide Changelog](<javascript:hideId('7993944873291042824')>)
3.3.11beta1
This is a bugfix release for 3.3.10, which was
short-lived. The release notes for 3.3.10 are
included below.
- Fixes a bug introduced in 3.3.10 where the dock
and menu bar would sometimes remain hidden after
exiting non-native fullscreen.
- Works around a possible macOS bug where Metal
drops frames occasionally.
3.3.10
Security Improvements
- Improves the method for gaining authorization
to run Python scripts launched from outside
iTerm2.
Version 3.3.9 deprecated the older auth
mechanism based on the command line, requiring
the user to consent to every connection. That
was annoying.
There are now two ways to get permission:
1. The UI prompts on every connection.
2. The app requests a cookie using Applescript.
Therefore, Applescript permission is
required. This requires the user to
consent only once per app that originates the
connection.
Note that this does not affect scripts launched
by iTerm2, such as those opened from the Scripts
menu.
For more information, including details on how
to use osascript to get a cookie, please see:
https://iterm2.com/python-api-security-model
New Features:
- Updated shell integration installer UI, now with
internet-free install option.
- Add a setting to Edit Session to prevent
Automatic Profile Switching from changing the
profile.
- Add support for opening files to line number
with IntelliJ.
- Applescript can now launch a Python API script
from an absolute path.
Improvements:
- Add a delay before previewing a color preset to
make it easier to navigate the menu quickly.
- Set SSL_CERT_FILE and SSL_CERT_DIR when running
Python scripts so they can use TLS.
- Change "Broken Pipe" to "Session Ended" and make
it a soothing blue color.
- Network filesystems can not hang the UI any
more. Calls to proc_pidinfo are now made in an
XPC server.
- Default to built-in mouse cursor on Catalina
since it is now visible against a black
background.
- Updated internet access policy for all outgoing
connections.
- Improve appearance of items in the Uploads and
Downloads menus.
- "Flash tab bar in full screen" is now off by
default since it is now a titlebar accessory.
- Add keyboard shortcuts for some announcements.
- The foreground and background color are shown in
the context menu when exactly one cell is
selected.
- Automatically detect when mouse reporting
control sequences are getting printed and offer
to turn it off.
- Automatically detect when paste bracketing
control sequences are getting printed and offer
to turn it off.
- Tab label font size is now customizable in an
advanced setting.
- Improve legibility of highlighted search results
in the profile list in dark mode.
- Restore tmux window locations better when
burying the attaching window.
- Improve UI for selecting a key binding action.
- Close the man page window (opened when tapping
the man page button on the touch bar) when man
quits.
- You can now close the crash reporter with cmd-w.
- Improve the appearance of window borders (when
enabled in Appearance settings) on macOS 10.14+.
- Improve usability of Arrangement prefs. You can
now do multiple selection, rename, and undo.
- Improve legibility of window titles in Minimal
theme with light tab colors.
- Improve legibility of autocomplete popup text.
- Improve the tab color menu item UX.
- Make clearing command history faster.
Bug Fixes:
- Fix a bug where hotkey windows could appear
under the menu bar on secondary display.
- Fix session restoration with custom shells.
- Fix various crashes.
- Fix a bug where a keypress with the option key
in the very first keypress in a session could be
misinterpreted.
- Fix a bug where URLs with ports were sometimes
not recognized.
- Fix a bug where closing a tmux integration
window with many tabs would send garbage to the
command line of the
attaching session.
- Fix Shell>Close Terminal Window in tmux
integration.
- Fix support for ligatures with spaces when the
advanced pref "Prefer speed to accuracy for
characters with
combining marks" is off.
- Fix bugs with it2git
- Fix bugs in tmux dashboard for session names
containing nonbreaking spaces.
- Fix bug where you couldn't map a keystroke to
increase height.
- Fix high CPU utilization in some situations.
- Fix a bug where attaching to tmux could restore
a window to a different position than where it
was before detaching.
- Respect key action of "Ignore" when there is no
terminal window.
- Prevent annoying system log messages from
IIONumber.
- Fix a bug where applescript launched from
Scripts menu would timeout improperly.
- Fix escaping of single quotes in semantic
history commands.
- Fix a bug where new tabs created in Applescript
weren't always usable right away.
- Disable performance statistics to try to
find cause of memory corruption bug.
- Fix memory leaks.
- Fix a bug where the arrow icon was missing from
tmux tabs.
- Replace calls to calloc() with a safer wrapper
function.
- Fix a bug where the zsh command line could be
pushed into history unnecessarily.
- Fix icon alignment in New Python Script window.
SHA-256 of the zip file is
d0b4af29376417562a106b617802a02834b30254fa3a426b00542376e8b3863a
iTerm2 3.3.10beta4 (OS 10.12+)
This is the recommended beta build for most users. Built on May 1, 2020.
[▾ Hide Changelog](<javascript:hideId('3830378365465846614')>)
3.3.10beta4
This is a release candidate for 3.3.10.
Improvements;
- Add an Applescript call to request a Python API
cookie.
- Make clearing command history faster.
Bug Fixes:
- Fix a bug where the arrow icon was missing from
tmux tabs.
- Replace calls to calloc() with a safer wrapper
function.
- Fix a bug where the zsh command line could be
pushed into history unnecessarily.
- Fix icon alignment in New Python Script window.
SHA-256 of the zip file is
22741afb604a20b7f15c80b6317092d1555272ebeaf0643b562bb39b649ab67f
iTerm2 3.3.10beta3 (OS 10.12+)
This is the recommended beta build for most users. Built on March 30, 2020.
[▾ Hide Changelog](<javascript:hideId('7501311810403536369')>)
3.3.10beta3
Improvements;
- Set an ITERM2_COOKIE environment variable that
enables Python API scripts launched from an
iTerm2 session not to need a permission prompt.
- Improve legibility of window titles in Minimal
theme with light tab colors.
- Improve legibility of autocomplete popup text.
- Improve the tab color menu item UX.
- Fix various crashes.
- Fix memory leaks.
Bug Fixes:
- Fix zoom follows cursor accessibility mode
support.
- Fix a bug where saved arrangement previews with
multiple monitors didn't show previews for
secondary monitors.
- Fix a deadlock when running AutoLaunch.scpt that
creates windows, tabs, or split panes.
- Fix a bug where the tab bar's appearance is
wrong after changing the number of tabs in the
Regular theme.
- Fix a bug where the advanced setting "Disable
remapping modifiers for system shortcuts" didn't
always work.
- Fix tab color support in minimal mode without a
tabbar.
- Fix a bug where tmux integration would
disconnect if a new session ends immediately
after starting.
- Improve wording of inline image permission
prompt.
- Fix lots of bugs in internet-free shell
integration installer.
- Fix a bug where the "configure status bar"
button could be enabled when the status bar is
disabled.
- Fix a bug where a tmux integration command would
get sent to the shell when the last session in
it ends.
- Handle incorrect setting of custom Application
Support symlink name (in advanced prefs) better.
SHA-256 of the zip file is
7587f540d1164345c24a34f1aa565ab23ff73d23f721ad6d5adfe0406f8f9848
iTerm2 3.3.10beta2 (OS 10.12+)
This is the recommended beta build for most users. Built on March 3, 2020.
[▾ Hide Changelog](<javascript:hideId('2502470394945360672')>)
3.3.10beta2
Improvements;
- Applescript can now launch a script from an
absolute path.
- Add a delay before previewing a color preset to
make it easier to navigate the menu quickly.
- Set SSL_CERT_FILE and SSL_CERT_DIR when running
Python scripts so they can use TLS.
- Change "Broken Pipe" to "Session Ended" and make
it a soothing blue color.
Bug Fixes:
- Fix many crashes.
- Fix high CPU utilization.
- Fix a bug where compact windows had a clear
title bar.
- Fix a bug where attaching to tmux could restore
a window to a different position than where it
was before detaching.
- Respect key action of "Ignore" when there is no
terminal window.
- Prevent annoying system log messages from
IIONumber.
- Fix a bug where applescript launched from
Scripts menu would timeout improperly.
- Fix escaping of single quotes in semantic
history commands.
- Fix drawing of selected tab indicator in Minimal
theme with colored tabs.
- Fix a bug where new tabs created in Applescript
weren't always usable right away.
- Disable performance statistics to try to
find cause of memory corruption bug.
SHA-256 of the zip file is
7ef1e989fae13dfd8e764b8038f38f7106318779b21d499c6223ff23ac94f92b
iTerm2 3.3.10beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on February 16, 2020.
[▾ Hide Changelog](<javascript:hideId('5062132147135777855')>)
3.3.10beta1
Security Improvements
- The security model for the Python API has changed. Any
process attempting to use the API that was not launched by
iTerm2 will require explicit user approval.
The previous technique, which relied on inferring the job
name from its command line, could be subverted.
Consequently, the UI for authorizing particular scripts
has been removed.
For more information, please see
https://iterm2.com/python-api-security-model
New Features:
- Updated shell integration installer UI, now with
internet-free install option.
- Add a setting to Edit Session to prevent Automatic Profile
Switching from affecting that setting.
- Add support for opening files to line number with
IntelliJ.
Improvements:
- Network filesystems can not hang the UI any more. Calls to
proc_pidinfo are now made in an XPC server.
- Default to built-in mouse cursor on Catalina since it is
now visible against a black background.
- Updated internet access policy for all outgoing
connections.
- Improve appearance of items in the Uploads and Downloads
menus.
- "Flash tab bar in full screen" is now off by default since
it is now a titlebar accessory.
- Add keyboard shortcuts for some announcements.
- The foreground and background color are shown in the
context menu when exactly one cell is selected.
- Automatically detect when mouse reporting control
sequences are getting printed and offer to turn it off.
- Automatically detect when paste bracketing control
sequences are getting printed and offer to turn it off.
- Tab label font size is now customizable in an advanced
setting.
- Improve legibility of highlighted search results in the
profile list in dark mode.
- Restore tmux window locations better when burying the
attaching window.
- Improve UI for selecting a key binding action.
- Close the man page window (opened when tapping the man
page button on the touch bar) when man quits.
- You can now close the crash reporter with cmd-w.
- Improve the appearance of window borders (when enabled in
Appearance settings) on macOS 10.14+.
- Improve usability of Arrangement prefs. You can now do
multiple selection, rename, and undo.
Bug fixes:
- Fix a bug where hotkey windows could appear under the menu
bar on secondary display.
- Fix session restoration with custom shells.
- Fix various crashes.
- Fix a bug where a keypress with the option key in the very
first keypress in a session could be misinterpreted.
- Fix a bug where URLs with ports were sometimes not
recognized.
- Fix a bug where closing a tmux integration window with
many tabs would send garbage to the command line of the
attaching session.
- Fix Shell>Close Terminal Window in tmux integration.
- Fix support for ligatures with spaces when the advanced
pref "Prefer speed to accuracy for characters with
combining marks" is off.
- Fix bugs with it2git
- Fix bugs in tmux dashboard for session names containing
nonbreaking spaces.
- Fix bug where you couldn't map a keystroke to increase
height.
SHA-256 of the zip file is
94bdd8c177b604234df127ecc3af41b7f77c8b09953fa2b623a169eff5c85d6f
iTerm2 3.3.9beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on February 8, 2020.
[▾ Hide Changelog](<javascript:hideId('4317950667177314834')>)
3.3.9beta1
Bug Fixes
- Fix crash when restoring window arrangement.
- Fix crash when a download finishes.
- Fix crash when a downloaded file has disappeared.
- Fix crash after closing a window that completely obscures
another window and the GPU renderer is enabled.
- Fix crash when there is no default fixed-pitch font.
- Fix crash when removing invalid automatic profile
switching rule.
- Fix crash when a bonjour host appears/disappears and the
default profile has a hotkey and you're switched to a
different user account than the one iTerm2 is in.
- Enable same-origin policy for webkit popovers.
- Fix a crash when a shortcut is configured to invoke a menu
item that has a submenu.
- Fix a crash when a tab icon is 0x0 pixels.
- Fix a crash when there's a process ID cycle.
- Fix a bug where shortcuts are shown in tabs when
navigation by modifiers+number is disabled.
- Fix various other crashes.
SHA-256 of the zip file is
0f29e912ef047600a73603cf0d84a602d6e17b87a82f0e24137df3c9350c2392
iTerm2 3.3.8beta5 (OS 10.12+)
This is the recommended beta build for most users. Built on January 20, 2020.
[▾ Hide Changelog](<javascript:hideId('1443475035824231579')>)
3.3.8beta5
Improvements
- Add advanced pref to force anti-aliasing on Retina
displays.
- Improve legibility of highlighted profile search results
in dark mode.
- Use hardened runtime for helper apps.
- Update to Sparkle 1.22.0.
Bug Fixes
- Fix voice dictation support.
- Fix vertical alignment of images in git status bar
components on 10.15 vs previous beta.
- Fix a bug where you couldn't log in plaintext after
logging raw data.
- Fix a bug where background image changes weren't always
reflected immediately.
- Fix a bug introduced in beta 4 where scroll wheel events
could be delivered to the wrong pane.
- Fix a bug where the tab bar was not visible in native full
screen, introduced in a previous beta.
- Fix session restoration for profiles with custom shells.
- Fix crashes.
- Prevent accent menu from appearing when holding down a
key, introduced in previous beta.
SHA-256 of the zip file is
d0d989f496fd08bcff5ca30f63f5e017425335200828a28aa76b8e572a54e065
iTerm2 3.3.8beta4 (OS 10.12+)
This is the recommended beta build for most users. Built on January 2, 2020.
[▾ Hide Changelog](<javascript:hideId('8560323169284664468')>)
3.3.8beta4
New Features
- Add "Send Selection" to context menu.
- Add an advanced preference to draw solid
underlines.
- Add "Ignore" as a new pointer action.
- Add a new advanced preference to disable copying
background colors when copying the selection
with styles.
Improvements
- Remove various unneeded entitlements for
stronger security.
- Update touch bar immediately when custom touch
bar items are modified.
- Improve UX when you try to attach twice to the
same tmux integration session.
- Offer to force detach when tmux becomes
unresponsive.
- Behave better when dragging past the 223rd row
or column in xterm mouse reporting mode.
- User defined variables in tmux integration
sessions are now saved in the tmux server.
- Improved error reporting for dynamic profiles.
- Improve URL detection in the presence of leading
hyphens.
- Abort a long paste when you press control-C or
esc.
- Remove option to enable tab icons on macOS
10.12, where they don't work properly.
- Small visual improvements to new-output and
dead-session indicators in tabs.
Bug Fixes
- Fix various bugs related to drag gestures and
three-finger taps.
- When printing in black and white, images now
appear correctly.
- Fix a bug where keys bound to "Select Menu
Action" got their action performed twice.
- Fix bug where the dock gets hidden on the wrong
window with a fullscreen hotkey window.
- Fix upside-down tab icons on 10.15.
- Fix smart selection as pointer action for force
click.
SHA-256 of the zip file is
cb080ea91af7a38c0ebd2b3866c827cac40b9a491523715ddcad52eabb388f47
iTerm2 3.3.8beta3 (OS 10.12+)
This is the recommended beta build for most users. Built on December 16, 2019.
[▾ Hide Changelog](<javascript:hideId('4792345900582941255')>)
iTerm2 version 3.3.8beta3
Bug Fixes
- The last beta broke selection. Fixed. Oops.
- Respect momentum scrolling for mouse reporting.
- Fix a bug where the mouse cursor was huge in
screen sharing.
3.3.8beta2 was a very short-lived release. Its
notes follow:
New Features
- You can now create session logs in plain text.
- A new built-in color preset has been added.
Improvements
- Set quarantine flag on downloaded files.
- Rewrite firmlink paths from shell integration to
their shorter version.
- Add an advanced pref to revert Consolas
rendering to its pre-3.3.8beta1 algorithm.
- Combine the Log>Start and Log>Stop menu items.
- Color presets are now previewed on highlight.
- .its files (signed script archives) now sign the
entire file rather than only the payload. Legacy
files can still be imported for now.
- Require user permission for some control
sequences:
- StealFocus control sequence
- DECRQCRA
- ReportVariable
- File download
- Disable quicklook for URLs that are not http or
https.
- When viewing a list of menu items (such as when
adding a key binding) the items in the profiles
menu now indicate if they create a new tab or
window.
- Navigating between marks and annotations by
keyboard has been changed. The previous
shortcut, cmd-shift-up/down now navigates only
marks. Cmd-shift-opt-up/down now navigates
annotations.
- When three-finger drag is configured to make a
selection that is now reported as a mouse drag.
Bug Fixes
- Reset the find bar's progress memter when it
loses keyboard focus.
- Fix various bugs with three-finger drag to
select.
- Don't hang when importing an .its file with a
self-signed cert.
- Fix bug where git status bar component would
unnecessarily truncate its contents.
- Fix a bug where tmux integration windows'
positions would sometimes shift down upon
attaching.
- Fix a crash when entering or exiting full screne
mode.
- Fix a bunch of bugs around restoring selection
and annotations.
- Fix a crash when undoing adding a trigger.
- Directories with non-initial tildes in their
names now work properly with the git status bar
component.
- Fix a bug where color wells were oval-shaped in
Catalina. This was Apple's fault.
Things Made Worse
- Remove CPU profiling from menu bar. It never
worked very well.
SHA-256 of the zip file is
83dcc4f469a47e893de15c13cba4c734c374c6e3986502daeedd848fe02662de
iTerm2 3.3.8beta2 (OS 10.12+)
This is the recommended beta build for most users. Built on December 15, 2019.
[▾ Hide Changelog](<javascript:hideId('3650615968033714090')>)
iTerm2 version 3.3.8beta2
New Features
- You can now create session logs in plain text.
- A new built-in color preset has been added.
Improvements
- Set quarantine flag on downloaded files.
- Rewrite firmlink paths from shell integration to
their shorter version.
- Add an advanced pref to revert Consolas
rendering to its pre-3.3.8beta1 algorithm.
- Combine the Log>Start and Log>Stop menu items.
- Color presets are now previewed on highlight.
- .its files (signed script archives) now sign the
entire file rather than only the payload. Legacy
files can still be imported for now.
- Require user permission for some control
sequences:
- StealFocus control sequence
- DECRQCRA
- ReportVariable
- File download
- Disable quicklook for URLs that are not http or
https.
- When viewing a list of menu items (such as when
adding a key binding) the items in the profiles
menu now indicate if they create a new tab or
window.
- Navigating between marks and annotations by
keyboard has been changed. The previous
shortcut, cmd-shift-up/down now navigates only
marks. Cmd-shift-opt-up/down now navigates
annotations.
- When three-finger drag is configured to make a
selection that is now reported as a mouse drag.
Bug Fixes
- Reset the find bar's progress memter when it
loses keyboard focus.
- Fix various bugs with three-finger drag to
select.
- Don't hang when importing an .its file with a
self-signed cert.
- Fix bug where git status bar component would
unnecessarily truncate its contents.
- Fix a bug where tmux integration windows'
positions would sometimes shift down upon
attaching.
- Fix a crash when entering or exiting full screne
mode.
- Fix a bunch of bugs around restoring selection
and annotations.
- Fix a crash when undoing adding a trigger.
- Directories with non-initial tildes in their
names now work properly with the git status bar
component.
- Fix a bug where color wells were oval-shaped in
Catalina. This was Apple's fault.
Things Made Worse
- Remove CPU profiling from menu bar. It never
worked very well.
SHA-256 of the zip file is
9b07fad5549de04b88599d88c4435decb17a41ebf863195f88d0d950405e0a60
iTerm2 3.3.8beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on November 25, 2019.
[▾ Hide Changelog](<javascript:hideId('6321826362151747847')>)
iTerm2 version 3.3.8beta1
New Features
- New status bar component that shows a menu of
Actions.
- If you don't want to use the default shell and
use a custom command to launch your shell,
there's a new option called "custom shell" that
will launch it as a proper login shell.
- Copy mode now supports W and B to move forward
or backward the way vim does with W and B.
Improvements
- The Actions tool now allows multiple selection
and reordering.
- Actions defined in the Actions tool now show up
in Open Quickly.
- Speed up Open Quickly window animation.
- Shortcuts in Open Quickly no longer require a
space. For example, you can now type /axyz to
restore an arrangement named "xyz".
- Search history is now stored in a separate
preferences database for better privacy.
- Change how font metrics are computed for
Consolas, which only looks good when values are
rounded in a particular way.
- Duplicate Tab now respects the advanced pref
that opens a new tab adjacent to the curren tab.
- If default-terminal is set to something other
than screen then tmux integration won't
translate italic to reverse video.
Bug Fixes
- Remove gray bar that appeared in native full
screen with one tab and no tab bar.
- Fix various full-screen minimal theme artifacts.
- Fix window title alignment bugs in Minimal
theme.
- Fix off-center red/yellow/blue buttons in full
screen Minimal theme.
- Fix various crashes.
- Do not report a two-finger click as a left mouse
button click.
- Fix a bug where font names were sometimes
right-aligned in prefs.
- Fix a bug where the shortcuts to change
window/tab/pane would sometimes not be saved.
- Fix a flash when the GPU renderer is enabled and
a window is transparent.
- Fix a bug where you couldn't drag folders to the
iTerm2 icon when added to the Finder's toolbar.
- Fix a bug where the triggers UI would sometimes
modify the first row when editing another row.
- Don't show the "document edited" dot in the
close button if the session's profile has a
custom command.
- Fix various bugs in libsixel.
- Fix a bug when popping an empty title stack to
restore the session name rather than make it
and empty string.
SHA-256 of the zip file is
cc71fa2e515a74ee8d4b70b9c91ebb6627dcd409f9dded180b20fcdba454fb00
iTerm2 3.3.7beta4 (OS 10.12+)
This is the recommended beta build for most users. Built on November 10, 2019.
[▾ Hide Changelog](<javascript:hideId('1521140460996247101')>)
iTerm2 version 3.3.7beta4
New Features
- Adds a preference to specify whether you want
each tab to control the window title
separately, or if all tabs in a window should
share a single window title. This affects window
title set by control sequences like OSC 2.
Improvements
- Add support for 2-factor codes appended to
password in password manager.
- When the window title is changed by a control
sequence, set the window title to exactly that
string.
- Put a dot in the close button when there is an
active job running.
- You can now drag the window using the New Tab +
button.
- Performance improvements.
Bug Fixes
- Preserve the selected weight when changing
typeface, when possible.
- Respect the desired popover size for custom
status bar components. This fix may cause some
popovers to have different-sized popovers than
expected, and may require updating the script to
correct.
- Fix a bug where Find Next would not navigate to
the very first word in history.
- Fix a runaway CPU issue when initializing GPU
renderer.
- Touch bar in full screen now shows correct tab
titles. Fixes a bug where they would get out of
sync with reality.
- Fixes a bug where adding a new password in the
password manager could hang.
- Fixes a bug introduced in the previous beta
where minimal-theme title bars were the wrong
color and window borders sometimes didn't appear.
Scripting
- Add Session.async_get_contents to docs.
- Add Profile.async_get_default and
PartialProfile.async_get_default.
SHA-256 of the zip file is
7237a5456b4e5a3a181d8dadbd73764eb73c92db64757c14b1b2b4dc3528c951
iTerm2 3.3.7beta3 (OS 10.12+)
This is the recommended beta build for most users. Built on November 3, 2019.
[▾ Hide Changelog](<javascript:hideId('686000470957234642')>)
iTerm2 version 3.3.7beta3
Improvements
- The toolbelt now uses a dark background in the
Minimal theme when the terminal window's
background is dark.
- Add Unicode 12 width tables for emoji.
- Password manager now has a column for user
names.
- Add advanced pref to enable italic in tmux
integration. It uses the "screen" terminal where
the control sequence normally used for italics
instead does reverse video.
- Add "Edit Account Name" and "Edit User Name" to
password manager context menu.
- Various performance improvements.
- Variable-size tmux windows are now pretty
usable. Try turning on Prefs>Advanced>Allow
variable window sizes in tmux integration.
Bug Fixes
- Fix manpage viewer in touch bar.
- If you use the CurrentDir control sequence
without the rest of shell integration, it will
now work reliably.
- Fix escaping of smart selection "run command in
window" commands.
- Fix some integer overflow bugs.
- In secure copy, keyboard-interactive and private
key passpharse input deadlocked. Fix it.
Scripting
- Python 3.8.0 is now available. It requires
3.3.7beta3 or later, so keep that in mind when
distributing scripts.
- Add support for delta updates of the Python
runtime.
SHA-256 of the zip file is
79e6b712b9ea513121fd3b749e40a4c77b92463dd16b6caa00ca3c91abd857e7
iTerm2 3.3.7beta2 (OS 10.12+)
This is the recommended beta build for most users. Built on October 22, 2019.
[▾ Hide Changelog](<javascript:hideId('7756961397691420927')>)
iTerm2 version 3.3.7beta2
Improvements
- Remember whether "tags" view of profile list is
expanded in toolbelt.
- Move selection-related settings into General >
Selection.
- Add advanced pref to disable tabbar tooltips.
- Separate 'use custom bold color' from 'brighten
bold colors', which previously were confusingly
grouped into a single setting.
- Set pixel size in TTY.
- Don't show a warning when modifying a session's
copy of its profile, when that profile is backed
by a dynamic profile.
- When prefs from a remote location fail to load
offer to reveal the responsible preference.
Bug Fixes
- Fix drawing of "tags" view of profile list.
- When selecting a tag from the "tags" view, use
the tag: operator to restrict the search term to
tags.
- Fix bug where users with spaces in their names
couldn't log in.
- Fix a bug where windows with a left-side tab bar
had the wrong number of columns when first
created.
- Fix a bug where activating a session via API in
an inactive tab would activate the wrong session
in that tab.
- Fix a bug where setting the icon title when
showing Profile + Session name caused the
profile name to go away.
- Fix padding of "broken pipe" message.
- Disable quicklook if it's disabled systemwide.
- Fix bugs in updating session list in tmux
dashboard.
- Fix a bug where window buttons were hidden when
entering native full screen.
- Disable selection scroll if it begins in the
mutable area while reporting mouse clicks.
- Fix a bug where option-clicking the zoom button
after exiting full screen doesn't zoom.
- Fix a bug where selection by dragging three
fingers selects too much text.
- Fix imgcat in Catalina.
- Fix dragging folders to iTerm2 icon.
- Remove a brittle performance hack for scroll
views that may have been causing crashes.
- Fix a bug when changing tabs while selecting
text causing future selections to be wrong.
- Fix a few crashes.
SHA-256 of the zip file is
b8dd0c8ebdecfed7ca66cf09cb1764ff19696319b10e5489377f93cfe7e9e7e8
iTerm2 3.3.7beta1 (OS 10.12+)
This build contains an important security fix and all beta users should install it. Built on October 9, 2019.
[▾ Hide Changelog](<javascript:hideId('1753435193910526240')>)
iTerm2 version 3.3.7beta1
This build fixes a serious security issue. All
users should upgrade.
The Mozilla Foundation has generously sponsored a
security audit of the iTerm2 source code. As part
of this audit, a problem was discovered which
could cause iTerm2 to issue commands in response
to receiving certain input. This is a serious
security issue because in some circumstances it
could allow an attacker to execute commands on
your machine when you view a file or otherwise
receive input they have crafted in iTerm2.
For more information, please visit the
iterm2-discuss group.
https://groups.google.com/forum/#!forum/iterm2-discuss
Improvements
- Visual improvements to minimal and compact
themes' titlebar.
- Make overlay scrollbars dark in dark theme with
light terminal background so they're more
visible.
- Various UI improvements to the Composer status
bar component.
Bug Fixes
- Fix a bug where you couldn't import an .its file
requiring the latest runtime version.
- Fix a bug where exporting an autolaunch script
wouldn't work if there was a symlink in the
path.
- Fix the frame of the hotkey window when there's
another terminal window in lion fullscreen on a
different desktop.
- Fix a bug where three-finger drag was broken.
- Prevent very wide/tall images from disappearing.
- Make the color picker remember hue and
saturation when the color passes through pure
black or white.
- Don't get confused about the working directory
when only a subset of the shell integration
control sequences are used.
- Fix a bug where changing the badge and the title
in quick succession would only affect the badge.
- Ensure all file descriptors are closed when
launching a coprocess (before only 0-255 were
closed).
- Fixes a crash-on-launch problem for some users
in corporate environments.
Scripting
- Add Session.async_get_contents
SHA-256 of the zip file is
495f5643d5d6eb80a8eb2b96a57a37283a04ce68d9e770e025c2b8fb811abe5e
iTerm2 3.3.5beta3 (OS 10.12+)
This is the recommended beta build for most users. Built on September 29, 2019.
[▾ Hide Changelog](<javascript:hideId('3756954851544446060')>)
iTerm2 version 3.3.5beta3
New Features
- New advanced pref to disable bottom line of
tabbar for low-budget Minimal theme on 10.12 and
10.13.
- New advanced pref to tweak the initial alpha
value of flashing indicators, like the bell.
- New advanced pref to escape with quotes instead
of backslashes for xonsh users.
- Add two new Applescript commands:
1. invoke API function "f()"
2. lauch API script with name "scriptname"
This gives you a bridge to the modern world.
- New window style "Maximized" that is an
always-maximized window.
Improvements
- Improve reliability of semantic history in
interactive apps.
- Improve performance of splitting panes with
Python API.
- Improve git state status bar component's ability
to detect Xcode license-related issues that
prevent it from using git.
- Replace "copy profile as JSON" with
functionality that saves it to a file.
- Visual improvements to Prefs.
- Require user confirmation of downloads over 1
gb.
- Various security improvements to the Python API:
- Make it harder for a web browser to connect by
requiring a special HTTP header.
- Detect when two processes hold the file
descriptor to the websocket and deny the
connection.
Bug Fixes
- Fix a bug where you couldn't always write to a
session after creating it in applescript.
- Fix a bug where secure copy drop targets were
not visible when using the GPU renderer.
- Suport system preference for three-finger tap
Quicklook.
- Fix incorrect tip of the day about compact
window style, which was replaced by the compact
theme.
- Fix rounding error in color picker.
- Fix various memory errors.
- Fix a bug where blinking text didn't redraw
correctly when scrolled up with legacy renderer.
SHA-256 of the zip file is
4e0b6db7d5581307acb43dca3ce86be45e3515c8b340ca72a8f60e46af3376d4
iTerm2 3.3.5beta2 (OS 10.12+)
This is the recommended beta build for most users. Built on September 22, 2019.
[▾ Hide Changelog](<javascript:hideId('6246843353820451011')>)
iTerm2 version 3.3.5beta2
This build uses the "hardened runtime", which makes the app
more secure. Hopefully, that doesn't break anything, but if
it does please file an issue at https://iterm2.com/bugs.
This build is also notarized so it will run on Catalina.
New Features
- You can now import and export key bindings from the
Presets... menu under the list of key bindings.
- Add an advanced pref to allow paste history to work while
secure keyboard entry is on.
Improvements
- Double-clicking on a profile in the panel shown when you
do Shell > Split Horizontally/Vertically... will now split
with that profile.
- Paste history, command history, and captured output
toolbelt tools now use a fixed-pitch font.
- Show a warning in Paste History UIs that it is disabled
when secure keyboard entry is on.
- Don't redraw the whole window every time the mouse moves.
- Update window and tab titles immediately after getting an
OSC 0, 1, or 2 control sequence.
- Reduce CPU usage for miniaturized windows.
- Add "Stop Coprocess" to context menu.
Bug fixes
- Fix layout bug when resizing triggers window.
- Don't treat force touch as quicklook if disabled in system
prefs.
- Fix a bug in rendering inline images that are a fixed
number of cells tall.
- Fix the "broken pipe" divider, which rendered incorrectly.
- If you click on a selection, wait until mouse-up to remove
it so it can be dragged.
- Fix a bug where the window buttons and window shortcut
titlebar accessory remained visible after exiting native
full screen.
- Fix a bug when performing two consecutive searches for
URLs where the second search had no effect.
- Make text field first responder when opening "send command
to tmux" window.
Scripting
- New APIs for coprocesses.
- [Scripting] Adds a 'title' variable to the tab scope that
has the tab's actual title.
SHA-256 of the zip file is
65d109685f4c2b74099ce9f893241db85555d31de18a4da366c6b52d13ef8c5f
iTerm2 3.3.5beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on September 15, 2019.
[▾ Hide Changelog](<javascript:hideId('3575360957862414182')>)
iTerm2 version 3.3.5beta1
Improvements
- Clear the selection when the scroll wheel sends
an arrow key.
- Improve performance of creating sessions with
the Python API.
- Update the "xterm" keyboard presets to include
control+function keys.
- tmux integration will now enable the "Session
Name" title component by default when using the
"tmux" profile.
Bug fixes
- Don't open files as URLs when you cmd-click a
file in a network mount.
- Fix a bug where git commands invoked by clicking
the git status bar component wouldn't work if
there was a space in the path to iTerm2.
- Hide a gray line under the title bar that
occasionally appears in native full screen
windows with the minimal theme.
- Show the tab color in per-pane title bars.
- Fix a bug where the window shadow would
disappear after exiting native full screen.
- Sometimes, "show next/previous tab" would appear
as a grayed out menu item under Window. macOS
kindly adds this at random for no discernable
reason. It is no longer grayed out.
- The selection is now cleared on mouse-down.
- The local copy of the profile is no longer
modified when the cursor shape is changed by a
control sequence. This fixes a bug where
splitting a window where the cursor shape had
been changed caused the new session to have that
cursor shape.
- Fix a race condition that caused the initial
directory to sometimes be wrong when creating a
bunch of new sessions quickly.
SHA-256 of the zip file is
8ed4effefa2e0d60a1b0abe8f122893ec6be5784c774031c0f2fc4e7e179a4be
iTerm2 3.3.4beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on September 8, 2019.
[▾ Hide Changelog](<javascript:hideId('8425236546314504299')>)
iTerm2 version 3.3.4beta1
New Features
- There's a new pref for whether you want to
be asked to confirm quitting the app when there
are no windows.
Improvements
- Infer current job name (for status bar, title
bar, etc.) when using tmux integration locally.
- Append to automatic log output files by default,
instead of replacing them.
- Search history is no longer opened by default
when you type in a Find field. Press the down
arrow to see your recent searches.
- Control sequences that set the window or icon
title now cause that title to become visible.
- Preserve the exact dimensions of sixel images
when possible.
- Translate italc to reverse video in tmux
integration.
- The git status bar component now truncates long
branch names instead of disappearing because
it's too big to fit.
- Python API scripts are now run through the
user's shell so they'll have the right PATH,
in case they want to spawn subprocesses.
- Use dark appearance for scrollbars in minimal
theme when the terminal background color is
dark.
- When you create a tab with the Python API,
iTerm2 will no longer get activated
automatically.
- Add "disable status bar" to the status bar
context menu.
Bug fixes
- Fix a 16-year-old bug: if you make a selection,
switch apps, copy to the pasteboard, and then
click in the terminal window the selected text
in the terminal window got copied to the
pasteboard causing you to lose what had been
copied from the other app.
- Fix many crashes.
- Fix a bug where two custom status bar components
or title providers could not run concurrently if
their callbacks had the same signature.
- Fix a regression where control-| stopped sending
control-backslash on Japenese keyboards.
- Fix flickering job name when using tmux
integration locally.
- Show a context menu when right clicking on the
titlebar in minimal or compact mode when there
is no tab bar.
- Fix colors of graph-based status bar components
in dark mode.
- Fix a crash when a shell integration-reported
hostname has a leading dot or two consecutive
dots in its name.
- Use the right color for the window shortcut
number in minimal theme when the first tab is
colored.
- Fix various rendering bugs with inline images in
both the GPU and legacy renderers.
- Fix a bug where popping an icon or window title
from the stack didn't always work.
- Fix a bug that caused hotkey windows to
immediately hide after showing when two of them
had the same shortcut.
- Fix GPU rendering of ASCII text when the font
includes glyphs that spill outside their bounds
to the left, like AnonymousPro.
- When stealing key focus is enabled, make the
session that's receiving stolen keys first
responder.
- Fix a bug where the cursor was advanced one
position more than it should have been after
showing an image.
- Fix a bug where resizing panes by the Window >
Resize Split Pane menu items would not always
work if the panes had different fonts.
- Don't expose the existence of the placeholder
status bar component (used in empty status bars)
in the context menu.
SHA-256 of the zip file is
5f2f7103fd821599433a27f0d2fcb5abaab41a3d009a057a63fb6ceaaad89ce4
iTerm2 3.3.3beta2 (OS 10.12+)
This is the recommended beta build for most users. Built on August 25, 2019.
[▾ Hide Changelog](<javascript:hideId('4725849698337290693')>)
iTerm2 version 3.3.3beta2
New Features
- Holding Option while dragging a tab now drags
the window. This makes it easier to move windows
in the Minimal and Compact themes.
Improvements
- The hostname status bar component now has the
ability to abbreviate the local host name to a
configurable string.
- Make up files with it2ul much faster.
- More process -> icon mappings.
- "Split Horizontally/Vertically" in the context
menu reuses the session's profile rather than
always using the default profile.
- The default tabstops are now configurable in
advanced prefs.
- There's a new advanced pref to use black for the
filler color in tmux integration for full screen
windows.
- Increased the timeout for the git status bar
component to four seconds.
- Selection is not cleared on mouse-up any more.
When clicking on an inactive window, the
selection will not be removed.
Bug fixes
- Fix some memory leaks.
- Fix a bug where a window would be covered with
an opaque rectangle after exiting full screen.
- Fix a bug where the flashing full-screen tab bar
would leave behind an opaque rectangle.
- Enforce a minimum left-side tabbar width so
stoplight buttons and window shortcut will fit.
- Fix a bug where selecting case-insensitive regex
in search would incorrectly put a checkmark next
to "erase search history."
- Fix a bug where the working directory wasn't
detected if insecure control sequences were
disabled.
- Fix a bug where a full screen window in tmux
integration with legacy scroll bars enabled
would have an empty margin on the right.
- Fix a crash when showing a hotkey from a full
screen window.
- Fix various hard-to-reproduce crashes.
- Fix a bug where blinking text might not always
blink.
SHA-256 of the zip file is
aca17c29b3e1d6be83e2492d636f11a8e8563b0094b12ffe24e93aad2cc7b799
iTerm2 3.3.3beta1 (OS 10.12+)
This build fixes a security issue. All beta users should upgrade. Built on August 18, 2019.
[▾ Hide Changelog](<javascript:hideId('7717128170087364172')>)
iTerm2 version 3.3.3beta1
New Features
Improvements
- Tweak insets of stoplight buttons.
- Performance improvement for non-GPU renderer.
- You can now move tmux windows between sessions
in the tmux dashboard by holding Opt while
dragging.
- Change the default title to show the job.
- Replace control characters in titles with
caret+letter instead of ?.
- Make dark high contrast theme more readable for
people with poor eyesight.
- Allow top-of-screen hotkey windows to overlap
the menu bar.
Bug fixes
- Fix crashes.
- Fix a bug where secure keyboard entry is not
enabled immediately after the app launches. It
was enabled the first time iTerm2 was activated
or the menu was opened.
- Fixes crashes.
- Improve escaping of URLs in smart selection
actions.
- Fix escaping of tildes in secure copy paths.
- Fix a bug where "set name" in Applescript didn't
work.
- Fix a bug where double-clicking a window's
shortcut label didn't work to zoom when there
was no tabbar in minimal/compact.
- Flashing tabs in full screen was broken. Fixed.
- Fix an exception in Python when fetching a
profile with a hotkey with control characters.
- Fix a bug where the coordinates in
the AddHiddenAnnotation control sequence were
not respsected.
SHA-256 of the zip file is
95b35d949cfa249f9f09ebe3e36ab125fc4f5e3705711e21e9f8f106488d8b32
iTerm2 3.3.2beta2 (OS 10.12+)
This is the recommended beta build for most users. Built on August 11, 2019.
[▾ Hide Changelog](<javascript:hideId('35700547528165712')>)
iTerm2 version 3.3.2beta2
New Features
- Custom status bar components can now show an
"unread count".
- Custom status bar components can now provide an
icon.
Improvements
- Status bar setup window size increased.
- Help button added to status bar setup window.
- Improve reliability of detecting the current
directory.
- Improve colors of tabs in Dark (High Contrast)
theme.
- Initialize username and hostname variables from
$$USER$$ and $$HOST$$.
- Change color of filler area in tmux integration
to look better with status bars.
- When a window has a single tab and the theme is
minimal and the tabbar is shown treat dragging
the tab as dragging the window.
Bug fixes
- Fix a bug where underlined text has wrong colors
when the GPU renderer was on for 2015+ iMacs.
- Fix a bug where restoring a saved arrangement
with a hotkey window could leave you with a
transparent window.
- Fix a bug where using $$ macros in profile names
didn't always work.
- Fix handling telnet: URLs with ports.
- Fix a bug where underlines on non-ascii text
could have the wrong offset or thickness.
- Fix a bug where a session titlebar's label could
have the wrong background color.
- Respect soft boundaries for determining the
"before" and "after" text reported by semantic
history, since they are respected for finding
file names/URLs.
- Fix a bug where the Composer status bar
component's popover would have white-on-white
text on macOS 10.12 and 10.13.
- Fix a bug where a restored session's cursor
would be on the same line as the the "session
restored" banner.
- Fix a bug where Find stops working after moving
a session into a split pane when there is a
status bar.
- When entering non-native fullscreen, don't
auto-hide the dock if it's not on the same
screen as the window.
- Fix a bug where windows jump to the first screen
when entering or exiting full screen mode and
the theme is Minimal or Compact.
- Fix a bug where a floating hotkey window appears
beneath other apps' fullscreen windows after
toggling full screen.
SHA-256 of the zip file is
fd4754bc7428c7c2efd8dd1ecb34efdf897608254f2a2a1f72ca171f0b74b225
iTerm2 3.3.2beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on August 6, 2019.
[▾ Hide Changelog](<javascript:hideId('5968081657788731151')>)
iTerm2 version 3.3.2beta1
Improvements
- Keep the "current directory" status bar
component up to date in tmux integration.
- Add setting to control whether the native or
tmux status bar is used in tmux integration
mode.
- Adds a "number" variable to the window scope.
- Show the tab title or tmux window name in the
Open Quickly UI when it difers from the session
name.
- Add an advanced pref to tweak the size of the
window dragging area in minimal and compact
windows.
- Don't offer to reset paste bracketing/mouse
mode when the username changes but the hostname
does not.
- Changes to the status bar are now applied
immediately. Cancel undoes them.
Bug fixes
- Fix a bug where automatic log files had the
wrong tab number in the filename.
- Fix a bug where exiting full screen after
changing the theme could leave some junk behind
where the title bar was.
- Python scripts that set a variable without
changing its value will no longer raise an
exception.
- Fix a bug where the window size after exiting
non-native full screen was different than before
entering it.
- Fix a bug where a non-native fullscreen window
didn't go all the way to the top of the screen.
- Update the session "path" variable when the
working directory is updated (when shell
integration is not installed).
- Fix a bug where a window could not be made full
screen twice when native full screen is enabled
and the app is excluded from the dock.
SHA-256 of the zip file is
4b90b5c1a494ab203aa1a22632bb989d66a3c9f9544e50dff2153b8e8b902c93
iTerm2 3.3.1beta1 (OS 10.12+)
This is the recommended beta build for most users. Built on August 4, 2019.
[▾ Hide Changelog](<javascript:hideId('4241977937436782598')>)
iTerm2 version 3.3.1beta1
Improvements
- Change wording of setting to choose beta
channel.
- Show bezels in text fields in advanced prefs.
- Add support for C1 control codes when the
encoding is ASCII or Latin-1.
- Show window size in overlay view when there is
no title bar.
Bug Fixes
- Fix a bug where closing a native fullscreen
window would cause a new window to be created
- Make floating panel hotkey windows overlap the
menu bar.
- Fix a bug where opening the open quickly window
would hide the hotkey window.
- Fix a bug where opening the set tab title panel
in a floating hotkey window when another app is
active causes the window to disappear.
- Make the git status bar component more reliable.
- Fix a crash when changing the theme.
- Don't crash when badge height set to 0.
- Fix a bug where the badge might render at the
wrong size after adjusting its max size in
settings.
SHA-256 of the zip file is
5b0b03de5dc2ef2ce5e35f4e269b625ce72e6be66fb33857b594cb95af483889
iTerm2 3.3.0beta16 (OS 10.12+)
This is the recommended beta build for most users. Built on July 28, 2019.
[▾ Hide Changelog](<javascript:hideId('7930100750511011362')>)
iTerm2 version 3.3.0beta16
This is a release candidate for 3.3.0.
Improvements
- Use Menlo in advanced paste and in the notes
tool.
- Use visual effect views in popup windows
(autocomplete, paste history, etc.)
- Show tmux window title in the window title by
default (and not only in tabs).
- Various visual improvements.
Bug Fixes
- Fix a longstanding bug where the cursor was in
the wrong place after restoring a session.
- Disable rich text in advanced paste.
- Fix a bug where the dock could overlap a hotkey
window.
- Fix a bug where hotkey windows might not appear
when the find bar is open.
- Fix a bug where the window.style variable was
not updated when exiting full screne.
- Ensure the Scripts directory exists before
importing a script.
- Prevent various crashes.
SHA-256 of the zip file is
cb272d1ad078770c1487d73557e8300a243650cf7bae06d1335f9a8b3621fb4e
iTerm2 3.3.0beta15 (OS 10.12+)
This is the recommended beta build for most users. Built on July 21, 2019.
[▾ Hide Changelog](<javascript:hideId('1926334545482115253')>)
iTerm2 version 3.3.0beta15
NOTE: beta 14 had a serious crashing bug and was
very short-lived. If you're on auto-update, you
may have missed it. Its change log is provided
below.
Improvements
- Add a "style" variable to the window scope,
exposing its style (full screen, regular, etc.).
- Visual improvements to advanced prefs.
- Add support for scripts to subscribe to variable
changes in all windows.
Bug Fixes
- Fix a crash when exiting full screen.
- Fix vertical alignment of box-drawing
characters in GPU renderer when vertical spacing
is not set to 100.
- Fix vertical alignment of images in GPU
renderer.
- Fix height of vertical bar cursor in GPU
renderer when vertical spacing is not 100.
iTerm2 version 3.3.0beta14
Improvements
- Allow Highlight triggers with "Instant" enabled
to fire more than once per line.
- Add a profile preference to disable paste
bracketing.
- Keep the git status bar component from using
gobs of CPU and memory when you have an enormous
repo.
- Visual improvements window border.
- Allow hotkey window to overlap the dock.
- When semantic history is configured to run a
command and the command fails, you can now see
the output.
- In tmux integration if a window's title is empty
show the active session's name in the tab.
- Add an option to log Automatic Profile Switching
messages to the scripting console.
Bug Fixes
- The Python API can now split a session that has
terminated.
- Fix various CSI u bugs.
- Fix bugs where the cursor was in the wrong place
after restoring a session.
- Fix a bug where down multiple files by
scp would fail.
- Fix a bug where the hotkey window could overlap
the menu bar.
- Fix crashes.
- Fix a bug where you couldn't add multiple status
bar components in Catalina.
- Fix a bug where the font picker would have too
large a right inset when legacy scrollbars are
in use.
- Fix a bug where the initial working directory
wasn't detected until you pressed a key.
- Fix a bug where the wrong command got added to
command history when you use tab completion in
tcsh.
- Fix a bug when switching from regular to compact
or minimal in a window with at least two tabs
where the titlebar gets stuck on.
Things Made Worse
- The shorcut for "Zoom" (making a window fill the
screen) changed to Cmd-Shift-0. macOS forces it
to take this value on some machines. Better to
be consistent. Sorry for breaking your workflow.
I blame Apple.
SHA-256 of the zip file is
f82b0930afdf3aa18740ea59e899924317f45f1b807d22af3342f4109e8111b8
iTerm2 3.3.0beta14 (OS 10.12+)
This is the recommended beta build for most users. Built on July 20, 2019.
[▾ Hide Changelog](<javascript:hideId('8077463659882781692')>)
iTerm2 version 3.3.0beta13
Improvements
- Allow Highlight triggers with "Instant" enabled
to fire more than once per line.
- Add a profile preference to disable paste
bracketing.
- Keep the git status bar component from using
gobs of CPU and memory when you have an enormous
repo.
- Visual improvements window border.
- Allow hotkey window to overlap the dock.
- When semantic history is configured to run a
command and the command fails, you can now see
the output.
- In tmux integration if a window's title is empty
show the active session's name in the tab.
- Add an option to log Automatic Profile Switching
messages to the scripting console.
Bug Fixes
- The Python API can now split a session that has
terminated.
- Fix various CSI u bugs.
- Fix bugs where the cursor was in the wrong place
after restoring a session.
- Fix a bug where down multiple files by
scp would fail.
- Fix a bug where the hotkey window could overlap
the menu bar.
- Fix crashes.
- Fix a bug where you couldn't add multiple status
bar components in Catalina.
- Fix a bug where the font picker would have too
large a right inset when legacy scrollbars are
in use.
- Fix a bug where the initial working directory
wasn't detected until you pressed a key.
- Fix a bug where the wrong command got added to
command history when you use tab completion in
tcsh.
- Fix a bug when switching from regular to compact
or minimal in a window with at least two tabs
where the titlebar gets stuck on.
Things Made Worse
- The shorcut for "Zoom" (making a window fill the
screen) changed to Cmd-Shift-0. macOS forces it
to take this value on some machines. Better to
be consistent. Sorry for breaking your workflow.
I blame Apple.
SHA-256 of the zip file is
b1e44b01ff1a52d4bf6111554e7d67daa1ce31b5a34f01a376e2cb6aae0758e5
iTerm2 3.3.0beta13 (OS 10.12+)
This is the recommended beta build for most users. Built on June 22, 2019.
[▾ Hide Changelog](<javascript:hideId('8162395483409290615')>)
iTerm2 version 3.3.0beta13
Improvements
- Visual improvements to minimal theme on
non-retina displays.
- Update libssh2 to version 1.9.0.
Bug Fixes
- Fix some crashes.
-------------------------------------------------
Release notes for 3.3.0:
New Features
- A Python scripting API has been added to enable
extensive configuration and customization. See
https://iterm2.com/python-api for details.
- A scriptable status bar has been added with 12
built-in configurable components.
- A new "Minimal" theme has been added to reduce
visual clutter.
- A new window type of "Compact" combines the tab
bar and title bar.
- Session, tab, and window titles have been
revamped to be more flexible and comprehensible.
You can now configure them separately and select
what information is shown per profile. They are
integrated with the new Python scripting API.
- Tabs may now have icons: either an icon
indicating the running app, or a fixed icon per
profile.
- The display of Sixel images is now supported.
- Add menu item to arrange split panes evenly. In
tmux, this uses the tiled layout.
- Greatly improved support for background images:
they may now span split panes and you can adjust
how they are scaled to avoid stretching.
- Add support for reporting keystrokes with CSI u.
- New type of trigger added that turns text into a
hyperlink.
- New type of trigger added that adds annotations
to the matching text.
- You can now export a recording of your screen
from the Instant Replay panel.
- A new toolbelt tool, Actions, provides shortcuts
to frequent actions like sending a snippet of
text.
- You can now search preferences. There's a search
bar in the top right of the window.
- Add a new utility, "it2git", which allows the
git status bar component to show git state on a
remote host. Install the utilities and then view
~/.iterm2/it2git for further instructions.
- Add touch bar mitigations: haptic feedback, key
click, and blink cursor when touching esc.
- Replace the system font picker with an easier to
use custom one.
- Search now remembers your 10 most recent queries
and offers them as suggestions.
- Adds support for crossed-out text (SGR 9)
- Add support for automatically restarting a
session when it ends.
Other Improvements
- Numerous visual improvements.
- Update app icon.
- You can now change the color preset from the
Open Quickly window.
- Added an advanced pref for the height of the
underline cursor.
- The state of various terminal emulation flags is
now exposed in Session > Terminal State.
- Remove the bell icon from tabs more
aggressively.
- Various pages of preferences have been
rearranged to make more sense or be more
visually pleasing.
- A new menu item lets you configure cmd-+ and
cmd-- to adjust the underlying profile rather
than only the current session.
- By default the tab bar now stretches to fill the
available width so it looks more like a native
tab bar. You can change this in Prefs >
Appearance.
- Add a new proprietary control sequence to bounce
the app icon only one time.
- Add support for setting the proxy icon by
control sequence.
- Add support for broadcasting passwords to
multiple sessions from the password manager. Off
by default.
- Update "Terminal.app Compatibility" key mapping
for option left and right arrows.
- Add support for natively drawn Powerline glyphs,
allowing you to use any font and still get the
fancy arrows. They also align properly with
other elements, which the Powerline fonts do not
always do.
- Cmd-clicking on filename[line,column] will now
open the file to the specified line and column.
- Add "use transparency" as a profile setting for
newly created windows.
- Adjust how underlines are drawn to have a more
correct baseline offset.
- Add an advanced pref to swap find next/find
previous behavior (since the default does not
conform to macOS norms)
- Buttons in modal alerts now all have keyboard
shortcuts.
- The default scheme for URLs when you cmd-click
is now https rather than http. You can change it
with an advanced pref.
- Sparkle updates now use EdDSA signatures. DSA
signatures will be gradually phased out.
- Add an advanced preference to show a hint with
split pane direction in menu items.
- Add an option to preserve window size when tab
bar shows or hides
- You can now use the password manager when
entering a password for secure copy.
- Adds support for the DECRQM control sequence.
- Performance improvements for long scrollback
history.
- iTerm reports itself as a VT200 supporting
Sixel in response to DA1.
- Doesn't block the main thread when checking if the
text under the cursor is an existing file.
- Avoid blocking the main thread when creating a
new session.
- Performance improvements for box drawing
characters when not using GPU renderer.
- Performance improvements for opening long lists
of color presets.
- Change natural text editing keyboard preset to
include cmd-left and cmd-right.
- Work around a bug in tmux 2.9 that would crash
the tmux server when changing panes.
- When the current tab is closed select the one to
its right, like standard macOS tabs.
- Work around a macOS quirk where the equals sign
on the numeric keypad is not treated as a
numeric keypad key.
- When tabs are very narrow, prefer to show the
tab label over the new-output/bell icon.
- Add an advanced setting to handle spacing
combining marks properly ("Detect base unicode
characters with lookup table").
- Respect System "Prefs>Dock>Prefer tabs when
opening documents".
- Reduce default fast paste speed.
- Revamp titles in tmux integration mode. Pane
titles and window names are now distinct when
using tmux 2.6 or later. set-titles and
set-titles-string is now respected.
SHA-256 of the zip file is
f195980e4602b6842e3d112de45acfdac51c8230180ee93866ebc4938f69b41f
iTerm2 3.3.0beta12 (OS 10.12+)
This is the recommended beta build for most users. Built on June 16, 2019.
[▾ Hide Changelog](<javascript:hideId('1841386721939606426')>)
iTerm2 version 3.3.0beta12
Improvements
- Revamp titles in tmux integration mode. Pane
titles and window names are now distinct when
using tmux 2.6 or later. set-titles and
set-titles-string is now respected.
- Draw window borders on macOS 10.14 when using
the light theme.
Bug Fixes
- Fix a crash on macOS 10.15 beta
- Don't draw line under tabbar when there is a
transparent title bar.
- Fix a bug where sessions would resize briefly
when the tabbar shows or hides.
- Fix order of parameters for function keys in CSI
u mode.
- Handle report user/hostname trigger correctly
when the username includes and at sign.
-------------------------------------------------
Release notes for 3.3.0:
New Features
- A Python scripting API has been added to enable
extensive configuration and customization. See
https://iterm2.com/python-api for details.
- A scriptable status bar has been added with 12
built-in configurable components.
- A new "Minimal" theme has been added to reduce
visual clutter.
- A new window type of "Compact" combines the tab
bar and title bar.
- Session, tab, and window titles have been
revamped to be more flexible and comprehensible.
You can now configure them separately and select
what information is shown per profile. They are
integrated with the new Python scripting API.
- Tabs may now have icons: either an icon
indicating the running app, or a fixed icon per
profile.
- The display of Sixel images is now supported.
- Add menu item to arrange split panes evenly. In
tmux, this uses the tiled layout.
- Greatly improved support for background images:
they may now span split panes and you can adjust
how they are scaled to avoid stretching.
- Add support for reporting keystrokes with CSI u.
- New type of trigger added that turns text into a
hyperlink.
- New type of trigger added that adds annotations
to the matching text.
- You can now export a recording of your screen
from the Instant Replay panel.
- A new toolbelt tool, Actions, provides shortcuts
to frequent actions like sending a snippet of
text.
- You can now search preferences. There's a search
bar in the top right of the window.
- Add a new utility, "it2git", which allows the
git status bar component to show git state on a
remote host. Install the utilities and then view
~/.iterm2/it2git for further instructions.
- Add touch bar mitigations: haptic feedback, key
click, and blink cursor when touching esc.
- Replace the system font picker with an easier to
use custom one.
- Search now remembers your 10 most recent queries
and offers them as suggestions.
- Adds support for crossed-out text (SGR 9)
- Add support for automatically restarting a
session when it ends.
Other Improvements
- Numerous visual improvements.
- Update app icon.
- You can now change the color preset from the
Open Quickly window.
- Added an advanced pref for the height of the
underline cursor.
- The state of various terminal emulation flags is
now exposed in Session > Terminal State.
- Remove the bell icon from tabs more
aggressively.
- Various pages of preferences have been
rearranged to make more sense or be more
visually pleasing.
- A new menu item lets you configure cmd-+ and
cmd-- to adjust the underlying profile rather
than only the current session.
- By default the tab bar now stretches to fill the
available width so it looks more like a native
tab bar. You can change this in Prefs >
Appearance.
- Add a new proprietary control sequence to bounce
the app icon only one time.
- Add support for setting the proxy icon by
control sequence.
- Add support for broadcasting passwords to
multiple sessions from the password manager. Off
by default.
- Update "Terminal.app Compatibility" key mapping
for option left and right arrows.
- Add support for natively drawn Powerline glyphs,
allowing you to use any font and still get the
fancy arrows. They also align properly with
other elements, which the Powerline fonts do not
always do.
- Cmd-clicking on filename[line,column] will now
open the file to the specified line and column.
- Add "use transparency" as a profile setting for
newly created windows.
- Adjust how underlines are drawn to have a more
correct baseline offset.
- Add an advanced pref to swap find next/find
previous behavior (since the default does not
conform to macOS norms)
- Buttons in modal alerts now all have keyboard
shortcuts.
- The default scheme for URLs when you cmd-click
is now https rather than http. You can change it
with an advanced pref.
- Sparkle updates now use EdDSA signatures. DSA
signatures will be gradually phased out.
- Add an advanced preference to show a hint with
split pane direction in menu items.
- Add an option to preserve window size when tab
bar shows or hides
- You can now use the password manager when
entering a password for secure copy.
- Adds support for the DECRQM control sequence.
- Performance improvements for long scrollback
history.
- iTerm reports itself as a VT200 supporting
Sixel in response to DA1.
- Doesn't block the main thread when checking if the
text under the cursor is an existing file.
- Avoid blocking the main thread when creating a
new session.
- Performance improvements for box drawing
characters when not using GPU renderer.
- Performance improvements for opening long lists
of color presets.
- Change natural text editing keyboard preset to
include cmd-left and cmd-right.
- Work around a bug in tmux 2.9 that would crash
the tmux server when changing panes.
- When the current tab is closed select the one to
its right, like standard macOS tabs.
- Work around a macOS quirk where the equals sign
on the numeric keypad is not treated as a
numeric keypad key.
- When tabs are very narrow, prefer to show the
tab label over the new-output/bell icon.
- Add an advanced setting to handle spacing
combining marks properly ("Detect base unicode
characters with lookup table").
- Respect System "Prefs>Dock>Prefer tabs when
opening documents".
- Reduce default fast paste speed.
SHA-256 of the zip file is
bf6a5a8df5d6f8492d53eaecfab201b45b659e63b456cbd7694f0b8f85ffd73b
iTerm2 3.3.0beta11 (OS 10.12+)
This is the recommended beta build for most users. Built on June 9, 2019.
[▾ Hide Changelog](<javascript:hideId('2952032781149401655')>)
iTerm2 version 3.3.0beta11
Improvements
- Git status bar component can now indicate the
presence of unstaged adds and deletions.
- Add link to help page describing date format
strings for clock status bar component.
- Disregard system prefs > dock > prefer tabs
setting by default. Adds an advanced pref to
allow it to be used.
Bug Fixes
- Change how events are reported to Python scripts
so that focus changes will be reported after
layout changes so that focus change monitors
will have up-to-date layout info.
- Fix a bug where double-clicking on the tab bar
near the last tab would open the tab name
dialog.
- Ignore the shift key when using a shortcut that
includes the shift key to zoom the window.
Normally the shift key forces zoom vertically
only.
- Fix a bug where pressing a modifier key between
clicks of a double-click caused the selection to
be erased.
-------------------------------------------------
Release notes for 3.3.0:
New Features
- A Python scripting API has been added to enable
extensive configuration and customization. See
https://iterm2.com/python-api for details.
- A scriptable status bar has been added with 12
built-in configurable components.
- A new "Minimal" theme has been added to reduce
visual clutter.
- A new window type of "Compact" combines the tab
bar and title bar.
- Session, tab, and window titles have been
revamped to be more flexible and comprehensible.
You can now configure them separately and select
what information is shown per profile. They are
integrated with the new Python scripting API.
- Tabs may now have icons: either an icon
indicating the running app, or a fixed icon per
profile.
- The display of Sixel images is now supported.
- Add menu item to arrange split panes evenly. In
tmux, this uses the tiled layout.
- Greatly improved support for background images:
they may now span split panes and you can adjust
how they are scaled to avoid stretching.
- Add support for reporting keystrokes with CSI u.
- New type of trigger added that turns text into a
hyperlink.
- New type of trigger added that adds annotations
to the matching text.
- You can now export a recording of your screen
from the Instant Replay panel.
- A new toolbelt tool, Actions, provides shortcuts
to frequent actions like sending a snippet of
text.
- You can now search preferences. There's a search
bar in the top right of the window.
- Add a new utility, "it2git", which allows the
git status bar component to show git state on a
remote host. Install the utilities and then view
~/.iterm2/it2git for further instructions.
- Add touch bar mitigations: haptic feedback, key
click, and blink cursor when touching esc.
- Replace the system font picker with an easier to
use custom one.
- Search now remembers your 10 most recent queries
and offers them as suggestions.
- Adds support for crossed-out text (SGR 9)
- Add support for automatically restarting a
session when it ends.
Other Improvements
- Numerous visual improvements.
- Update app icon.
- You can now change the color preset from the
Open Quickly window.
- Added an advanced pref for the height of the
underline cursor.
- The state of various terminal emulation flags is
now exposed in Session > Terminal State.
- Remove the bell icon from tabs more
aggressively.
- Various pages of preferences have been
rearranged to make more sense or be more
visually pleasing.
- A new menu item lets you configure cmd-+ and
cmd-- to adjust the underlying profile rather
than only the current session.
- By default the tab bar now stretches to fill the
available width so it looks more like a native
tab bar. You can change this in Prefs >
Appearance.
- Add a new proprietary control sequence to bounce
the app icon only one time.
-