200 KiB
200 KiB
Changelog
All notable changes to cmux are documented here.
[0.64.22] - 2026-08-03
Fixed
- Fix a crash seconds after launch on Intel Macs; cmux is now the only process-wide crash handler, and embedded GhosttyKit no longer links Ghostty's native Sentry initializer (#9436)
- Fix
cmux ssh <host>failing immediately with a shell syntax error from the generated startup script (#9425) -- thanks @KousukeUchiyama for the report! - Clear Dock notifications when you focus the pane that raised them (#9418)
- Keep a restored Claude agent on its own account instead of falling back to the ambient one (#9419) -- thanks @seanyoungberg for the report!
- Stop bash shell integration printing
cannot overwrite existing fileon every prompt underset -o noclobber(#9420) -- thanks @8bit-void for the report! - Fail closed when
closeorrespawn-paneis given an explicit--surfacethat no longer exists, instead of acting on a different live surface (#9422) -- thanks @PhilipPinckaers for the report!
Thanks to 5 contributors!
[0.64.21] - 2026-08-02
Added
- Native iPhone and iPad Simulator panes, with their own commands and automation (#7857)
- First-class Mosh transport for remote workspaces (#8442)
- Workspace-wide terminal font zoom on Cmd+Ctrl+= / Cmd+Ctrl+- / Cmd+Ctrl+0 (#8791), and per-tab zoom now persists across restarts (#8543)
- Cmd+Shift+T reopens the last closed item (#9132)
- Cmd+[ and Cmd+] traverse global workspace focus history, and pane cycling becomes rebindable (#9329) -- thanks @azooz2003-bit! -- alongside a workspace-only focus history setting (#8654)
- Move active surfaces between panes with automatic directional splits (#8764);
goto_split:previousandgoto_split:nextcycle through every pane with wrapping (#2639) -- thanks @mykmelez! - Dock panes persist across session restore (#8690), with full Dock surface runtime parity (#8782)
- Reopen closed workspaces with sticky repo identity (#8841)
- Target browser profiles from the CLI (#8874), and Command-clicked HTML files render in browser panes (#9096)
- Sidebar account and mobile pairing controls (#8354); sidebar metadata renders Markdown links (#8663) -- thanks @djova!
- Notification feed read state is a leading swipe with mark-unread (#8868) -- thanks @azooz2003-bit!
- Idle background agents hibernate under critical memory pressure even when routine Agent Hibernation is off (#9090)
cmux restoreruns without a shell (#9265)- iOS (beta): stream Mac browser panes to the phone, interactive and pixel-perfect, with dialogs mirrored (#8298) -- thanks @azooz2003-bit!
- iOS (beta): chronological notification feed (#8210) -- thanks @azooz2003-bit!
- iOS (beta): launch agent workspaces straight from the task composer (#7670)
- iOS (beta): Tailscale connection method opt-in with QR-authorized pairing (#9247) -- thanks @azooz2003-bit!
- iOS (beta): haptic feedback setting (#8797), Open Folders on Tap (#8524), unified animated toasts (#8376), and workspace identity customization (#8636) -- thanks @azooz2003-bit!
Changed
- Workspace initial commands launch through your login shell (#8801) -- thanks @azooz2003-bit! -- and auto-resume uses the normal terminal shell (#8837)
- iOS (beta): the phone-to-Mac transport is rebuilt on one connectivity authority, with authenticated discovery, named disconnect reasons, and relay-credential rollover (#9284, #8840, #8716, #8494) -- thanks @azooz2003-bit!
- iOS (beta): terminal scrolling is local and smooth on screen-anchored render grids (#8860) -- thanks @azooz2003-bit!
- iOS (beta): state sync v2 replaces the invalidate-and-refetch loop with per-record deltas (#8284) -- thanks @azooz2003-bit!
- iOS (beta): onboarding is rebuilt around a live agent handoff (#8418), as a swipeable tour (#9158) with a Game of Life backdrop on every page (#8880) -- thanks @azooz2003-bit!
- iOS (beta): removing a Mac from a phone hides it for that phone only, instead of deleting it everywhere (#8760, #8778) -- thanks @azooz2003-bit!
Fixed
- Fix leaked
openThreadloops burning ~90% of cmux idle CPU (#8851) - Fix workspace-switch renderer freezes (#8793), reclaim hidden Ghostty renderer memory (#8998), and fix the Vault sidebar beachball at large session counts (#8680)
- Fix Vim Mode cursor and selection rendering (#8995)
- Fix TextBox IME composition rendering (#8688)
- Fix zsh prompt wrap spacer lines by letting Ghostty own prompt layout (#8964)
- Fix Settings and main window zombies under AeroSpace (#8513) -- thanks @fml09!
- Fix a Debug-build crash on macOS 26.5 from non-finite sidebar divider coordinates (#9156) -- thanks @oscarbrey!
- Fix Mermaid diagrams double-scaling under viewer zoom (#8914), restore the focused-read indicator after a surface-scoped mark-read (#8927), keep Pi launch arguments when resuming a restored session (#8912), and import appearance at Settings store init instead of live-applying it (#8913) -- thanks @ejc3!
- Notify only after the Pi agent settles (#8574) -- thanks @mrohan-sq!
- Tear down remote daemon PTY sessions once (#8643) -- thanks @ejc3! -- and support
respawn-panein the Go relay tmux compatibility layer (#8660) -- thanks @bencollins2! - Exclude
.attribfrom watched filesystem events (#8659) -- thanks @varomorf! - Preserve surface IDs in workstream events (#8703) -- thanks @revanthreddy-hai!
- Stop the sidebar PR poller from re-downloading every repo's full PR list on each poll (#8521) -- thanks @joshfree!
- Restore Codex (#9370), Kimi Code (#8584), Grok (#9382), and Pi (#9399) sessions across relaunch, and stop duplicate agent resumes (#8619)
- ssh-tmux: fix focus after single-pane promotion (#9020), named-key encoding for the remote
TERM(#9273), and terminal replies leaking into reattached panes (#9272); fix workspace shortcuts from hosted tmux terminals (#8621) - Fix SSH relay deadlock after app restart (#9105), stale SSH workspace connection status (#9085), remote PTY
PATHinherited from cmuxd (#8677), and login-shell resolution before terminal spawn (#8681) - Fix sidebar reopen cutoff render (#8626), row clipping during height-changing reorder (#9189), idle layout livelock (#8532), and status URL clicks (#8528)
- Fix Dock paste routing to the selected terminal (#9112), Dock terminal working-directory inheritance (#8691), and Cmd-click link opening in Dock terminals (#8594)
- Browser: fix navigation for terminal-wrapped URL pastes (#8601), automation recovery after load failures (#8548), partial blank screenshots (#9281), and blurred Google Sheets canvas rendering (#8697)
- Fix inline code escaping in the Markdown viewer (#9274) and composer attachment thumbnail re-rasterization (#8817)
- Fix renderer presentation for background-created surfaces (#8540) and stale semantic prompts duplicating inline TUI frames (#9275)
- Fix workspace group anchor numbering (#9176); closing a group's anchor keeps the group instead of scattering its members to the root (#8925)
- Preserve workspace IDs across session restore (#8695) and restored resume workspace titles (#8687); fit same-display restored windows to visible bounds (#8675)
- Fix a
DispatchWorkItemchain stack overflow (#8615) and subprocess pipe descriptor leaks (#9187) - iOS (beta): preserve terminal input ordering under fast typing (#8682), scroll position across mid-stream verified replays (#9032), and keyboard focus after the photo picker (#9287) -- thanks @azooz2003-bit!
- iOS (beta): fix a startup crash from sentry-init racing environ mutation (#9238) and TestFlight crash paths (#9034)
- iOS (beta): fix workspace-list scroll stutter from live updates (#9139), and make the notification feed scroll fast with thousands of items (#9141) -- thanks @azooz2003-bit!
Thanks to 13 contributors!
- @austinywang
- @azooz2003-bit
- @bencollins2
- @djova
- @ejc3
- @fml09
- @joshfree
- @lawrencecchen
- @mrohan-sq
- @mykmelez
- @oscarbrey
- @revanthreddy-hai
- @varomorf
[0.64.20] - 2026-07-19
Added
- Native AppKit workspace sidebar, now on by default: faster scrolling, precise hover and selection, and full settings fidelity (#8270, #8433, #8366, #8390, #8415, #8432, #8450) -- thanks @azooz2003-bit!
- Browser Design Mode: visually edit pages in the browser pane, annotate elements, and hand the changes to an agent (#8034, #8393)
- Forward mouse input to TUI applications running in the terminal (#7759)
- Surface and workspace reorder shortcuts (#8080)
- Session content width setting, and the previous width ceiling is removed (#8222, #8338)
- Attach images to todos (#8117) -- thanks @azooz2003-bit!
- OpenCode: Fork Conversation from the tab context menu (#8140)
- Resize browser pane viewports (#8072)
- CLI:
cmux sshaccepts an initial remote command (#8439) - Share native SSH connections per host (#8308)
- Notify on fatal Codex turn errors (#8170)
- iOS (beta): files gallery with folders, previews, and a streaming viewer (#8287) -- thanks @azooz2003-bit!
Changed
- Update pill installs are causal and fail visibly instead of silently (#8375)
- The sidebar scroll indicator shows only while scrolling (#7976)
- Group cmux TUI context menu actions (#8225)
- Reap the persistent SSH daemon when its workspace closes (#8073)
- Tighten terminal textbox top spacing (#8322)
Fixed
- Preserve Codex YOLO mode across session restore and resume repair (#8133, #8045)
- Preserve Pi sessions after workspace restore (#7628) -- thanks @silouanwright!
- Fix Pi and OMP fork actions in tab context menus (#8173)
- Fix Cmd-click for soft-wrapped URLs (#8110)
- Fix typing latency from title churn (#8084, #8155)
- Fix a sidebar scroll layout livelock (#8211) and sidebar GitHub polling regressions (#8226, #8190)
- Replace per-row sidebar hover reconcilers with a single pointer owner (#8067) -- thanks @azooz2003-bit!
- Fix Dock split rendering and shortcut routing (#8142)
- Fix tmux mirror pane sizing and divider drag synchronization (#7996) -- thanks @ejc3!
- Fix new-surface targeting and tab rename for remote tmux panes (#8403, #8404); fix ssh-tmux lifecycle and window-focus routing (#8405, #8402)
- SSH: clear the auth marker after successful startup (#8410); fix the Ghostty SSH wrapper path in embedded app bundles (#8109)
- Coalesce terminal resizes during split-divider drags (#8240)
- Fix interaction paths in capped session panes (#8250)
- Fix automatic terminal top inset (#8168)
- Fix Files panel contrast across appearances (#8290)
- Fix inconsistent table border thickness (#8193)
- Fix a visible popover resize crash (#8115) -- thanks @azooz2003-bit! -- and update-popover resize reentrancy (#8195)
- Bound overflowing confirmation dialog content (#8296)
- Fix Settings shortcut display for legacy overrides (#8091)
- Browser: fix Space key handling (#8079), numeric eval formatting (#8077), and wedged automation recovery (#8094)
- iOS (beta): authenticated Iroh transport with cold-start retries and stale-session recovery (#7908, #8181, #8286, #8196, #8424) -- thanks @azooz2003-bit!
- iOS (beta): match terminal themes across chrome and live reloads (#7919)
- iOS (beta): smooth workspace-list scrolling with exact row heights (#8186); fix reconnect and build isolation (#8299) -- thanks @azooz2003-bit!
Thanks to 5 contributors!
[0.64.19] - 2026-07-14
Fixed
- Fix overflowed tab bar scrolling to the wrong place, right-edge tabs hiding their close buttons, and a misaligned active-tab indicator (#8071)
- Preserve the Claude Code permission mode when restoring, resuming, or forking a session, including interactively chosen auto-accept/plan/bypass modes; stop a one-word prompt after a boolean flag from being replayed on resume (#8070)
Thanks to 1 contributor!
[0.64.18] - 2026-07-14
Added
- Saved workspace layouts: capture the current split arrangement as a named layout, reopen it from the + menu, and set a default layout for new workspaces (#7414, #7354) -- thanks @azooz2003-bit!
- Fork Conversation from an agent terminal's context menu into a new split, tab, or workspace (#7259)
- Manual SSH reconnect: press Enter in a disconnected pane, or use the Reconnect Pane menu (#7250) -- thanks @0xJord4n!
- Remember and restore window position and size per monitor configuration (#7477) -- thanks @mxschmitt, and @kojitakemoto for the report!
- Rename workspaces inline by double-clicking their sidebar row (#7395)
- Per-pane Full Width Tab mode via the command palette or tab context menu (#7425) -- thanks @azooz2003-bit!
- Pane border color settings, including a distinct color for the active pane (#7239)
- Sleepy Mode: a menubar screensaver that keeps your Mac awake (#6740)
- Native Translate Selection in the terminal context menu (#7510) -- thanks @timothyliu!
- Automatic compression of cold terminal scrollback to reduce memory use (#7758)
- A coordinated memory-pressure response that reclaims hidden terminal renderers (#7496, #7050)
- Campfire agent support (#5813) -- thanks @NishantJoshi00!
- Ollama agent support: detection, turn notifications, and relaunch resume (#7907)
- Kimi Code hook integration via
cmux hooks setup(#7201) -- thanks @liruifengv! - Updated Pi hook integration and closed oh-my-pi (omp) gaps (#7008, #7568)
- Per-category agent notification settings, gated on genuinely background work (#7129)
- Workspace notification submenu (#7263) and a
notifications.suppressOnlyFocusedSurfacesetting (#6893) - Bridge Claude Code's PushNotification tool into cmux notifications (#7385)
- Durable tab deep links that survive app restarts (#5769)
- Terminal tabs show the active agent's brand icon in a static slot (#7607)
- Browser: HTTP basic-auth prompt (#2500) -- thanks @lucaspiritogit!
- Browser: proceed-anyway option on invalid TLS certificates (#3711) -- thanks @deftdawg!
- Browser: Arc cookie import (#7224)
- TextBox (beta): configurable submit actions, and the last-used mode is remembered (#6656, #8008)
- Smooth Vim and Emacs navigation in file viewers (#7921)
- Zoom shortcuts for text file previews (#7157) -- thanks @Nauxie!
- Open
file://links from the terminal in the OS default app (#7122) - Entrypoints to create empty workspace groups (#7061) -- thanks @azooz2003-bit!
- CLI:
cmux ssh-session-attach --splitanchors in the target workspace (#7376); shorter unknown-command errors with suggestions (#7329)
Changed
- Settings opens in a reliable AppKit-owned window with modern chrome and a restored sidebar toggle (#7783, #8015, #8047)
- Remote tmux mirroring (beta) mirrors into the current window by default;
--new-windowkeeps a dedicated window (#7264) -- thanks @0xJord4n! - Remote tmux mirroring (beta): mirror sessions as native workspaces (#7406); exact feed-forward pane sizing, live pane headers, and an active-pane indicator (#7315) -- thanks @ejc3!
- Remote tmux mirroring (beta): a friendly install hint when the remote has no tmux (#7368), and a clear error below the tmux 3.2 minimum (#6755) -- thanks @mxschmitt!
- Follow live macOS light/dark switches in system appearance mode (#7206) -- thanks @Diabl0269, and @gupsammy for the report!
- Updates now install the newest available version at install time (#6853); Sparkle 2.9.3 stops auto-update from killing running agents on macOS 26 (#6678)
- The new-workspace (+) dropdown is reorganized into explicit sections (#7709)
- Notification popover leads with workspace names (#7769); the sidebar shows more notification content (#7965)
- Suppress codex's blocking startup update prompt on cmux-driven resumes (#7222)
- Continue a handed-off Safari sign-in in the default browser (#7805); allow account switching after native sign-in (#7146)
- Move CLI socket command handling off the main thread (#7357)
- Open local HTML previews without stealing focus (#6717)
- Preserve plain
ANTHROPIC_MODELinside cmux so Opus keeps the Max-plan 1M window (#7059)
Fixed
- Fix runaway scrolling with high-resolution mice (#6449) -- thanks @samuelpatro!
- Forward right/middle mouse drags to the terminal so tmux menus work (#7319); honor OSC 22 mouse-cursor-shape requests (#7318)
- Fix light-theme white-on-white terminal text (#6896)
- Fix malformed
LC_ALLcollapsing the spawned-shell locale to C (#7183) -- thanks @artisticmedic for the report! - Fix zsh shell integration printing
file existsunder noclobber (#6815) -- thanks @boolafish for the report! - Emit a fish-safe resume cwd-guard (#6328); pin BSD
ncfor shell-integration socket sends (#7789) - Allow Cmd-Space IME switching in the workspace description editor (#6956)
- Rescue split/new-tab cwd inheritance while a resumed agent holds the pane (#7165)
- Prevent hibernation from reaping live agent processes (#6576)
- Fix agent hooks misrouting notifications to the focused tab (#7228) -- thanks @wowpotato!
- Keep Claude hooks authorized after socket rebinds (#7953) -- thanks @belliedmonkey for the report!
- Claude hook acks are silent JSON instead of a visible OK block in Claude Code (#7963) -- thanks @cameronsjo!
- Resolve agent notification targets from live identity at delivery time (#7946)
- Fix the Claude shim mutual exec loop (#7010); fix oh-my-zsh agent auto-resume (#7089)
- Fix garbled Claude Code TUI in
cmux sshremote workspaces (#6831) - Persist Claude transcript lookups across agent-index reloads (#7350); keep forkable sessions with stale pids (#6803)
- Fix SSH workspaces not reattaching after the Mac sleeps (#7987) -- thanks @petrcernansky for the report!
- Preserve one-shot SSH output after disconnect (#7914)
- Fix
cmux sshagainst hosts configured with RemoteCommand/RequestTTY (#7359) - Fix SSH PTY input loss and reordering at reconnect seams (#7717); stop the reattach loop aborting after one retry (#7711); fix a cleanup reconnect storm (#7741)
- Fix the stale "Connected" badge on dead remote SSH workspaces (#7828); fix remote SSH workspace cwd tracking (#6747)
- Remote tmux: open the shared ControlMaster before the attach burst so all sessions mirror (#6839)
- Fix macOS 27 launch crashes from SF Symbol rasterization (#6890, #6728) -- thanks @azooz2003-bit, and @vk1356 for the report!
- Fix blank app icon rendering on macOS 15 (#7729); restore titlebar icon sizing (#8039)
- Fix native fullscreen being unreachable on multi-monitor setups (#6830) -- thanks @xoxouser00 for the report!
- Fix notification-list layout thrash on launch (#6886) -- thanks @sedghi for the report!
- Guard the workspace sidebar against layout re-livelock (#6870) -- thanks @angelobruv for the report!
- Never park the main thread waiting on a socket callback (#6860)
- Bound app termination with a force-exit watchdog (#6837) -- thanks @spaceshipmike for the report!
- Fix a tab bar relayout feedback loop (#7997) -- thanks @nkbai for the report!
- Fix workspace switch latency from hibernation portal reconcile (#7236, #7231)
- Fix the minimal mode toggle relayout hang (#7076)
- Fix sidebar hangs from sustained process-title churn and hover lifecycle reentry (#7754, #8007)
- Fix the sidebar scroll render storm and decouple scrolling from full-window relayout (#7117, #6801)
- Preserve sidebar scroll when closing workspaces (#7594) -- thanks @azooz2003-bit!
- Fix notification scroll restoration (#7901)
- Fix tab icon shift during pane resize (#7637); fix stale terminal agent tab icons (#7740); restore terminal-only tab icons (#7824)
- Fix workspace color picker hue drift (#6762); fix diff viewer transparency (#6671)
- Fix Cmd+I breaking italics in browser text editors (#6862); fix Canvas keyboard shortcut routing (#6704) -- thanks @azooz2003-bit!
- Fix workspace number shortcut rebinding (#5616)
- Make pane-divider resize cursors easier to hit and stop cursor bleed-through from occluded windows (#7816)
- Fit main windows after display topology changes (#7308)
- Reassert Ghostty focus before physical input (#7278)
- Fix workspace group drag-drop intent (#6724)
- Run file explorer git status without optional locks (#7173); cache git dirty snapshots between watcher events (#6795); cut steady-state sysctl burn from process snapshots (#7349)
- Stabilize sidebar ports across transient scan misses (#7952)
- Route browser-pane file drops by intent so they never silently become previews (#7634)
- Fix browser downloads from subframes (#6756); fix mTLS client certificate challenges (#7040)
- Wire PDF preview download and print toolbar actions (#4266)
- Fix omnibar suggestion clicks falling through to the page (#7468); don't let an unfocused omnibar submit on physical Enter (#6818) -- thanks @LanceOlsen for the report!
- Fix browser panes stuck black after a failed discard-restore (#7533)
- Keep loopback bypass for
*.localhostunder "Exclude simple hostnames" (#6827) - Fix Traditional Chinese (zh-Hant) showing as Simplified (#7698)
- iOS (beta): view artifacts referenced in agent sessions (#7674) -- thanks @azooz2003-bit!
- iOS (beta): GitHub sign-in (#7493); account deletion and legal links (#7645) -- thanks @azooz2003-bit!
- iOS (beta): arbitrary terminal themes (#6664)
- iOS (beta): native drag & drop in the workspace list and create-workspace-in-group (#7384) -- thanks @azooz2003-bit!
- iOS (beta): show which features a Mac update unlocks when the connected Mac is older (#7960) -- thanks @azooz2003-bit!
- iOS (beta): full-height terminal output and render/viewport fixes (#7071, #7150, #7172, #7175) -- thanks @azooz2003-bit!
- iOS (beta): optimistically scroll to bottom when typing while scrolled up (#7196)
- iOS (beta):
cmux mobile set-fontlive-resizes the mirrored terminal (#6674)
Thanks to 29 contributors!
- @0xJord4n
- @angelobruv
- @artisticmedic
- @austinywang
- @azooz2003-bit
- @belliedmonkey
- @boolafish
- @cameronsjo
- @deftdawg
- @Diabl0269
- @ejc3
- @gupsammy
- @kojitakemoto
- @LanceOlsen
- @lawrencecchen
- @liruifengv
- @lucaspiritogit
- @mxschmitt
- @Nauxie
- @NishantJoshi00
- @nkbai
- @petrcernansky
- @samuelpatro
- @sedghi
- @spaceshipmike
- @timothyliu
- @vk1356
- @wowpotato
- @xoxouser00
[0.64.17] - 2026-06-23
Added
- Remote tmux mirroring over SSH using
-CCcontrol mode, in beta (#5553) -- thanks @robertnisipeanu! - Global font magnification to scale the whole interface (#6554)
- Right-sidebar custom sidebar tabs (#6430)
- Chrome-style audio-playing indicator on browser panes (#6517)
- Browser hard-refresh shortcut (#6256)
- Clear Screen (Keep Scrollback) command, bound to Cmd+Shift+K (#6139)
- Configurable terminal scroll-speed multiplier via
terminal.scrollSpeed(#5671) -- thanks @RubiconPerform! - Open the selected file from the keyboard in the file explorer (#6001)
- One-step grouped workspace creation (#6657)
- Searchable, uncapped diff viewer branch-base picker with smart defaults (#6484) -- thanks @azooz2003-bit!
- Mark workspaces read/unread and clear notifications from the workspace group menu (#6535) -- thanks @azooz2003-bit!
- Profiling capture action with a live progress window (#6433, #6440)
cmux remotesCLI to manage device-registry routes (#6096)- Flag "Needs input" for blocked AskUserQuestion and ExitPlanMode prompts under
--dangerously-skip-permissions(#6608) - iOS (beta): on-device voice dictation in the composer (#6197)
- iOS (beta): image attachments in the composer (#6102)
- iOS (beta): Return key on the terminal accessory bar (#6101)
- iOS (beta): mark workspaces read/unread from the terminal menu, with an unread-count badge on the back button (#6362, #6350)
Changed
- Terminal and browser surface tabs hug their content instead of stretching to a fixed width (#6653)
- Prioritize full command-palette title matches over partial ones (#6498)
- Reduce UI lag from Settings, sidebar, git, and browser churn (#6260) -- thanks @azooz2003-bit!
- Evict hidden browser WebViews under memory pressure and defer restored WebViews until visible (#6585, #6508)
- Gate idle pollers to the active workspace (#6583)
- Diff viewer toolbar stays responsive and never overlaps at small widths (#6550) -- thanks @azooz2003-bit!
- Allow
.m4rfiles as notification sounds (#6635) - iOS (beta): collapse workspace folders per device (#6666)
Fixed
- Fix a sidebar lag regression from v0.64.16 by cutting per-row font-modifier and pin-state work (#6613)
- Fix the Codex sidebar status lifecycle and stale Claude notification sidebar status (#6609, #6473)
- Fix sidebar tab selection highlight timing (#6627)
- Fix Cmd+T opening in home after an agent-resume session restore (#6621)
- Fix explicit surface routing for read-screen and send (#6605)
- Fix stale surface-to-panel rebinding and stale agent-resume executable paths (#6581, #6582)
- Fix terminal input after a window key restore (#6518)
- Fix the Cmd+grave show/hide global hotkey (#6477)
- Fix vim copy-mode cursor, V/Y selection, and pasteboard (#6221)
- Fix copy-on-select parity with Ghostty (#6200)
- Fix the crash-diagnostic window restore (#6596)
- Fix a tab-switch crash in the vertical sidebar (#6340)
- Fix a ~100% CPU re-render loop when selecting a bundled extension sidebar (#6341)
- Fix blank SF Symbol controls on macOS 27 (#6396)
- Fix the audio indicator audibility signal (#6566)
- Fix browser download trigger parity (#6258)
- Recover Settings opened from offscreen frames, and stop a closed Settings window from reappearing (#5806, #6193)
- Fix title-churn beachball in transcript adoption and sidebar rows (#6460)
- Restore the pane header title after a terminal restart (#6333)
- Recover a blank Markdown viewer pane after dragging it to another column (#6331)
- Vault sidebar always offers "Show more" so capped folder sections stay reachable (#6327)
- Fix the working directory after session-restore resume for Claude and other agents (#6458, #6205)
- Fix Claude Code 2.1.183 agent-team teammates opening split panes again (#6499)
- Preserve Claude Teams restore flags (#6242)
- Fix right-sidebar surface shortcut spam routing (#6472)
- Fix Dia browser import profile detection (#6478)
- Fix zsh aliases after the agent return shell (#6515)
- Fix settings search for auto-naming and broaden fuzzy settings-search matching (#6201, #6196)
- Fix terminal focus retry after a tiny responder handoff (#6359)
- Avoid DevTools teardown during redock (#6559)
- Fix hidden popover relayout and reduce hit-test CPU during SwiftUI updates and pointer movement (#6589, #6592)
- Cache the settings search index per runtime (#6591)
- Move the open-diff baseline lookup off the main thread (#6497)
- Fix the macOS notification fallback identity (#6000)
- Fix a remote PTY restore probe reply leak (#6070)
- Fix OpenCode bunfs worker autoresume and OpenCode resume after a TUI-settings capture (#6680, #6397)
- Fix notification jump-focus for nested tabs (#6416)
- Remove a sidebar rows measurement that re-livelocked layout at scale (#6188)
- Prevent quit hangs from analytics flushing (#6232, #6417) -- thanks @azooz2003-bit!
- Reduce Sentry CLI broken-pipe crashes and hangs (#6254) -- thanks @azooz2003-bit!
- Release closed macOS helper windows (#6368) -- thanks @azooz2003-bit!
- Fix canvas tab hover hit-testing, focus canvas panes from terminal body clicks, and fix canvas zoom-animation snap at low zoom (#6555, #6456, #6538) -- thanks @azooz2003-bit!
- Avoid nested quit-confirmation modal loops (#6461) -- thanks @azooz2003-bit!
- Reduce redundant panel title update work (#6552) -- thanks @Eridanus117!
- Fix a QuickLook preview crash on a deactivated QLPreviewView (#6402) -- thanks @thiveeiyan!
- Fix terminal content duplication on window resize (#6386) -- thanks @mvanhorn!
- Stop the main window drifting down on sleep/wake (#6305) -- thanks @sergej-koscejev!
- Fix stale cmux ssh pane resize by reconciling remote PTY size after arming SIGWINCH, and fix resize with SSH ControlMaster (#5989, #6432) -- thanks @kylejcaron!
- Sync remote tmux session renames to the mirror workspace title, and fix session discovery under a non-UTF-8 remote locale (#6602, #6568) -- thanks @mxschmitt!
- Fix the cmux ssh-tmux socket path being too long for AF_UNIX (#6465) -- thanks @mxschmitt!
- Fix remote-tmux mirror buffer truncation on a cross-DPI display move, and restore the bonsplit pointer so ssh-tmux tab reorders sync to tmux (#6393, #6438) -- thanks @robertnisipeanu!
- Merge user
--settingsinto injected hook settings in the claude wrapper (#5388) -- thanks @choi88andys! - Bound iOS pairing attempts and fix the Pair iPhone window (Cmd+W, sizing, layout, QR padding, failure copy) (#6495, #6038)
- iOS (beta): fix native pairing sign-in failures (#6457) -- thanks @azooz2003-bit!
- iOS (beta): fix the unread count badge contrast, stop pausing background music on text submit, and sustain hold-to-repeat Backspace (#6524, #6290, #6299)
- Fix the changelog title clipping (#6425)
Removed
- Remove the high-memory pane warning UI (the triangle indicator and popover); the underlying guardrail engine stays (#6619)
Thanks to 12 contributors!
- @austinywang
- @azooz2003-bit
- @choi88andys
- @Eridanus117
- @kylejcaron
- @lawrencecchen
- @mvanhorn
- @mxschmitt
- @robertnisipeanu
- @RubiconPerform
- @sergej-koscejev
- @thiveeiyan
[0.64.16] - 2026-06-15
Added
- Opt-in AI auto-naming of workspaces and tabs from your agent conversations (#5547) -- thanks @mvanhorn!
- Per-workspace environment variables inherited by every shell in the workspace (#6116)
- Configurable file explorer double-click action: preview, default editor, or preferred editor (#5827)
- Setting to hide modifier shortcut hints (#6071)
- Configurable Dock max width (#4385) -- thanks @sort2f for the report!
- Customizable stable window title templates (#6059) -- thanks @digijoebz for the report!
- Diff language highlighting aliases (#6076)
- Expose each workspace's custom title to the control socket for scripting (#6013)
- iOS (beta): workspace list with groups, unread dots, last-activity previews, and a shared Unread filter (#5726)
- iOS (beta): workspace row actions (#6022) -- thanks @azooz2003-bit!
- iOS (beta): Shift key on the terminal keyboard toolbar (#6104)
- Experimental freeform 2D canvas layout for workspace panes, still in progress (#5987) -- thanks @azooz2003-bit!
Changed
- macos-option-as-alt now honors left and right Option independently, sending sided modifier bits to the terminal (#6007) -- thanks @1nto5, @ucan-lab, @MrSpock, @Sancerro, @dreasan, @alceal, @lejahmie, and @tofunori for the reports!
- Gate remote SSH port scanning on the sidebar ports setting (#6136) -- thanks @Fail-Safe for the report!
- Polish the experimental canvas minimap navigation (#6105) -- thanks @azooz2003-bit!
- Make Codex agent hooks fire-and-forget so they never block the session (#6110)
- Detect live claude/codex processes so hook-less agent sessions stay fork-able (#6133)
- Stagger restored terminal surface spawns to smooth session restore (#6149)
- Reclaim offscreen terminal renderer GPU memory (IOSurface) non-destructively (#5857)
- iOS (beta): smoother terminal scrolling with local scrollback prefetch and faster scroll rendering (#6067, #6035) -- thanks @azooz2003-bit!
- iOS (beta): cross-device notification dismiss-sync and an authoritative unread badge (#5916)
- iOS (beta): local-first, offline-safe sign-out (#5776)
- iOS (beta): require a matching email for pairing (#6028)
Fixed
- Fix terminal top-row mouse event routing, including minimal-UI hit testing (#4391, #6073) -- thanks @colangelo and @edouardp for the reports!
- Restore OSC 11 pane-local backgrounds (#5997) -- thanks @fkchang for the report!
- Fix the macOS 27 SF Symbol rasterization crash (#5999) -- thanks @matheustimbo and @joseluislucio for the reports!
- Fix a stale Metal drawable after terminal layer realization (#6057) -- thanks @robertnisipeanu for the report!
- Fix terminal arrow key routing for TUI model selection (#6002) -- thanks @wo4wangle for the report!
- Fix the Cmd+T working directory after session restore (#6055) -- thanks @WangRouna for the report!
- Preserve Pi sessions across workspace restore (#5607) -- thanks @bjesuiter for the report!
- Fix top-right titlebar drag chrome (#6003) -- thanks @dbachelder for the report!
- Fix the OpenWrt BusyBox remote platform probe (#6056) -- thanks @Fail-Safe for the report!
- Fix stale remote connected state after a proxy disconnect (#4513)
- Surface a browser fallback when Safari sign-in hangs (#6113)
- Fix the browser omnibar Return submitting stale text during fast typing (#5923)
- Avoid mirroring web proxies as CONNECT (#5959)
- Fall back to SSH when the Cloud VM attach endpoint is unavailable (#6079)
- Fix sidebar row-height layout feedback (#6111)
- Kill a sidebar LazyVStack layout livelock (#6033) -- thanks @azooz2003-bit!
- Fix unexpected menu-bar-only activation policy (#6068)
- Fix Mermaid diagrams scaling in the markdown viewer zoom (#6072)
- Honor Focus / Do Not Disturb for the fallback notification sound (#5651) -- thanks @Reebz!
- iOS (beta): fix compact workspace row navigation by removing redundant tap gestures (#6124) -- thanks @azooz2003-bit!
- iOS (beta): reduce workspace row swipe contention (#6064) -- thanks @azooz2003-bit!
- iOS (beta): fix a workspace swipe-delete confirmation crash (#6051) -- thanks @azooz2003-bit!
- iOS (beta): preserve the email code sign-in nonce (#6097)
- iOS (beta): fix TestFlight push notifications by exporting the production APNs entitlement (#6131)
Thanks to 26 contributors!
- @1nto5
- @alceal
- @austinywang
- @azooz2003-bit
- @bjesuiter
- @colangelo
- @dbachelder
- @digijoebz
- @dreasan
- @edouardp
- @Fail-Safe
- @fkchang
- @joseluislucio
- @lawrencecchen
- @lejahmie
- @matheustimbo
- @MrSpock
- @mvanhorn
- @Reebz
- @robertnisipeanu
- @Sancerro
- @sort2f
- @tofunori
- @ucan-lab
- @WangRouna
- @wo4wangle
[0.64.15] - 2026-06-12
Added
- Review comments in the diff viewer: comment on changed lines, persisted per repo, and attach the comment set to a terminal TextBox to hand to an agent (#5768)
whencontext clauses for keyboard shortcuts with VS Code-style context keys and operators, and the Select Workspace/Surface 1…9 shortcuts (⌘1–9) are now rebindable (#5196)- New Browser Workspace command (Option+Cmd+N) (#5926)
- Browser view actions in the CLI (react-grab, devtools, console, focus-mode, zoom, history) with a more reliable automation lane (#5766, #5778)
cmux window displayto place a window on a named display (#5804) -- thanks @azooz2003-bit!- Workspace group commands in the cloud CLI relay (#5856) -- thanks @azooz2003-bit!
- Fish shell integration (#5678)
- React and Solid agent session panels (#4429)
- iOS (beta): iMessage-style terminal composer with inline send and per-terminal drafts, plus a View as Text sheet for copying terminal output (#5876, #5875)
- iOS (beta): customizable terminal toolbar with custom actions and reorderable built-ins, on a redesigned default layout (#5510, #5579, #5532)
- iOS (beta): multi-Mac host switcher with a hierarchical device tree, workspaces from all Mac windows, and rename/pin from the phone (#5513, #5648, #5565, #5512)
- iOS (beta): paste images from the phone clipboard into the terminal (#5546)
- iOS (beta): first-run onboarding, Tailscale-off detection, actionable pairing failures, cancellable sign-in, and pull-to-refresh on the workspace list (#5655, #5714, #5722, #5713, #5728, #5654)
- iOS (beta): early browser panes (WKWebView) and a Send Feedback flow (#5652, #5653)
Changed
- Custom sidebars render in-process by default, get a dedicated Settings section, remount instantly on toggle, and repaint live during resize, with new example sidebars to start from (#5867, #5864, #5895) -- thanks @azooz2003-bit!
- Terminal notifications forward to the iPhone only while you're away from the Mac (#5912)
- Slimmer pairing QR codes that scan faster, with Copy IP/Port and no expiry (#5727, #5872)
- The Mac pairing window shows a connected state when the iPhone attaches (#5542, #5795)
- Crash reports scrub file paths, PII, and secrets before sending (#5598)
- Webview assets are split per surface so panes load less JavaScript (#5613)
Fixed
- Fix the app hanging at 100% CPU on launch on macOS 26 from a FileExplorer SwiftUI update loop (#5786, #4937) -- thanks @kevinsslin, and @haoranaaa for the report!
- Fix a launch crash on the macOS 27 beta and unblock Xcode 27 builds (#5670) -- thanks @matheustimbo!
- Fix SSH typing lag with async PTY writes (#5594) -- thanks @lleewwiiss!
- Fix light themes rendering white-on-white terminals (#5826) -- thanks @abdullahnauman2 for the report!
- Hide the sidebar scrollbar when content fits and fade the overlay knob when idle (#4767, #5846, #5955) -- thanks @yigitkonur for the report!
- Fix recurring main-thread livelocks with many workspaces and agent sessions, and a UI freeze when closing tabs (#5708, #5859, #5673, #5669)
- Cmd-click links inside fullscreen TUIs (Claude, Codex) now open in cmux's browser instead of the system default (#5406) -- thanks @denysshnurenko for the report!
- Fix OSC 8 Cmd-click hyperlinks in terminal panes (#3580)
- Surface needs-input attention (sidebar status, bell, tab elevation) for blocking PermissionRequest hook decisions (#5313) -- thanks @Dukeman330 for the report!
- Fix resumed Claude sessions dropping cmux hooks when
claudedoesn't resolve to the wrapper (#5721) -- thanks @Lipdog for the report! - Preserve user Claude settings on resume (#5661)
- Fix forked Claude sessions restoring the parent session after a cmux restart, and restore missing Fork Conversation entries (#5910, #5937)
- Recover session restore from a corrupt snapshot via the rolling backup (#5914)
- Keep Codex permission hooks non-blocking (#5507)
- Browser: fix the context menu opening the wrong link, wrong image download filenames, and loopback URLs hitting the system proxy on local workspaces (#5780, #5938, #5915)
- Fix a browser keyDown stack-overflow crash (#5899) -- thanks @azooz2003-bit!
- Fix crashes from key-routing replay loops in the find overlay and browser (#5755, #5891)
- Fix the Find pane for same-directory workspaces (#5956)
- Stop SSH auto-reconnect when the host is unreachable and add a manual Reconnect control (#5767)
- Keep remote shell startup responsive (#5695)
- Stop titlebar elements shifting when toggling the sidebar (#5707) -- thanks @azooz2003-bit!
- Localize package display strings missing from the app catalogs (#5829) -- thanks @azooz2003-bit!
- Clearer updater errors when the launchd agent install fails, with a manual-download fallback (#5760) -- thanks @azooz2003-bit!
- Retain the Settings window so it reliably reopens (#5801) -- thanks @azooz2003-bit!
- Fix the diff viewer loading state showing gray instead of the terminal theme (#5631)
- Fix the inline VS Code command palette and WebSocket startup (#5595)
- Fix sidebar Shift-click range selection after a no-op drag (#5601)
- Keep pinned workspaces inside their group, and fix dragging grouped workspaces above their group (#5541, #5612)
- Fix sidebar status pills for newly created workspaces (#5662)
- Don't hijack ZDOTDIR when the bundled shell-integration bootstrap is missing (#5773)
- Fix memory growth from retained publish responses and event-stream allocations (#5664)
- Reduce background CPU from process polling and browser-availability checks (#5759, #5744)
- iOS (beta): park notification-tap deep links until the workspace can be opened, fix a false-fire render watchdog replay loop, cap the restoring-session wait for stale Macs, and localize push notification strings (#5927, #5869, #5564, #5519)
Thanks to 12 contributors!
- @abdullahnauman2
- @austinywang
- @azooz2003-bit
- @denysshnurenko
- @Dukeman330
- @haoranaaa
- @kevinsslin
- @lawrencecchen
- @Lipdog
- @lleewwiiss
- @matheustimbo
- @yigitkonur
[0.64.14] - 2026-06-06
Added
- iPhone companion app (beta): pair an iPhone from the new Mobile Connect window (also in the command palette) and attach to your Mac's terminals from your phone, with a configurable pairing port and opt-in forwarding of terminal notifications; the iOS beta ships on TestFlight as cmux BETA (#5079, #5493, #5489, #5518)
- Drag a workspace into another window's sidebar to move it between windows, including grouped workspaces (#5399)
- Sign In and Sign Out commands in the command palette (#5529)
- OMP agent hook integration with notifications and session restore via
cmux hooks omp(#5413) -- thanks @joshrzemien!
Changed
- Custom sidebar extensions now run out-of-process with an isolated interpreter, so a broken sidebar can't hang or crash the app (#5294, #5382) -- thanks @azooz2003-bit!
- Broader SwiftUI primitive coverage in the custom sidebar interpreter (#5275) -- thanks @azooz2003-bit!
- Browser omnibar: the first click that focuses the address bar selects the whole URL, later clicks place the caret (Chrome parity) (#5462, #5352)
- Browser chrome (omnibar font and toolbar icons) scales with the tab bar font size (#5464)
- Sidebar workspace group headers scale with the sidebar font size (#5401)
- Agent Hibernation defaults to a 5-second idle window when enabled (#5449)
- Tighter fuzzy filtering for skill suggestions in the terminal textbox (#5348)
Fixed
- Keep actively-playing audio and video in browser panes alive when the pane is hidden (#5412, #5441)
- Fix a typing beachball in the browser omnibar with large browsing histories (#5397)
- Fix the main window refusing to resize narrower than its current width (#5474)
- Fix the sidebar close button hidden under wrapped workspace titles (#5488)
- Fix notification sound selection so the picker previews the selected sound and notifications play it (#5480)
- Restore the menu bar icon dropdown menu on click (#5451)
- Fix OSC control sequences (e.g. terminal background color) printed as literal text when sent via
cmux send(#5509) - Fix native Claude resume dropping cmux hooks, so notifications and status tracking keep working on resumed sessions (#5430)
- Fix Agent Hibernation for node-backed Claude sessions (#5433)
- Codex resume hardening: keep restored surfaces from jumbling and preserve
CODEX_HOMEso non-default Codex homes resume correctly (#5351) - Fix Cmd +/- zoom in the browser and Markdown viewer on non-US keyboard layouts (#5394)
- Preserve syntax highlighting on changed lines in the diff viewer (#5415)
- Fix a stale group name in the window title bar after renaming a workspace group (#5408)
- Fix the Dock sidebar not rendering after closing and reopening it (#5437)
- Fix OMO subagent pane respawn through the tmux compatibility shim (#5465) -- thanks @leodiegoo for the report!
- Reduce sidebar git activity by coalescing repeated metadata probes (#5402)
Thanks to 5 contributors!
[0.64.13] - 2026-06-04
Added
- Browser focus mode (#4573)
- SSH agent forwarding for
cmux ssh, so remote sessions can use your local SSH keys (#5301) - Vibe-codable custom sidebars: a runtime Swift interpreter for building your own sidebar, behind a Beta Features flag, with CLI validation and live reload (#5254, #5327) -- thanks @azooz2003-bit!
- Browser mouse back and forward button support (#5197)
- Persisted word-wrap setting for the file editor (#5247)
- "Open Current Directory in Devin" command (#5288) -- thanks @MaxiAschenbrenner!
- Live status reporting in the Amp Neo session plugin, driving the cmux tab status bar (#5235) -- thanks @HamptonMakes!
Changed
- Anchor the textbox autocomplete to the cursor (#5021)
- Add a font-size popover to the Markdown viewer controls (#5168)
- Open group config files in your configured editor (#5250)
- Isolate browser WebKit process pools so one browser pane crashing no longer takes down the others (#4987)
- Move large scrollback read-text work off the main actor to reduce UI hangs (#5243) -- thanks @azooz2003-bit!
Fixed
- Fix a settings-observation task leak that grew the app process to 4.4 GB over ~23h (#5310)
- Fix a browser pane render loop that re-navigated the WebView on every CoreAnimation commit (~39% main-thread CPU) (#5311)
- Fix a WebKit post-wake crash with sleep/wake-aware hidden-webview discard scheduling (#5315) -- thanks @azooz2003-bit!
- Fix the Markdown and file-preview text editor hanging at 100% CPU on click or drag-select by forcing a TextKit 1 stack (#5257)
- Stop cmux from launching child processes under Rosetta on Apple Silicon (#5306) -- thanks @CharlesWiltgen for the report!
- Recover terminal focus when the first responder is stranded in another window (#5296)
- Fix the browser address bar so a single click places a caret instead of selecting the whole URL (#5270)
- Fix copy-mode vim keys (j/k/h/l) swallowed under non-ASCII input sources (Korean, Japanese Kana, Zhuyin) (#5292) -- thanks @pstanton237!
- Fix terminal copy-mode cursor navigation (#5328)
- Fix terminal selection on mouse-up while the find overlay is open (#5335)
- Fix TextBox IME and input-source handling (#5340)
- Fix the macOS "wants to access data from other apps" prompt on agent session start and quit by moving the control socket out of Application Support (#5176)
- Fix Codex auto-resume emitting an invalid
-s disabledsandbox flag (#5276) -- thanks @taonetm7 for the report! - Fix agent session resume cd-ing into the wrong directory after a cwd drift, plus post-kill cwd handling (#5300, #5312)
- Fix restored cwd bindings after a reboot (#5307)
- Fix a stale sidebar git branch after cd-ing out of a repo into a non-git directory (#5279)
- Fix a TextBox teardown crash when toggling the sidebar background (#5317)
- Fix a workspace-close teardown hang (#5316) -- thanks @azooz2003-bit!
- Fix the workspace-group "Delete Group" context-menu action being a no-op (#5253)
- Fix the diff viewer showing a raw CLI error and beeping when there is no diff (#5252)
- Fix sidebar drag-and-drop frame collection with the lazy (virtualized) sidebar (#5325)
- Lazy-load file explorer roots to speed up opening the file tree (#5342)
- Fix Claude workflow resume transcript resolution (#5242) -- thanks @azooz2003-bit!
- Fix opening the remote SSH file browser (#5241) -- thanks @azooz2003-bit!
- Fix custom-sidebar extension discovery for tagged builds (#5267) -- thanks @azooz2003-bit!
- Fix Sparkle update packaging and Claude hook transcript scaling (#5202)
Thanks to 8 contributors!
- @austinywang
- @azooz2003-bit
- @CharlesWiltgen
- @HamptonMakes
- @lawrencecchen
- @MaxiAschenbrenner
- @pstanton237
- @taonetm7
[0.64.12] - 2026-06-02
Added
- Configurable keyboard shortcut to open the diff viewer, editable in Settings (#5178)
- Font size and zoom controls in the Markdown viewer (#5163)
Changed
- Gate the Feed behind Beta Features (mirroring Dock), off by default (#5174)
- Improve the terminal text context menu (#5135) -- thanks @azooz2003-bit!
- Rank visible title matches above hidden metadata in the workspace switcher (#5148)
- Build the release app with the macOS 26 SDK (#5042)
Fixed
- Fix Starship and other custom prompts going static in bash by composing the prompt bootstrap with the user's existing
PROMPT_COMMAND(#5187) -- thanks @xzjncu for the report! - Report remote PTY allocation failures loudly so
cmux sshno longer fails silently when remote PTY attach fails (#5186) -- thanks @windyslow for the report! - Fix a main-thread hang from focus-surface broadcast re-entrancy triggered by custom shortcuts (#5108) -- thanks @wzh4464 for the report!
- Restore the right-click sidebar view switcher and built-in views (Default Workspaces, Project Worktrees, and others) (#5182)
- Strip terminal-color OSC sequences from restored scrollback so old sessions no longer keep a previous theme's colors (white-on-white after a theme change) (#5175)
- Fix the browser Web Inspector reopening by itself after manual close and navigation (#5180)
- Honor the Settings rebinding of Global Search by parsing package object-form
cmux.jsonshortcut bindings (#5143) - Fix Claude fork and resume failing when the session had changed directories (#5154)
- Fix titlebar shortcut-hint pills clipped at the bottom on macOS 26.5 (#5145)
- Fall back to the default sidebar when extensions are disabled (#5127) -- thanks @azooz2003-bit!
- Stabilize the git metadata FSEvents watcher to stop an event storm (#5131) -- thanks @azooz2003-bit! and @randybias for the report!
- Avoid E2BIG when the SSH startup script exceeds
MAX_ARG_STRLEN(#5133) -- thanks @lauzierj!
Thanks to 8 contributors!
[0.64.11] - 2026-06-01
Added
- Workspace groups: select sidebar workspaces and press ⌘⇧G to group them under a collapsible header, with an anchor workspace, drag-to-group, in-group reorder, per-group color and icon, unread badges on the header, and a Delete Group action that closes all members (#4815)
cmux workspace-groupCLI namespace to create, remove, set-color, set-icon, move, and focus groups, with new-workspace placement configurable per group and viacmux.json(#5018)- Focus history and Recently Closed history: navigate back and forward through recently focused workspaces and windows from the titlebar, and reopen recently closed surfaces from a searchable history pane (#4160)
- Agent Hibernation pauses idle agent sessions and restores them on demand to cut background resource use (#4165)
- Detachable SSH PTY daemon keeps remote sessions alive across reconnects so SSH workspaces survive a dropped connection (#4807)
- Configurable sidebar workspace font size, plus a workspace tab bar font size control capped at 14pt (#4798)
- Browser tab audio mute toggle in the tab right-click menu, kept in sync with WebKit playback state (#4911)
- Fork Conversation action in the tab right-click menu, with configurable fork destinations (#4888, #4986 -- thanks @lawrence703!)
- Xcode-style project visualizer pane (#4996)
cmux diffcommand opens a CodeView diff viewer, with large git diffs streamed into the viewer before full render (#4451, #5016)- Send Ctrl-F to Terminal passthrough action to force-stop Claude Code agents (#5011)
- Native Kiro CLI hook integration with notifications, task manager attribution, and session restore (#4831)
- Default terminal registration so the system terminal preference resolves to cmux (#4935)
- Configurable browser search providers (#4849)
- Terminal textbox input with beta TextBox defaults settings (#4333, #4773)
- Viewport-aware workspace path display truncates sidebar paths to fit the available width (#3730) -- thanks @gonzaloserrano!
- Wrap long workspace titles in the sidebar instead of truncating (#4848)
- Open cmd-clicked Markdown paths in the Markdown viewer (#4864)
- Beta Features toggle gates the in-progress extension sidebar UI (#5092)
Changed
- Notifications popover redesigned: bigger, minimal layout with swipe-to-dismiss (#4778)
- Use Hermes hook payloads for richer agent notifications (#4851)
- Settings is now a top-level peer window instead of a floating child window (#5081)
- Launch restored agent sessions through their saved startup commands (#4777)
- Reduce browser WebView input latency (#4863)
- Make the workspace sidebar lazy with
@Observabledrag state and batch sidebar actions for faster reorders on large sidebars (#4736, #4865) - Make session index backfill linear so large session histories load faster (#4868)
- Resolve TypeScript
.tsfiles as text previews instead of routing them through QuickLook media (#4924) - Forward CLI subcommands from the GUI binary to the bundled CLI (#4679) -- thanks @tiffanysun1!
Fixed
- Fix File Preview hang when drag-selecting large files (#4962)
- Fix the File Preview Open With menu (#4932)
- Stop stale closed-browser snapshots from reappearing in unrelated workspaces (#4961)
- Fix zsh hook errors when the job table is saturated (#4959)
- Fix bash job notification spam (#4934)
- Fix Claude hooks-disabled environment passthrough (#4418)
- Fix
NSFileHandleprocess pipe read crashes (#4800) - Fix cmux terminal environment injection (#4728)
- Recognize Eternal Terminal for remote file drops (#4712)
- Fix Vault resume for non-ASCII paths (#4683)
- Fix Markdown files with trailing punctuation being detected as URLs (#4594) -- thanks @jasonko!
- Fix the Reload Configuration menu action (#4534)
- Fix OMO tmux compatibility session ids (#4468)
- Fix equalize split span weighting so 3+ pane rows distribute evenly (#4787)
- Fix matched sidebar terminal background (#4780)
- Fix restore-previous-launch crash and preserve current work on restore (#4982)
- Fix agent resume when the saved cwd was deleted (#4859)
- Fix hidden Settings window burning CPU during Codex output (#4661)
- Fix embedded Ghostty split theme resolution so split panes inherit the active theme (#4795)
- Fix titlebar controls intercepting window drags and right-sidebar button clicks (#5005, #5102)
- Fix split zoom not clearing when the maximized tab is closed (#5076)
- Fix spurious "Terminal needs approval" prompts from the Hermes pre-tool-call hook (#5010)
- Fix Hermes session restore so a per-turn session-end is treated as a turn boundary, not a teardown (#5009)
- Fix the JSONC comment skipper for CRLF line endings (#4869)
- Fix Bonsplit tab indicator drift (#4873)
- Open bare relative path arguments externally without requiring socket access (#4812)
- Keep Cmd-Tab app switching off the session snapshot path (#4613)
- Restore the sidebar minimum width and keep the titlebar stable at minimum width (#5062, #5089)
Removed
- Remove History from the right sidebar (#4785)
- Remove the terminal scrollbar workspace menu (#5072)
- Stop bundling example sidebars in the app (#4662)
Thanks to 7 contributors!
[0.64.10] - 2026-05-23
Added
- Copy on Select setting copies the active terminal selection to the clipboard as soon as the mouse is released (#4011) -- thanks @kallioaleksi for the report!
- CmuxExtensionKit sidebar prototypes showcase the upcoming extension API for custom workspace sidebars (#4309)
- Ghostty Settings command palette action opens the embedded Ghostty configuration directly (#4654)
- Warn before, or hide, the tab close button to prevent stray accidental closes (#4632)
- Skip the quit-confirm dialog on DEV builds and honor
app.confirmQuiton stable/nightly (db267718) - Keep Codex notifications after interrupted turns so the badge survives a ctrl-c mid-stream (#4583)
- Move resume command approvals into
cmux.jsonso per-repo configuration can preapprove agent resume invocations (#4538) cmux reorder-workspacesaccepts batch input, supports--dry-run, and emits reorder events (#4507)
Changed
- Move the browser loading spinner onto Core Animation so it stays smooth during heavy rendering (#4600)
- Harden remote websocket PTY sessions against connection churn (#4323)
Fixed
- Fix the TaskManager snapshot-boundary violation that caused the 0.64.8 memory leak by keeping pane store references out of the lazy list subtree (#4555)
- Fix the
runProcesspipe teardown crash hit when a process exits during stdout drain (#4568) - Fix key repeat rendering lag in the terminal under sustained input (#3986)
- Fix asymmetric equalize splits so a 3+ pane row distributes evenly even when one pane started larger (#4381)
- Fix
cmux.jsonsplit ratios so persisted ratios apply to restored splits (#3980) - Fix browser URL bar stealing focus on tab switch (#4623)
- Forward Cmd+Up / Cmd+Down to the browser pane so Google Docs and other web apps can jump to top/bottom (#4637)
- Fix close shortcuts targeting the original window when the user has moved focus to a different one (#4615)
- Fix Ghostty split theme appearance resolution so a freshly split pane inherits the active theme (#4567)
- Fix theme picker chrome preview sync so the swatch matches the applied chrome (#4652)
- Fix sidebar edge fade background so the gradient blends with the active surface (#4610)
- Fix markdown remote SVG image loading inside the markdown viewer (#4533)
- Fix restored panel unread sidebar badges so badge state survives session restore (6f1ecc9f)
- Prevent DEV builds from stealing the stable CLI socket when both run side-by-side (5ab642a3)
Thanks to 3 contributors!
[0.64.9] - 2026-05-21
Fixed
- Stop unbounded Git repository search past filesystem root so non-Git workspaces no longer grow RSS from ~450MB to 8GB and trigger the OOM killer (#4557) -- thanks @Luciferxie for the report!
- Restore the Browser Memory Saver default to on (discards hidden browser webview renderers after the discard delay) to mitigate the 0.64.8 memory regression (#4545) -- thanks @Luciferxie for the report!
Thanks to 3 contributors!
[0.64.8] - 2026-05-21
Added
- Antigravity CLI integration with hook notifications, task manager attribution, and session restore (bd4a31c0)
- Native Grok Vault resume support (5708d67b)
--windowrouting for window-scoped CLI commands (workspace, pane, surface, SSH, VM, notifications, tree, top) (#4211)- Browser screenshot clipboard actions (#4479)
- Attribute notifications to their source panel (20691adb)
Changed
- Keep browser webviews alive by default, reverting the 0.64.7 discard-by-default behavior (#4388)
- Align titlebar controls with macOS traffic lights (#4471)
- Localize Antigravity hook strings and running status (861d43a9, b5a4d6dc)
Fixed
- Prevent minimal-mode pane tabs from moving the window when dragged (e7941740)
- Fix Option dead-key accent composition so Option+n then a commits "ã" (#4382) -- thanks @moskoweb for the report!
- Route keyboard/menu equalize_splits through v2ProportionalEqualize so 3+ panes split evenly (#4400) -- thanks @mvanhorn!
- Fix Quick Look preview deactivation crash (#4459)
- Fix QuickLook crash after proxy icon split close (#4460)
- Fix git index.lock polling in sidebar metadata watcher (#2797)
- Fix theme override path for channel builds (Nightly/Staging no longer retheme Release) (#4484)
- Fix minimal-mode sidebar titlebar icon alignment (#4481)
- Fix notification Settings open path (#4456)
- Suppress nested agent hook notifications (#4334)
- Fix Antigravity presentation and resume (0f67df81)
- Fix Antigravity Vault resume indexing (9fa5d1d8)
- Fix Antigravity fallback session build (80fe38d6)
- Fix Antigravity conversation sanitizer width (8bd285a9)
- Fix Grok agent-scoped Vault filtering (12ae177f)
- Fix Grok Vault titles and icon (84373476)
- Deduplicate Grok Vault sessions (9f66dffd)
- Honor shell Grok homes in Vault, including custom hook state directories (be8c37c4, f95b25b9)
- Restore compact pane tab width (f0370709)
- Fix session search ripgrep cancellation crash (fa623368)
- Preserve right sidebar remembered mode (aac80054)
- Persist restored pane notifications and resync restored notification badges (e4856922, 9ffdb45a)
- Preserve workspace cwd metadata for registered agents (9b1e186d)
- Preserve transparent terminal hosting (1ca56296)
- Keep browser URL tied to committed navigation and harden provisional navigation state (40863609, e240c302)
- Fix sidebar overlay contrast scheme and keep sidebar chrome readable across themes (452745b6, 4223df74)
- Synchronize theme contrast on reload and align terminal scheme with live theme (228f3abd, b6d34706)
- Reload themes through the cmux socket so theme changes propagate to running instances (1be9d26c)
- Foreground and reload after interactive theme picker (b0f58e47, 8a4e57cf)
- Ignore inherited socket context from other cmux bundles (b361e9a2)
- Preserve numbered shortcut stale-menu routing and remapped close defaults (d198a962, f2b257fb)
- Clear restored unread on workspace resume and defer dismissal to focused panel (b24cf548, f594d5a8)
- Update Bonsplit minimal tab drag hit testing and keep titlebar drag handle out of pane tabs (36fc880f, 735dde1d)
- Gate process termination until launch succeeds and handle deferred cancellation edge cases (a14ca57c, 227305d5)
- Deduplicate shell wrapper installer (a21a21c5)
Thanks to 4 contributors!
[0.64.7] - 2026-05-19
Added
- Grok Build CLI integration with notifications, task manager, and session restore (#4225)
- Surface resume bindings (#4237)
- Allow tab header double-click to zoom panes (#3892) -- thanks @Litee for the report!
- Open crash diagnostics from notifications (#4296)
- Toggle Unread shortcut (#4231)
- Command palette toggle for file opening (#4208)
- Agent conversation fork commands (#4198)
- Let terminal tabs move into existing workspaces (#3890)
- Browser: hidden webview discard settings (#4245) -- thanks @lidge-jun!
- Browser: expose webview lifecycle state in
top(#4243) -- thanks @lidge-jun! - Show
cmux openin CLI help (#4206)
Changed
- Preload CLI-created browser panes offscreen so they're ready when the workspace becomes visible (#4345)
- Discard hidden browser webviews to reclaim memory (#4244) -- thanks @lidge-jun!
- Avoid idle background terminal surface priming (#4184)
- Reduce Cloud VM create overhead (#4202)
- Optimize command palette search (#4043)
- Drop runtime-only flags from agent resume commands (#4196) -- thanks @dangaogit for the report!
- Open markdown files through the shared markdown viewer path (#4285)
- Mark workspace unread when any tab inside it is marked unread (#4169)
- Preserve unread indicators across session restore (#4130)
- Reconcile provider-deleted Cloud VMs before applying active VM limits (94c0b709)
- Skip the approval prompt for CLI resume commands (1b5bc76b)
Fixed
- Fix NIGHTLY update bundle icon metadata (#4353)
- Fix ripgrep resolution for Nix installs (#3946) -- thanks @afterthought for the report!
- Prevent omo plugin warning infinite loop (#3960) -- thanks @liyue2008 for the report!
- Don't auto-resume an agent that already exited before the snapshot (#4269) -- thanks @wowpotato!
- Fix markdown viewer image rendering (#4288)
- Fix task manager process accounting accuracy (#4132)
- Fix browser omnibar IME candidate window for Japanese / Zhuyin (#4268)
- Fix Cmd-hover bounds for spaced file paths (#4291)
- Fix light theme foreground rendering when using conditional
dark:X,light:Ythemes (#4278) - Suppress browser editing shortcut replay (#4186)
- Discover cmux user themes so the light theme palette applies as expected (#3956) -- thanks @abdullahnauman2 for the report!
- Fix Web Inspector blank restore and close crash (#4182)
- Fix variant-aware CLI socket fallback (#3543)
- Cmd-click reload now duplicates the browser tab (Chrome parity) (#4284)
- Fix surface tab bar action button clipping on window resize (#4121) -- thanks @jmoses26 for the report!
- Fix Claude sidebar resume so it no longer overrides
CLAUDE_CONFIG_DIRand triggers first-run prompts (#4116) -- thanks @hexalellogram for the report! - Keep SSH pane close from killing sibling panes (#3995) -- thanks @kylejcaron for the report!
- Fix background workspace PTY startup for socket-created surfaces (#3876) -- thanks @hummer98 for the report!
- Preserve Codex plugin config during hook setup (#4270)
- Fix browser deep-link popups (slack://, discord://, zoom://, etc.) (#4226)
- Fix offscreen terminal helper PTY startup (#4233)
- Fix Cmd-N routing from the browser omnibar (#4038)
- Fix omnibar arrow key focus races (#4183)
- Fix browser
window.showOpenFilePickersupport (#4122) -- thanks @ZhuYichuan for the report! - Fix task manager attribution for launchd-parented helpers (#4190)
- Fix background
new-workspacecommands (#4137) - Fix Slack composer Cmd+C in browser panes (#4126)
- Fix permission notifications after auto-allow (274128ec)
- Fix markdown and file preview panel session reuse (838ad59f)
- Fix nightly startup crash (76ba2bfd)
Thanks to 14 contributors!
- @abdullahnauman2
- @afterthought
- @austinywang
- @dangaogit
- @hexalellogram
- @hummer98
- @jmoses26
- @kylejcaron
- @lawrencecchen
- @lidge-jun
- @Litee
- @liyue2008
- @wowpotato
- @ZhuYichuan
[0.64.6] - 2026-05-14
Added
- Command palette toggles for boolean Settings rows, including iMessage Mode (f85cc56a)
Changed
- Improve Cloud VM error guidance with sign-in steps, unknown-flag suggestions, and usage examples (#4094)
- Use transparent backgrounds for file preview panels so previews follow the active Ghostty theme opacity (#4088)
Fixed
- Fix
cmux sshdropping keystrokes after connecting — the backgrounded ssh inside the startup wrapper now inherits the wrapper's stdin so typing reaches the remote shell (#4135) -- thanks @kays0x for the fix, @kenfdev and @liudp1988 for the reports! - Keep the selected workspace visible after sidebar reorders (#4083)
- Fix Pi Vault icon and JSONL session titles (#4120)
Thanks to 5 contributors!
[0.64.5] - 2026-05-13
Added
- Codex Teams subagent panes that map
codex-teamssessions into native cmux panes (#4056) - Task Manager column sorting and Program Totals that aggregate repeated processes by name (#4066)
- Amp built-in restore and session plugin with hook installer (be769af3) -- thanks @comp615!
- Menubar global search across windows, workspaces, panes, and surfaces (#3908)
- Open right sidebar tools as panes (#4065)
- Workspace cwd inheritance setting (#3921)
- Right-sidebar CLI command parity (#3810)
- Bring notification CLI to panel parity with dismiss, mark-read, open, and jump-to-unread (#3811)
- Open supported files in cmux on cmd-click (#4041)
- Unread defer shortcut (#4086)
- Pi agent icon (#4057)
- iMessage workspace ordering and live message previews (#4062)
Changed
- Enable Feed by default (#3854)
- Keep manually marked workspace and tab unread state sticky until you interact with the terminal, so navigation and focus don't clear it (#4104)
- Route markdown paths from
cmux openandfile.openinto markdown preview panels instead of generic file preview panels (#4085) - Rewritten Markdown viewer with a webview-based renderer (#3664) -- thanks @tobi!
- Auto-preserve Vertex/Bedrock auth env when launching the Claude wrapper inside cmux (#3714) -- thanks @psh4607!
- Approve installed Codex hooks during initial setup (#4075)
- Hide sidebar descriptions in title-only mode (#4040)
- Limit Cloud VMs by active provider state (#4046)
- Save crash diagnostics under cmux state (#4077)
- Reset Kitty keyboard mode at shell prompt boundaries (#3870)
- Narrow IME candidate key suppression (#3867)
- Keep Claude running after
/clear(#3631) - Clarify in
cmux --helpthatreload-configcovers Ghostty config too (#4060)
Fixed
- Fix Korean 2-Set IME left/right terminal arrows (#4095)
- Fix terminal portal resize lag (#4102)
- Fix Settings search synonyms (#4082)
- Fix sidebar unread badge after re-marking notifications (#4084)
- Close browser panels when pages request window close (#4070)
- Fix new-workspace caller window routing (#4042)
- Prevent display-link crash from terminal portal layout reentry (#3885)
- Fix shared WebView task manager attribution
- Fix stale SSH ControlPath cleanup before pane launch (#3894)
- Prevent Metal renderer row rebuild crash (#3916)
- Fix garbled Chinese paste text (#3929)
- Fix cmux frontmost state without keyboard focus (#3907)
- Reject unsupported durable Claude cron requests (#3905)
- Use absolute remote path for cmuxd-remote scp upload (#3880) -- thanks @bcb225 for the report!
- Fix browser Return beep during sign-in (#3843)
- Honor focusPaneOnFirstClick for minimal-mode chrome and workspace sidebar (#3881) -- thanks @rursache for the report!
- Preserve window position across sleep/wake with multiple monitors (#3882) -- thanks @al3kaz for the report!
- Fix terminal TUI background seam (#3903)
- Pass Claude subcommands through the cmux wrapper (#3871) -- thanks @abdelibrahim-hh for the report!
- Open bare
window.open(_blank)without features as a tab instead of a popup (#3245) -- thanks @azu for the report! - Clear sidebar freeze after color/reorder so workspace rows keep updating (#3874) -- thanks @michaellopez for the report!
- Keep update pill polling current after the first update (#3833)
- Redraw cmux window on focus regain even when the cursor is over the sidebar resize handle (#3879) -- thanks @mikesmitty for the report!
- Fix Cloud VM SSH attach and baked tooling (#3786)
- Fix multi-image terminal drops (#3769)
- Cover right sidebar tool panel in search
- Skip unrestorable Claude startup sessions (#4079)
- Fix repeated assistant iMessage completions
- Sanitize Claude Agent View passthrough env
Thanks to 12 contributors!
- @abdelibrahim-hh
- @al3kaz
- @austinywang
- @azu
- @bcb225
- @comp615
- @lawrencecchen
- @michaellopez
- @mikesmitty
- @psh4607
- @rursache
- @tobi
[0.64.4] - 2026-05-11
Added
- Add
warnBeforeClosingTabclose-warning toggle to opt back into the close confirmation prompt (#2808) -- thanks @dandaka for the report! - Add
cmux browser cookies importCLI for bringing cookies into cmux browser panes (#3770) - Add guarded
cmux://sshdeep links that prompt before launching SSH (#3677) - Restore Vault Pi agent sessions across relaunch (#3582, #3636) -- thanks @garizs for the report!
- Add Hermes Agent hook support (#3585)
- Per-agent toggles for hiding Claude, Codex, OpenCode, Gemini, and Rovo Dev session restore (#3616)
- Add Insert Path and Insert Relative Path context menu items in the file explorer (#3620)
- Restore SSH workspace descriptors on relaunch (#3576)
- Follow SSH workspaces in the Files sidebar so the remote root replaces the local macOS path (#3721) -- thanks @Lots-ninety-nine for the report!
- Add Welcome sidebar toggle shortcuts (#3748)
Changed
- File drop routing now defaults to text with Shift used as the split override.
- Allow HTTP localhost subdomains in browser panes (#3764)
- Make browser find shortcuts respect remaps (#3728)
- Make Close Tab remaps own browser popup close (#3830)
- Alias top-level auth commands so
cmux signinandcmux signoutwork without theauthprefix.
Fixed
- Fix stale terminal foreground after theme switch leaving white-on-white text in running sessions (#3852)
- Fix managed defaults replay overriding user changes after every
cmux.jsonreload (#3847) - Preserve the Claude wrapper dev channel resume flag (#3752) -- thanks @Clean-Cole!
- Fix SSH browser loopback fetches reaching backends on second forwarded ports (#3820)
- Fix modified Backspace deleting more than one character when an omnibar inline completion is showing (#3842)
- Close Web Inspector before browser host teardown to prevent a UAF crash on pane close (#3835)
- Fix Files sidebar find result aggregation (#3818)
- Fix Escape dismissing the command palette (#3823)
- Resume Claude, Codex, and OpenCode sessions from the session's original cwd.
- Fix Close Other Tabs targeting all tabs in the pane right-click menu (#3628) -- thanks @flatsponge for the report!
- Clear surface notifications during pane teardown so workspace badges don't stay stuck (#3744)
- Fix folder proxy icon drag (#3804) -- thanks @lederniermagicien!
- Fix right sidebar shortcut defaults (#3784)
- Fix right sidebar titlebar double-click (#3750)
- Fix right sidebar Find typing lag (#3739)
- Route SSH image drops through the terminal text path.
- Fix terminal top-row click routing (#3720)
- Fix Mark Workspace as Unread enablement (#3727) -- thanks @mfn for the report!
- Fix Cmd-W to close Task Manager and auxiliary windows.
- Fix command palette arrow keys and no-match flash.
- Restore Zhuyin IME candidate marked-text handling (#3574) -- thanks @yuanganai for the report!
- Fix Task Manager CPU sampling (#3588)
- Fix Cmd+N window size after the last window closes (#3611) -- thanks @bigtruth for the report!
- Fix Match Terminal Background sidebar toggle snapping back on (#3635)
- Count cmux app RSS in Task Manager totals (#3587)
- Keep Settings layered above the main window (#3612)
- Forward Left/Right arrow keys to the browser surface (#3663) -- thanks @kimdane0115 for the report!
- Fix Rovo Dev transcript previews (#3666)
Thanks to 12 contributors!
- @austinywang
- @bigtruth
- @Clean-Cole
- @dandaka
- @flatsponge
- @garizs
- @kimdane0115
- @lawrencecchen
- @lederniermagicien
- @Lots-ninety-nine
- @mfn
- @yuanganai
[0.64.3] - 2026-05-05
Added
- Added Show in Finder to the workspace sidebar right-click menu.
cmux configCLI withcmux config doctorfor validatingcmux.jsonwithout a socket, pluscmux config path,cmux config docs, andcmux config reloadaliases (#3454)
Fixed
- Fix launch crash from off-main-thread CoreAnimation transactions when reapplying managed settings (#3598)
- Fix file preview drag-and-drop so Finder and sidebar drops route into the hovered pane and tab bar drops insert as preview tabs (#3539)
Thanks to 2 contributors!
[0.64.2] - 2026-05-05
Fixed
- Fix launch crash on v0.64.1 caused by the bundled CLI failing to load the Sentry framework (#3565) -- thanks @hyi1233 for the report!
- Keep SSH sessions alive when closing a pane (#3566) -- thanks @kylejcaron for the report!
- Restore sidebar scroller visibility to reflect real overflow state (#3570) -- thanks @ibagur for the report!
- Fix Finder image drops into Claude Code terminals (#3567) -- thanks @streeyt for the report!
- Open links in the Markdown panel via an explicit OpenURLAction (#3558) -- thanks @psh4607!
- Prevent recursive lock crash on cmd-clicked Markdown viewer route and stop dropping fragment/query URLs (#3559) -- thanks @psh4607! Reported by @addisonlynch.
- Stop the Claude wrapper from auto-adding bypass-permissions flags and preserve user-provided
ANTHROPIC_BASE_URLandANTHROPIC_AUTH_TOKENthrough terminal startup (#3564)
Thanks to 7 contributors!
[0.64.1] - 2026-05-05
Fixed
- Fix sidebar workspace close (×) button intermittently failing to appear on hover (#3546)
Thanks to 1 contributor!
[0.64.0] - 2026-05-05
Added
- Restore prior panes and resume Claude Code, Codex, OpenCode, Gemini, and Rovo Dev sessions across relaunch, including when you close the last window with the red X (#2936, #2978, #3259, #3419, #3429, #3487, #3528, #3530, #3535)
- Passkey, WebAuthn, and FIDO2 support in browser panes (#2660, #2727, #2905, #2908)
- Task Manager window and
cmux topCLI for window, workspace, pane, surface, and browser webview snapshots (#3290, #3471) - Finder-like file explorer sidebar with SSH support (#1963)
- File preview panels in the sidebar (#3139)
- Menu bar only mode (#3181)
- System-wide hotkey to show and hide cmux windows (#2389)
- Cursor and Gemini CLI agent integrations with
setup-hooks(#2717) - iMessage mode for agent prompts (#3252)
- Settings sidebar shell and unified config utility window with cmux, Ghostty, and synced tabs (#3024, #3244, #3400)
- Make
cmux.jsonthe canonical settings file with JSONC parsing and legacysettings.jsonfallback (#3409, #3424) - Configurable
cmux.jsonworkspace and tab bar plus-button actions (#3084, #3348) - Configurable surface tab bar font size (#2645)
- Configurable workspace recoloring actions, default-bound to Ctrl+Option+0 through Ctrl+Option+9 (#3327)
- Allow space as a bindable key, allow keyboard shortcuts to be unbound, and make reload and rename shortcuts context-aware (#3333, #3334, #3468)
- Inline recorder messages explaining shortcut rejections and offering localized Reassign for conflicts (#3035)
- Help menu with cmux docs nav, Skills, Agent Integrations submenu, and
skills.shinstall flow (#3402) - Find in directory shortcut (#3208)
- Move tabs into new workspaces (#3285)
- Hover tooltips on workspace and pane tabs (#3329)
- Command palette ID copy actions and copy ID context menu actions (#3183, #3247)
- Command palette actions for right sidebar modes (#3408)
- macOS clear glass background blur support (#3313)
- Focus-neutral split-off layout command (#3484)
--layoutparameter onworkspace.createfor programmatic split layouts (#2916) -- thanks @talldan!- Korean (ko) localization (#2885) -- thanks @say8425!
- Opt-in setting to open Cmd-clicked Markdown files in the cmux Markdown viewer (#2904) -- thanks @SeongJaeSong!
- cmux browser disable switch (#3256)
- Markdown and plain-text variants for docs pages plus
/llms.txtindex for agent consumption (#3410)
Changed
- Coalesce sidebar PR polling per-repo, drop checks fetch, and state-machine the probe queue to avoid GitHub rate limits (#2585, #2662)
- Speed up large terminal pastes by skipping eager HTML/RTF decoding when plain text is available (#3000)
- Use workspace color for selected sidebar rows and the left rail (#3038, #3082, #3310)
- Improve default light and dark theme fallback (#3123)
- Sidebar PR clickability defaults to on, with visibility split from clickability as a separate setting (#3273, #3492)
- Make hook notifications non-blocking (#3218)
- Clean up Claude session titles, render slash-command markup as readable titles, and skip meta caveats (#3211)
- Apply sidebar background to right panel and consolidate sidebar settings (#3103, #3400)
- Improve settings search aliases with localized variants (#3294, #3296)
- Disable right sidebar horizontal scroll (#3202)
- Optimize surface config reload (#3480)
- Auto-hide terminal scroll bar with disable setting on TUI alt-screen (#2678, #2729)
- Show Codex TUI errors in the sidebar (#3212)
- Keep Cmd-Shift-N windows on the source display (#3214)
- Select find text on repeated Cmd+F (#3314)
- Disable Claude OSC notifications in the cmux wrapper and gate Claude OSC suppression on integration setting (#3418, #3474)
- Namespace agent hook CLI commands (#3298)
Fixed
- Fix shell integration not injected when Ghostty
ZDOTDIRoverrides the wrapper (#2778) -- thanks @michaeljauk! - Allow symlinked Ghostty config files (#2813) -- thanks @ivanrvpereira!
- Fix paste only pasting first character (#2847) -- thanks @dezren39!
- Prefer UTF-8 plain text in the pasteboard to avoid Mac OS Roman character loss (#2877) -- thanks @dasanworld!
- Fix blank split panes after portal reveal (#2840) -- thanks @jaynora2026!
- Fix workspace color picker context menu blinking (#2566)
- Hide stale startup workspace portals during teardown (#2658)
- Fix AX window polling stalls with app hierarchy caching (#2986)
- Fix close confirmation bypass when spamming close (#2989)
- Fix multi-workspace close confirmation modality (#3153)
- Fix Cmd/Ctrl shortcut hint parity (#2994)
- Cancel drag on Escape (#3013)
- Pin regular-weight Japanese auto-fallback face (#3015)
- Fix 100% CPU from ContentView publisher feedback loop (#3028)
- Fix
DebugEventLogNSFileHandleObjC exception crash (#3034) - Fix main-thread blocking in workspace PR refresh (#3036)
- Fix terminal blanking after OSC completion notifications (#3048)
- Fix blank terminal after workspace selection (#3012)
- Fix minimal-mode traffic-light inset, new-window Bonsplit tab bar, window routing, portal hit testing, drag pass-through, and pane tab rendering (#3055, #3150, #3194, #3399)
- Drop stale merged PRs from the sidebar badge selection (#3063)
- Fix transparent titlebar backdrop matching and sidebar tint backdrop ownership (#3179, #3382)
- Fix feedback editor scrolling (#3182)
- Fix bare
window.open(_blank)routing in browser panes (#3262) - Fix non-ASCII Cmd+V paste when rich clipboard payloads are lossy (#3268)
- Fix locale separators in sidebar identifiers (#3269)
- Deduplicate numpad input across IME full-to-half-width transition (#3292)
- Follow up equalize splits shortcut fixes (#3309)
- Make find escape behavior consistent (#3330)
- Fix unbound Cmd+Shift forwarding to terminal (#3332)
- Make Ctrl+P command palette navigation remappable and Cmd+D new-tab shortcut rebindable (#3335, #3338, #3398)
- Prevent shortcut recorder keys from navigating Settings (#3377)
- Preserve context-separated shortcuts through recorder swaps (#3489)
- Fix browser tab drag to new workspace, drops into sidebar workspaces, and terminal portal tab drop routing (#3299, #3381, #3430)
- Fix Cmd+Shift+Enter pane zoom for browser panes (#3520)
- Fix terminal focus after browser split (#3460)
- Fix shortcut settings dispatch_once launch crash and settings-file launch crash paths (#3455, #3476)
- Fix editable shortcuts from
settings.json(#3462) - Fix live theme picker application, launch theme before app appearance exists, and cmux theme picker Enter from search (#3221, #3378, #3431, #3479)
- Clamp Settings window away from display edge (#3436)
- Fix SSH
LocalCommandincompatibility with Fish shell (#3506, #3534) - Fix OMX HUD bottom pane placement (#3516)
- Fix inherited Claude auth env in cmux terminals (#3519)
- Fix config window to open active cmux Ghostty config (#3525)
- Fix notification dismissal with stale app focus (#3532)
- Persist app icon mode on the app bundle (#2884)
- Fix appIcon=automatic crash on macOS Tahoe (#2833)
- Fix terminal selection autoscroll past viewport edge (#2725)
- Fix command-hold shortcut hints and prevent sidebar truncation (#2767)
- Fix Raycast paste fallback regression (#2768)
- Fix Cmd+Shift+V paste in browser pane (#2779)
- Fix up/down arrow keys in browser surface (#2780)
- Fix Cmd+click file path punctuation trimming (#2831)
- Fix bilibili search popup opening detached window (#2836)
- Fix macOS modifier desync causing idle terminal input corruption (#2855)
- Fix scrollback-limit byte handling (#2927)
- Fix LinkedIn external-link redirect handoff in browser pane (#2930)
- Fix OpenCode bracketed paste fallback in terminal (#2971)
- Fix startup hang from repeated file drop overlay install (#2972)
- Fix
cmux.jsonnamed workspace colors (#3149) - Keep selected workspace visible in the sidebar (#3152)
- Hide portals for unmounted workspaces (#3155)
- Fix Bonsplit tab bar height and selected tab separator (#3331, #3351)
- Fix browser omnibar typing lag with many workspaces (#3422)
- Fix nightly codesigning for nested bundles, Sparkle executables, and dock tile plugin (#2676, #2677, #2679, #2680)
Thanks to 10 contributors!
- @austinywang
- @dasanworld
- @dezren39
- @ivanrvpereira
- @jaynora2026
- @lawrencecchen
- @michaeljauk
- @say8425
- @SeongJaeSong
- @talldan
[0.63.2] - 2026-04-06
Added
- Support chorded keyboard shortcuts (#2528)
- Detect listening ports for remote SSH workspaces (#2398)
- Editable workspace descriptions (#2475)
- Claude Binary Path setting (#2514)
cmux omxandcmux omcagent integrations (#2619)- "Open Folder in VS Code (Inline)" menu item and command palette entry (#2409)
- New Window entry in the Dock menu (#2340)
- Reset-terminal workaround in the terminal menu (#2349)
- React Grab inject button in the browser toolbar (#2373)
- Hover background on split action buttons (#2271)
- Cmd-click fallback for bare filenames in
lsoutput (#2294) - Localized tab context menu and alert strings (#2422)
Changed
- Relicense cmux from AGPL-3.0 to GPL-3.0 (#2364)
- Update bundled Ghostty fork to latest upstream (#2379)
- Sidebar PR lookups are now event-driven to reduce GitHub API load (#2453)
- Keep the latest sidebar notification until it is explicitly cleared (#2623)
- Switch the nightly Sparkle appcast feed to R2 (#2335, #2363, #2366)
Fixed
- Fix terminals freezing when the first responder drifts off the focused surface (#2505)
- Fix sidebar layout loop and CLI socket deadlocks (#2601)
- Fix sidebar LazyVStack layout loop in the workspace list (#2328)
- Fix focus reporting leak on pane creation (#2511)
- Fix browser pane flicker during multi-split resize (#2574)
- Fix browser panel resize flicker during split drag (#2513)
- Fix browser pane hangs from redundant portal refreshes (#2353)
- Fix browser pane dark-mode leak on light pages (#2346)
- Fix DevTools pane breaking after workspace switch round-trips (#2621)
- Fix sidebar background: add missing locale entries and portal resync on toggle (#2622)
- Fix session restore suppression on relaunch (#2469)
- Fix session restore terminal cursor focus race (#2471)
- Fix terminal focus and surface recovery after layout changes (#2354)
- Fix missing sidebar ports for agent-run dev servers (#2562)
- Fix missing sidebar git branch metadata for workspaces (#2563)
- Fix sidebar live refresh for branch and PR state (#2331)
- Fix duplicate sidebar git metadata publishes (#2405)
- Fix SSH password-auth bootstrap race (#2564)
- Fix remote proxy notification spam with cooldown, backoff, and SSH keepalive (#2330)
- Fix tmux-compat
split-windowsurface resolution (#2351) - Fix
new-splitfalling back to the focused surface when the target is stale (#2518) — thanks @anusheel! - Fix CLI commands briefly stealing focus (#2464)
- Fix paste from Raycast and other apps using alternate plain-text UTIs (#2467)
- Fix stray
Cinsertion from Speakly dictation (#2413) - Fix Korean IME jamo leak during composition (#2529)
- Stop swallowing
/and?on ABC-QWERTZ keyboard layouts (#2447) - Keep prompt colors when zsh switches local
TERMtoxterm-256color(#2613) - Ensure shell integrations always dispatch
claudethrough the bundled wrapper (#2465) - Fix shell integration review regressions (#2466)
- Fix React Grab Cmd+Shift+G terminal round-trip (#2615)
- Suppress cmd-hover path highlighting while terminal selection is active (#2579)
- Keep cmux browser Find shortcuts authoritative over page handlers (#2356)
- Fix minimal-mode tab bar disappearing in fullscreen (#2375)
- Fix transparent background flash during sidebar toggle (#2378)
- Fix macOS 26 glass window gating (#2468)
- Fix fullscreen new windows opening in the current Space (#2345)
- Fix Dock persistence for manual app icons (#2360)
- Fix update error details dialog overflow (#2359)
- Fix Ctrl+K reaching the command palette text editor (#2394)
- Keep Cmd+P stable during animated workspace title updates (#2393)
- Fix Cmd+P workspace retention for the main CI workspace (#2412)
- Coalesce portal sync to latest geometry to fix browser overlay drift (#2214)
- Fix
claude_vm_nodeOOM behavior and hook payload retention (#2462) - Fix GitHub star badge
kformatting (#2473) - Keep GitHub stars badge stable across navigation (#2476)
- Fix web header overlap (#2452)
Thanks to 3 contributors!
[0.63.1] - 2026-03-28
Fixed
- Fix crash on startup after upgrading from older versions due to stale window geometry data (#2306)
- Fix re-entrant
displayIfNeededcrash during layout follow-up from SwiftUI geometry changes (#2305) — thanks @KyleJamesWalker! - Fix macOS compatibility with versioned geometry persistence to prevent future upgrade crashes (#2308)
Thanks to 2 contributors!
[0.63.0] - 2026-03-28
Added
- Browser profile import — cookies, history, and settings from Chrome, Firefox, Safari, and more (#318, #1582, #1593)
- Support
window.open()popup windows in browser panes with shared OAuth context (#1150, #1600) - Minimal mode — hide the titlebar for a distraction-free terminal (#1479, #2218)
cmux.jsoncustom commands — define project-specific actions launched from the command palette (#2011, #2122)cmux omocommand for oh-my-openagent integration (#2087, #2230, #2280)- Codex CLI hooks integration for terminal notifications (#2103)
- Customizable number shortcuts for workspace switching (#1951)
- Customizable sidebar selection highlight color (#1824)
- Match Terminal Background sidebar color setting (#2293)
- Optional single-click focus for inactive split panes (#1796)
- Support image drag-and-drop into SSH terminals (#1838)
- Support dropping folders onto the dock icon to open as workspaces (#1571)
- Support modifier+key combinations in
send-keyCLI — ctrl+enter, shift+tab, arrow keys, home/end/delete/pageup/pagedown (#1994, #1920) --nameflag fornew-workspaceCLI command (#2160)--no-focusflag forcmux ssh(#2227)--directionflag for markdown open command (#1763)- Per-surface TTY exposed in
cmux treeoutput (#2040) set-color/clear-colorworkspace actions for tab color via CLI (#1873, #1833)- IntelliJ IDEA added to command palette Open Directory targets (#1860)
- Open a new terminal tab from empty tab bar double-click (#1601)
- Double-click custom titlebar to zoom or minimize (#2130)
- Confirm before closing pinned workspaces (#1895)
- Show tab name in close tab confirmation dialog (#1845)
- Sidebar listening ports are now clickable to open in browser (#1844)
- Ukrainian (uk) localization (#2226)
- Hidden CLI command for live terminal debugging (#1599)
rcandremote-controladded to command passthrough (#1539)- Export
CMUX_SOCKETalongsideCMUX_SOCKET_PATHin terminal env (#1991) - Dual licensing — AGPL + commercial (#2021)
- Universal binary (arm64 + x86_64) for stable releases (#2287)
- Add claude-teams, omo, and __tmux-compat to Go relay CLI for SSH sessions (#2238)
- Warn Before Quit enforced when Cmd+Q arrives via app switcher (#2186)
Changed
- Show update-available banner automatically on launch (#1651, #1543, #1575)
- Restore Sparkle scheduled update checks (#1597)
- New window inherits size from current window (#2124)
- Restore last-surface close preference toggle (#1679)
- Rename "Import From Browser" to "Import Browser Data" (#1672)
- Make founders email selectable in feedback success view (#1733)
- Include hardware details in feedback submissions (#1726)
- Coalesce scrollbar updates during bulk output for improved performance (#2116)
- Reduce shell integration prompt latency (#2109)
- Skip quit confirmation for tagged DEV builds (#2288)
- Use dedicated setting for sidebar port link browser preference (#2219)
- Skip sidebar PR lookup on main/master branches (#2110)
- Stabilize sidebar directory ordering when split focus changes (#1798)
- Improve tmux notification attention routing (#1898)
Fixed
- Fix Cmd+N workspace creation crashes caused by stale snapshots, ARC hotpaths, and restore-time races (#2204, #2183, #2181, #2178, #2176, #2173, #2133, #2023, #1985, #1930)
- Fix ARC workspace inheritance crash and native Zig helper builds (#2283)
- Fix
EXC_BAD_ACCESScaused by over-releasing Ghostty font (#1496) - Fix terminal black screen on macOS 26.3.1 by dispatching Ghostty callbacks to main thread (#1937)
- Fix blank terminal renders after workspace switches (#1964)
- Fix stale terminal portal after restore churn (#2025)
- Fix floating portal terminal after nightly update relaunch (#1696)
- Fix terminal portal resync after restore-time bind (#1973)
- Fix terminal find overlay crash and focus handoff (#1487)
- Fix split transparency regression (#1568)
- Apply
background-opacityandbackground-blurto terminal rendering area (#1858) - Fix keyboard shortcuts not working with CJK input sources (Korean, Japanese, Russian) (#1649, #1913, #2202)
- Skip CJK fallback font injection when font-family already covers glyphs (#2241)
- Skip Korean from CJK font-codepoint-map auto-injection (#1700)
- Fix Japanese IME confirmation Enter from executing command prematurely (#2075, #1671)
- Fix Korean IME Enter handling on composition path in browser panes (#2108)
- Fix AZERTY Option+Delete word delete in Claude Code (#1640)
- Fix Escape key not working in terminal panels (e.g., lazygit) (#1957)
- Fix unbound Cmd+Shift+key combos being silently swallowed (#1959)
- Fix Cmd+W closing terminal tabs instead of About/Licenses windows (#1473)
- Fix Cmd+O opening Documents folder — handle in custom shortcut handler (#2034)
- Consume Cmd+number shortcuts when workspace index is out of bounds (#2033)
- Fix arrow key glyph matching in customizable shortcuts (#1443)
- Fix cursor movement on double-click selection (#1709)
- Fix doomscroll when reviewing scrollback (#1616)
- Fix browser panes rendering blank after reopen (#2141)
- Fix browser portal leaking to other tabs on Bonsplit tab switch (#2000)
- Fix browser freeze after pane split (#1852)
- Fix browser pane video fullscreen (#1921)
- Fix browser image copy pasteboard data (#1850)
- Fix browser pane file drops hanging on "Uploading" (#1843)
- Fix browser back navigation history handoff (#1897)
- Fix browser devtools X-close persistence (#1627)
- Fix browser PR metadata deadlock and BrowserPanelView hot paths (#1564)
- Fix Cloudflare/CAPTCHA verification failures in browser panel (#1877)
- Fix Google sign-in infinite loading in browser pane (#1493)
- Fix native value setter for React compatibility in browser panes (#2059)
- Fix sidebar badges not refreshing on workspace state change (#2046)
- Fix sidebar PR badge detection for workspace branches and restored workspaces (#1896, #1570, #1636)
- Fix sidebar notification persisting after being read (#1933)
- Fix premature workspace title truncation in sidebar (#1859)
- Fix pinned workspace ordering — keep pinned workspaces above pin boundary (#1503, #1505)
- Fix command palette ordering for "check" query (#1740)
- Fix command palette focus after terminal find (#2089)
- Fix missing command palette open-in targets (#1621)
- Fix all split panes appearing focused after layout restoration (#2088)
- Fix panel resize stuttering when tiled with browser panels (#1969)
- Fix splitter hitbox overlap and terminal scrollbar width resync (#1950)
- Increase content side hit width to prevent accidental window resize (#2018)
- Fix window position restore on relaunch (#2129)
- Fix dock icon not auto-switching with system dark mode (#1928, #1510)
- Align titlebar icons with traffic-light buttons (#1754)
- Fix focused notification sound playback (#1855)
- Fix laggy terminal sync during sidebar drags (#1598)
- Fix spinner hang after display resolution changes (#1549)
- Fix workspace layout follow-up spin loop (#1633)
- Fix Ghostty
resize_splitkeybind support (#1899) - Fix update attempt refreshing pill without actually updating (#2168, #2142, #2117)
- Fix SSH control master cleanup on remote teardown (#2104)
- Fix SSH cleanup after moving the last remote surface (#2123)
- Fix SSH image transfer cleanup and IPv6 followups (#1907, #1904)
- Fix SSH remote CLI wrapper and proxy follow-ups (#1596)
- Fix nightly SSH remote daemon checksum mismatch (#2225)
- Fix cmux ssh notify surface targeting (#1799)
- Fix tmux compat store decoding, layout cleanup, and cross-workspace fallback (#2207)
- Fix claude-teams pane anchoring with main-vertical layout (#2119)
- Fix claude-hook stop teardown races (#1954)
- Fix Claude Code hooks config to match actual schema (#1388)
- Handle TabManager unavailable in SessionEnd/Start hooks (#1735)
- Fix blocking sleep in preexec hook causing command lag (#1444)
- Fix redundant focus events causing Powerlevel10k redraws (#1579)
- Fix identical session autosave writes (#1732)
- Fix locale page crashes under Google Translate (#1956)
- Fix About Panel newline escaping (#1298)
- Fix remote sidebar directory canonicalization to preserve live paths (#1800)
- Fix AppleScript
count windowsreturning 0 andworking directoryreturning empty (#1826) - Fix PWD action routing to correct TabManager per tabId (#2147)
- Fix socket returning wrong error when surface_id is provided but unresolvable (#2150)
- Guard inherited terminal config against stale surfaces (#2101)
- Suppress socat stdout in
_cmux_sendto prevent "OK" leak (#1619) - Add
-rshorthand to skip session ID check in Claude wrapper (#1992) - Check git repo before running git commands to prevent TCC permission prompts (#1677)
- Preserve explicit wheel scrollback against passive follow (#1965)
- Fix terminal pane drag/drop handoff delay (#1837)
Removed
- Remove restricted web-browser entitlement (#1727)
[0.62.2] - 2026-03-14
Added
- Configurable sidebar tint color with separate light/dark mode support via Settings and config file (
sidebar-background,sidebar-tint-opacity) (#1465) - Cmd+P all-surfaces search option (#1382)
cmux themescommand with bundled Ghostty themes (#1334, #1314)- Sidebar can now shrink to smaller widths (#1420)
- Menu bar visibility setting (#1330)
Changed
- CLI Sentry events are now tagged with the app release (#1408)
- Stable socket listener now falls back to a user-scoped path, and repeated startup failures are throttled (#1351, #1415)
Fixed
- Command palette command-mode shortcut, navigation, and omnibar backspace or arrow-key regressions (#1417, #1413)
- Stale Claude sidebar status from missing hooks, OSC suppression, and PID cleanup (#1306)
- Split cwd inheritance when the shell cwd is stale (#1403)
- Crashes when creating a new workspace and when inserting a workspace into an orphaned window context (#1391, #1380)
- Cmd+W close behavior and close-confirmation shell-state regressions (#1395, #1386)
- macOS dictation NSTextInputClient conformance and terminal image-paste fallbacks (#1410, #1305, #1361, #1358)
- VS Code command palette target resolution, Ghostty Pure prompt redraws, and internal drag regressions (#1389, #1363, #1316, #1379)
[0.62.1] - 2026-03-13
Added
- Cmd+T (New tab) shortcut on the welcome screen (#1258)
Fixed
- Cmd+backtick window cycling skipping windows
- Titlebar shortcut hint clipping (#1259)
- Terminal portals desyncing after sidebar changes (#1253)
- Background terminal focus retries reordering windows
- Pure-style multiline prompt redraws in Ghostty
- Return key not working on Cmd+Ctrl+W close confirmation (#1279)
- Concurrent remote daemon RPC calls timing out (#1281)
Removed
- SSH remote port proxying (reverted, will return in a future release)
[0.62.0] - 2026-03-12
Added
- Markdown viewer panel with live file watching (#883)
- Find-in-page (Cmd+F) for browser panels (#837, #875)
- Keyboard copy mode for terminal scrollback with vi-style navigation (#792)
- Custom notification sounds with file picker support (#839, #869)
- Browser camera and microphone permission support (#760, #913)
- Language setting for per-app locale override (#886)
- Japanese localization (#819)
- 16 new languages added to localization (#895)
- Kagi as a search provider option (#561)
- Open Folder command (Cmd+O) (#656)
- Dark mode app icon for macOS Sequoia (#702)
- Close other pane tabs with confirmation (#475)
- Flash Focused Panel command palette action (#638)
- Zoom/maximize focused pane in splits (#634)
cmux treecommand for full CLI hierarchy view (#592)- Install or uninstall the
cmuxCLI from the command palette (#626) - Clipboard image paste in terminal with Cmd+V (#562, #853)
- Middle-click X11-style selection paste in terminal (#369)
- Honor Ghostty
background-opacityacross all cmux chrome (#667) - Setting to hide Cmd-hold shortcut hints (#765)
- Focus-follows-mouse on terminal hover (#519)
- Sidebar help menu in the footer (#958)
- External URL bypass rules for the embedded browser (#768)
- Telemetry opt-out setting (#610)
- Browser automation docs page (#622)
- Vim mode indicator badge on terminal panes (#1092)
- Sidebar workspace color in CLI sidebar_state output (#1101)
- Prompt before closing window with Cmd+Ctrl+W (#1219)
- Jump to Latest button in notifications popover (#1167)
- Khmer localization (#1198)
- cmux claude-teams launcher (#1179)
Changed
- Command palette search is now async and decoupled from typing for reduced lag
- Fuzzy matching improved with single-edit and omitted-character word matches
- Replaced keychain password storage with file-based storage (#576)
- Fullscreen shortcut changed to Cmd+Ctrl+F, and Cmd+Enter also toggles fullscreen (#530)
- Workspace rename shortcut Cmd+Shift+R now uses the command palette flow
- Renamed tab color to workspace color in user-facing strings (#637)
- Feedback recipient changed to
[email protected](#1007) - Regenerated app icons from Icon Composer (#1005)
- Moved update logs into the Debug menu (#1008)
- Updated Ghostty to v1.3.0 (#1142)
- Welcome screen colors adapted for light mode (#1214)
- Notification sound picker width constrained (#1168)
Fixed
- Frozen blank launch from session restore race condition (#399, #565)
- Crash on launch from an exclusive access violation in drag-handle hit testing (#490)
- Use-after-free in
ghostty_surface_refreshafter sleep/wake (#432, #619) - Startup SIGSEGV by pre-warming locale before
SentrySDK.start(#927) - IME issues: Shift+Space toggle inserting a space (#641, #670), Ctrl fast path blocking IME events, browser address bar Japanese IME (#789, #867), and Cmd shortcuts during IME composition
- CLI socket autodiscovery for tagged sockets (#832)
- Flaky CLI socket listener recovery (#952, #954)
- Side-docked dev tools resize (#712)
- Dvorak Cmd+C colliding with the notifications shortcut (#762)
- Terminal drag hover overlay flicker
- Titlebar controls clipped at the bottom edge (#1016)
- Sidebar git branch recovery after sleep/wake and agent checkout (#494, #671, #905)
- Browser portal routing, uploads, and click focus regressions (#908, #961)
- Notification unread persistence on workspace focus
- Escape propagation when the command palette is visible (#847)
- Cmd+Shift+Enter pane zoom regression in browser focus (#826)
- Cross-window theme background after jump-to-unread (#861)
window.open()andtarget=_blanknot opening in a new tab (#693)- Terminal wrap width for the overlay scrollbar (#522)
- Orphaned child processes when closing workspace tabs (#889)
- Cmd+F Escape passthrough into terminal (#918)
- Terminal link opens staying in the source workspace (#912)
- Ghost terminal surface rebind after close (#808)
- Cmd+plus zoom handling on non-US keyboard layouts (#680)
- Menubar icon invisible in light mode (#741)
- Various drag-handle crash fixes and reentrancy guards
- Background workspace git metadata refresh after external checkout
- Markdown panel text click focus (#991)
- Browser Cmd+F overlay clipping in portal mode (#916)
- Voice dictation text insertion (#857)
- Browser panel lifecycle after WebContent process termination (#892)
- Typing lag reduction by hiding invisible views from the accessibility tree (#862)
- CJK font fallback preventing decorative font rendering for CJK characters (#1017)
- Inline VS Code serve-web token exposure via argv (#1033)
- Browser pane portal anchor sizing (#1094)
- Pinned workspace notification reordering (#1116)
- cmux --version memory blowup (#1121)
- Notification ring dismissal on direct terminal clicks (#1126)
- Browser portal visibility when terminal tab is active (#1130)
- Browser panes reloading when switching workspaces (#1136)
- Sidebar PR badge detection (#1139)
- Browser address bar disappearing during pane zoom (#1145)
- Ghost terminal surface focus after split close (#1148)
- Browser DevTools resize loop and layout stability (#1170, #1173, #1189)
- Typing lag from sidebar re-evaluation and hitTest overhead (#1204)
- Browser pane stale content after drag splits (#1215)
- Terminal drop overlay misplacement during drag hover (#1213)
- Hidden browser slot inspector focus crash (#1211)
- Browser devtools hide fallback (#1220)
- Browser portal refresh on geometry churn (#1224)
- Browser tab switch triggering unnecessary reload (#1228)
- Devtools side dock guard for attached devtools (#1230)
Thanks to 24 contributors!
- @0xble
- @afxjzs
- @AI-per
- @atani
- @atmigtnca
- @austinywang
- @cheulyop
- @ConnorCallison
- @gonzaloserrano
- @harukitosa
- @homanp
- @JLeeChan
- @josemasri
- @lawrencecchen
- @novarii
- @orkhanrz
- @qianwan
- @rjwittams
- @sminamot
- @tmcarr
- @trydis
- @ukoasis
- @y-agatsuma
- @yasunogithub
[0.61.0] - 2026-02-25
Added
- Command palette (Cmd+Shift+P) with update actions and all-window switcher results (#358, #361)
- Split actions and shortcut hints in terminal context menus
- Cross-window tab and workspace move UI with improved destination focus behavior
- Sidebar pull request metadata rows and workspace PR open actions
- Workspace color schemes and left-rail workspace indicator settings (#324, #329, #332)
- URL open-wrapper routing into the embedded browser (#332)
- Cmd+Q quit warning with suppression toggle (#295)
cmux --versionoutput now includes commit metadata
Changed
- Added light mode and unified theme refresh across app surfaces (#258) — thanks @ijpatricio for the report!
- Browser link middle-click handling now uses native WebKit behavior (#416)
- Settings-window actions now route through a single command-palette/settings flow
- Sentry upgraded with tracing, breadcrumbs, and dSYM upload support (#366)
- Session restore scope clarification: cmux restores layout, working directory, scrollback, and browser history, but does not resume live terminal process state yet
Fixed
- Startup split hang when pressing Cmd+D then Ctrl+D early after launch (#364)
- Browser focus handoff and click-to-focus regressions in mixed terminal/browser workspaces (#381, #355)
- Caps Lock handling in browser omnibar keyboard paths (#382)
- Embedded browser deeplink URL scheme handling (#392)
- Sidebar resize cap regression (#393)
- Terminal zoom inheritance for new splits, surfaces, and workspaces (#384)
- Terminal find overlay layering across split and portal-hosted layouts
- Titlebar drag and double-click zoom handling on browser-side panes
- Stale browser favicon and window-title updates after navigation
Thanks to 7 contributors!
[0.60.0] - 2026-02-21
Added
- Tab context menu with rename, close, unread, and workspace actions (#225)
- Cmd+Shift+T reopens closed browser panels (#253)
- Vertical sidebar branch layout setting showing git branch and directory per pane
- JavaScript alert/confirm/prompt dialogs in browser panel (#237)
- File drag-and-drop and file input in browser panel (#214)
- tmux-compatible command set with matrix tests (#221)
- Pane resize divider control via CLI (#223)
- Production read-screen capture APIs (#219)
- Notification rings on terminal panes (#132)
- Claude Code integration enabled by default (#247)
- HTTP host allowlist for embedded browser with save and proceed flow (#206, #203)
- Setting to disable workspace auto-reorder on notification (#215)
- Browser panel mouse back/forward buttons and middle-click close (#139)
- Browser DevTools shortcut wiring and persistence (#117)
- CJK IME input support for Korean, Chinese, and Japanese (#125)
--helpflag on CLI subcommands (#128)--commandflag fornew-workspaceCLI command (#121)rename-tabsocket command (#260)- Remap-aware bonsplit tooltips and browser split shortcuts (#200)
Fixed
- IME preedit anchor sizing (#266)
- Cmd+Shift+T focus against deferred stale callbacks (#267)
- Unknown Bonsplit tab context actions causing crash (#264)
- Socket CLI commands stealing macOS app focus (#260)
- CLI unix socket lag from main-thread blocking (#259)
- Main-thread notification cascade causing hangs (#232)
- Favicon out-of-sync during back/forward navigation (#233)
- Stale sidebar git branch after closing a split
- Browser download UX and crash path (#235)
- Browser reopen focus across workspace switches (#257)
- Mark Tab as Unread no-op on focused tab (#249)
- Split dividers disappearing in tiny panes (#250)
- Flaky browser download activity accounting (#246)
- Drag overlay routing and terminal overlay regressions (#218)
- Initial bonsplit split animation flicker
- Window top inset on new window creation (#224)
- Cmd+Enter being routed as browser reload (#213)
- Child-exit close for last-terminal workspaces (#254)
- Sidebar resizer hitbox and cursor across portals (#255)
- Workspace-scoped tab action resolution
- IDN host allowlist normalization
setup.shcache rebuild and stale lock timeout (#217)- Inconsistent Tab/Workspace terminology in settings and menus (#187)
Changed
- CLI workspace commands now run off the main thread for better responsiveness (#270)
- Remove border below titlebar (#242)
- Slimmer browser omnibar with button hover/press states (#271)
- Browser under-page background refreshes on theme updates (#272)
- Command shortcut hints scoped to active window (#226)
- Nightly and release assets are now immutable (no accidental overwrite) (#268, #269)
[0.59.0] - 2026-02-19
Fixed
- Fix panel resize hitbox being too narrow and stale portal frame after panel resize
[0.58.0] - 2026-02-19
Fixed
- Fix split blackout race condition and focus handoff when creating or closing splits
[0.57.0] - 2026-02-19
Added
- Terminal panes now show an animated drop overlay when dragging tabs
Fixed
- Fix blue hover not showing when dragging tabs onto terminal panes
- Fix stale drag overlay blocking clicks after tab drag ends
[0.56.0] - 2026-02-19
No user-facing changes.
[0.55.0] - 2026-02-19
Changed
- Move port scanning from shell to app-side with batching for faster startup
Fixed
- Fix visual stretch when closing split panes
- Fix omnibar Cmd+L focus races
[0.54.0] - 2026-02-18
Fixed
- Fix browser omnibar Cmd+L causing 100% CPU from infinite focus loop
[0.53.0] - 2026-02-18
Changed
- CLI commands are now workspace-relative: commands use
CMUX_WORKSPACE_IDenvironment variable so background agents target their own workspace instead of the user's focused workspace - Remove all index-based CLI APIs in favor of short ID refs (
surface:1,pane:2,workspace:3) - CLI
sendandsend-keysupport--workspaceand--surfaceflags for explicit targeting - CLI escape sequences (
\n,\r,\t) insendpayloads are now handled correctly --id-formatflag is respected in text output for all list commands
Fixed
- Fix background agents sending input to the wrong workspace
- Fix
close-surfacerejecting cross-workspace surface refs - Fix malformed surface/pane/workspace/window handles passing through without error
- Fix
--windowflag being overridden byCMUX_WORKSPACE_IDenvironment variable
[0.52.0] - 2026-02-18
Changed
- Faster workspace switching with reduced rendering churn
Fixed
- Fix Finder file drop not reaching portal-hosted terminals
- Fix unfocused pane dimming not showing for portal-hosted terminals
- Fix terminal hit-testing and visual glitches during workspace teardown
[0.51.0] - 2026-02-18
Fixed
- Fix menubar and right-click lag on M1 Macs in release builds
- Fix browser panel opening new tabs on link click
[0.50.0] - 2026-02-18
Fixed
- Fix crashes and fatal error when dropping files from Finder
- Fix zsh git branch display not refreshing after changing directories
- Fix menubar and right-click lag on M1 Macs
[0.49.0] - 2026-02-18
Fixed
- Fix crash (stack overflow) when clicking after a Finder file drag
- Fix titlebar folder icon briefly enlarging on workspace switch
[0.48.0] - 2026-02-18
Fixed
- Fix right-click context menu lag in notarized builds by adding missing hardened runtime entitlements
- Fix claude shim conflicting with
--resume,--continue, and--session-idflags
[0.47.0] - 2026-02-18
Fixed
- Fix sidebar tab drag-and-drop reordering not working
[0.46.0] - 2026-02-18
Fixed
- Fix broken mouse click forwarding in terminal views
[0.45.0] - 2026-02-18
Changed
- Rebuild with Xcode 26.2 and macOS 26.2 SDK
[0.44.0] - 2026-02-18
Fixed
- Crash caused by infinite recursion when clicking in terminal (FileDropOverlayView mouse event forwarding)
[0.38.1] - 2026-02-18
Fixed
- Right-click and menubar lag in production builds (rebuilt with macOS 26.2 SDK)
[0.38.0] - 2026-02-18
Added
- Double-clicking the sidebar title-bar area now zooms/maximizes the window
Fixed
- Browser omnibar
Cmd+Lnow reliably refreshes/selects-all and supports immediate typing without stale inline text - Omnibar inline completion no longer replaces typed prefixes with mismatched suggestion text
[0.37.0] - 2026-02-17
Added
- "+" button on the tab bar for quickly creating new terminal or browser tabs
[0.36.0] - 2026-02-17
Fixed
- App hang when omnibar safety timeout failed to fire (blocked main thread)
- Tab drag/drop not working when multiple workspaces exist
- Clicking in browser WebView not focusing the browser tab
[0.35.0] - 2026-02-17
Fixed
- App hang when clicking browser omnibar (NSTextView tracking loop spinning forever)
- White flash when creating new browser panels
- Tab drag/drop broken when dragging over WebView panes
- Stale drag timeout cancelling new drags of the same tab
- 88% idle CPU from infinite makeFirstResponder loop
- Terminal keys (arrows, Ctrl+N/P) swallowed after opening browser
- Cmd+N swallowed by browser omnibar navigation
- Split focus stolen by re-entrant becomeFirstResponder during reparenting
[0.34.0] - 2026-02-16
Fixed
- Browser not loading localhost URLs correctly
[0.33.0] - 2026-02-16
Fixed
- Menubar and general UI lag in production builds
- Sidebar tabs getting extra left padding when update pill is visible
- Memory leak when middle-clicking to close tabs
[0.32.0] - 2026-02-16
Added
- Sidebar metadata: git branch, listening ports, log entries, progress bars, and status pills
Fixed
- localhost and 127.0.0.1 URLs not resolving correctly in the browser panel
Changed
browser opennow targets the caller's workspace by default via CMUX_WORKSPACE_ID
[0.31.0] - 2026-02-15
Added
- Arrow key navigation in browser omnibar suggestions
- Browser zoom shortcuts (Cmd+/-, Cmd+0 to reset)
- "Install Update and Relaunch" menu item when an update is available
Changed
- Open browser shortcut remapped from Cmd+Shift+B to Cmd+Shift+L
- Flash focused panel shortcut remapped from Cmd+Shift+L to Cmd+Shift+H
- Update pill now shows only in the sidebar footer
Fixed
- Omnibar inline completion showing partial domain (e.g. "news." instead of "news.ycombinator.com")
[0.30.0] - 2026-02-15
Fixed
- Update pill not appearing when sidebar is visible in Release builds
[0.29.0] - 2026-02-15
Added
- Cmd+click on links in the browser opens them in a new tab
- Right-click context menu shows "Open Link in New Tab" instead of "Open in New Window"
- Third-party licenses bundled in app with Licenses button in About window
- Update availability pill now visible in Release builds
Changed
- Cmd+[/] now triggers browser back/forward when a browser panel is focused (no-op on terminal)
- Reload configuration shortcut changed to Cmd+Shift+,
- Improved browser omnibar suggestions and focus behavior
[0.28.2] - 2026-02-14
Fixed
- Sparkle updates from
0.27.0could fail to detect newer releases because release build numbers were behind the latest published appcast build number - Release GitHub Action failed on repeat runs when
SUPublicEDKey/SUFeedURLalready existed inInfo.plist
[0.28.1] - 2026-02-14
Fixed
- Release build failure caused by debug-only helper symbols referenced in non-debug code paths
[0.28.0] - 2026-02-14
Added
- Optional nightly update channel in Settings (
Receive Nightly Builds) - Automated nightly build and publish workflow for
mainwhen new commits are available
Changed
- Settings and About windows now use the updated transparent titlebar styling and aligned controls
- Repository license changed to GNU AGPLv3
Fixed
- Terminal panes freezing after repeated split churn
- Finder service directory resolution now normalizes paths consistently
[0.27.0] - 2026-02-11
Fixed
- Muted traffic lights and toolbar items on macOS 14 (Sonoma) caused by
clipsToBoundsdefault change - Toolbar buttons (sidebar, notifications, new tab) disappearing after toggling sidebar with Cmd+B
- Update check pill not appearing in titlebar on macOS 14 (Sonoma)
[0.26.0] - 2026-02-11
Fixed
- Muted traffic lights and toolbar items in focused window caused by background blur in themeFrame
- Sidebar showing two different textures near the titlebar on older macOS versions
[0.25.0] - 2026-02-11
Fixed
- Blank terminal on macOS 26 (Tahoe) — two additional code paths were still clearing the window background, bypassing the initial fix
- Blank terminal on macOS 15 caused by background blur view covering terminal content
[0.24.0] - 2026-02-09
Changed
- Update bundle identifier to
com.cmuxterm.appfor consistency
[0.23.0] - 2026-02-09
Changed
- Rename app to cmux — new app name, socket paths, Homebrew tap, and CLI binary name (bundle ID remains
com.cmuxterm.appfor Sparkle update continuity) - Sidebar now shows tab status as text instead of colored dots, with instant git HEAD change detection
Fixed
- CLI
set-statuscommand not properly quoting values or routing--tabflag
[0.22.0] - 2026-02-09
Fixed
- Xcode and system environment variables (e.g. DYLD, LANGUAGE) leaking into terminal sessions
[0.21.0] - 2026-02-09
Fixed
- Zsh autosuggestions not working with shared history across terminal panes
[0.17.3] - 2025-02-05
Fixed
- Auto-update not working (Sparkle EdDSA signing was silently failing due to SUPublicEDKey missing from Info.plist)
[0.17.1] - 2025-02-05
Fixed
- Auto-update not working (Sparkle public key was missing from release builds)
[0.17.0] - 2025-02-05
Fixed
- Traffic lights (close/minimize/zoom) not showing on macOS 13-15
- Titlebar content overlapping traffic lights and toolbar buttons when sidebar is hidden
[0.16.0] - 2025-02-04
Added
- Sidebar blur effect with withinWindow blending for a polished look
--panelflag fornew-splitcommand to control split pane placement
[0.15.0] - 2025-01-30
Fixed
- Typing lag caused by redundant render loop
[0.14.0] - 2025-01-30
Added
- Setup script for initializing submodules and building dependencies
- Contributing guide for new contributors
Fixed
- Terminal focus when scrolling with mouse/trackpad
Changed
- Reload scripts are more robust with better error handling
[0.13.0] - 2025-01-29
Added
- Customizable keyboard shortcuts via Settings
Fixed
- Find panel focus and search alignment with Ghostty behavior
Changed
- Sentry environment now distinguishes between production and dev builds
[0.12.0] - 2025-01-29
Fixed
- Handle display scale changes when moving between monitors
Changed
- Fix SwiftPM cache handling for release builds
[0.11.0] - 2025-01-29
Added
- Notifications documentation for AI agent integrations
Changed
- App and tooling updates
[0.10.0] - 2025-01-29
Added
- Sentry SDK for crash reporting
- Documentation site with Fumadocs
- Homebrew installation support (
brew install --cask cmux) - Auto-update Homebrew cask on release
Fixed
- High CPU usage from notification system
- Release workflow SwiftPM cache issues
Changed
- New tabs now insert after current tab and inherit working directory
[0.9.0] - 2025-01-29
Changed
- Normalized window controls appearance
- Added confirmation panel when closing windows with active processes
[0.8.0] - 2025-01-29
Fixed
- Socket key input handling
- OSC 777 notification sequence support
Changed
- Customized About window
- Restricted titlebar accessories for cleaner appearance
[0.7.0] - 2025-01-29
Fixed
- Environment variable and terminfo packaging issues
- XDG defaults handling
[0.6.0] - 2025-01-28
Fixed
- Terminfo packaging for proper terminal compatibility
[0.5.0] - 2025-01-28
Added
- Sparkle updater cache handling
- Ghostty fork documentation
[0.4.0] - 2025-01-28
Added
- cmux CLI with socket control modes
- NSPopover-based notifications
Fixed
- Notarization and codesigning for embedded CLI
- Release workflow reliability
Changed
- Refined titlebar controls and variants
- Clear notifications on window close
[0.3.0] - 2025-01-28
Added
- Debug scrollback tab with smooth scroll wheel
- Mock update feed UI tests
- Dev build branding and reload scripts
Fixed
- Notification focus handling and indicators
- Tab focus for key input
- Update UI error details and pill visibility
Changed
- Renamed app to cmux
- Improved CI UI test stability
[0.1.0] - 2025-01-28
Added
- Sparkle auto-update flow
- Titlebar update UI indicator
[0.0.x] - 2025-01-28
Initial releases with core terminal functionality:
- GPU-accelerated terminal rendering via Ghostty
- Tab management with native macOS UI
- Split pane support
- Keyboard shortcuts
- Socket API for automation