All notable changes to cmux are documented here.
- 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!
- 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)
- 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)
- @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
- 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)
- 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)
- 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)
- @abdullahnauman2
- @austinywang
- @azooz2003-bit
- @denysshnurenko
- @Dukeman330
- @haoranaaa
- @kevinsslin
- @lawrencecchen
- @Lipdog
- @lleewwiiss
- @matheustimbo
- @yigitkonur
- 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!
- 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)
- 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)
- 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!
- 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!
- 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)
- @austinywang
- @azooz2003-bit
- @CharlesWiltgen
- @HamptonMakes
- @lawrencecchen
- @MaxiAschenbrenner
- @pstanton237
- @taonetm7
- Configurable keyboard shortcut to open the diff viewer, editable in Settings (#5178)
- Font size and zoom controls in the Markdown viewer (#5163)
- 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)
- 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!
- 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)
- 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!
- 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)
- Remove History from the right sidebar (#4785)
- Remove the terminal scrollbar workspace menu (#5072)
- Stop bundling example sidebars in the app (#4662)
- 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)
- 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)
- 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)
- 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!
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- @abdullahnauman2
- @afterthought
- @austinywang
- @dangaogit
- @hexalellogram
- @hummer98
- @jmoses26
- @kylejcaron
- @lawrencecchen
- @lidge-jun
- @Litee
- @liyue2008
- @wowpotato
- @ZhuYichuan
- Command palette toggles for boolean Settings rows, including iMessage Mode (f85cc56a)
- 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)
- 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)
- 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)
- 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)
- 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
- @abdelibrahim-hh
- @al3kaz
- @austinywang
- @azu
- @bcb225
- @comp615
- @lawrencecchen
- @michaellopez
- @mikesmitty
- @psh4607
- @rursache
- @tobi
- 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)
- 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.
- 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)
- @austinywang
- @bigtruth
- @Clean-Cole
- @dandaka
- @flatsponge
- @garizs
- @kimdane0115
- @lawrencecchen
- @lederniermagicien
- @Lots-ninety-nine
- @mfn
- @yuanganai
- 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)
- 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)
- 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)
- Fix sidebar workspace close (×) button intermittently failing to appear on hover (#3546)
- 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)
- 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)
- 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)
- @austinywang
- @dasanworld
- @dezren39
- @ivanrvpereira
- @jaynora2026
- @lawrencecchen
- @michaeljauk
- @say8425
- @SeongJaeSong
- @talldan
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- Remove restricted web-browser entitlement (#1727)
- 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)
- 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)
- 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)
- Cmd+T (New tab) shortcut on the welcome screen (#1258)
- 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)
- SSH remote port proxying (reverted, will return in a future release)
- 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)
- 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)
- 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)
- @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
- 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
- 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
- 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
- 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)
- 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)
- 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)
- Fix panel resize hitbox being too narrow and stale portal frame after panel resize
- Fix split blackout race condition and focus handoff when creating or closing splits
- Terminal panes now show an animated drop overlay when dragging tabs
- Fix blue hover not showing when dragging tabs onto terminal panes
- Fix stale drag overlay blocking clicks after tab drag ends
No user-facing changes.
- Move port scanning from shell to app-side with batching for faster startup
- Fix visual stretch when closing split panes
- Fix omnibar Cmd+L focus races
- Fix browser omnibar Cmd+L causing 100% CPU from infinite focus loop
- 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
- 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
- Faster workspace switching with reduced rendering churn
- 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
- Fix menubar and right-click lag on M1 Macs in release builds
- Fix browser panel opening new tabs on link click
- 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
- Fix crash (stack overflow) when clicking after a Finder file drag
- Fix titlebar folder icon briefly enlarging on workspace switch
- 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
- Fix sidebar tab drag-and-drop reordering not working
- Fix broken mouse click forwarding in terminal views
- Rebuild with Xcode 26.2 and macOS 26.2 SDK
- Crash caused by infinite recursion when clicking in terminal (FileDropOverlayView mouse event forwarding)
- Right-click and menubar lag in production builds (rebuilt with macOS 26.2 SDK)
- Double-clicking the sidebar title-bar area now zooms/maximizes the window
- 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
- "+" button on the tab bar for quickly creating new terminal or browser tabs
- 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
- 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
- Browser not loading localhost URLs correctly
- 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
- Sidebar metadata: git branch, listening ports, log entries, progress bars, and status pills
- localhost and 127.0.0.1 URLs not resolving correctly in the browser panel
browser opennow targets the caller's workspace by default via CMUX_WORKSPACE_ID
- 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
- 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
- Omnibar inline completion showing partial domain (e.g. "news." instead of "news.ycombinator.com")
- Update pill not appearing when sidebar is visible in Release builds
- 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
- 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
- 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
- Release build failure caused by debug-only helper symbols referenced in non-debug code paths
- Optional nightly update channel in Settings (
Receive Nightly Builds) - Automated nightly build and publish workflow for
mainwhen new commits are available
- Settings and About windows now use the updated transparent titlebar styling and aligned controls
- Repository license changed to GNU AGPLv3
- Terminal panes freezing after repeated split churn
- Finder service directory resolution now normalizes paths consistently
- 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)
- 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
- 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
- Update bundle identifier to
com.cmuxterm.appfor consistency
- 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
- CLI
set-statuscommand not properly quoting values or routing--tabflag
- Xcode and system environment variables (e.g. DYLD, LANGUAGE) leaking into terminal sessions
- Zsh autosuggestions not working with shared history across terminal panes
- Auto-update not working (Sparkle EdDSA signing was silently failing due to SUPublicEDKey missing from Info.plist)
- Auto-update not working (Sparkle public key was missing from release builds)
- Traffic lights (close/minimize/zoom) not showing on macOS 13-15
- Titlebar content overlapping traffic lights and toolbar buttons when sidebar is hidden
- Sidebar blur effect with withinWindow blending for a polished look
--panelflag fornew-splitcommand to control split pane placement
- Typing lag caused by redundant render loop
- Setup script for initializing submodules and building dependencies
- Contributing guide for new contributors
- Terminal focus when scrolling with mouse/trackpad
- Reload scripts are more robust with better error handling
- Customizable keyboard shortcuts via Settings
- Find panel focus and search alignment with Ghostty behavior
- Sentry environment now distinguishes between production and dev builds
- Handle display scale changes when moving between monitors
- Fix SwiftPM cache handling for release builds
- Notifications documentation for AI agent integrations
- App and tooling updates
- Sentry SDK for crash reporting
- Documentation site with Fumadocs
- Homebrew installation support (
brew install --cask cmux) - Auto-update Homebrew cask on release
- High CPU usage from notification system
- Release workflow SwiftPM cache issues
- New tabs now insert after current tab and inherit working directory
- Normalized window controls appearance
- Added confirmation panel when closing windows with active processes
- Socket key input handling
- OSC 777 notification sequence support
- Customized About window
- Restricted titlebar accessories for cleaner appearance
- Environment variable and terminfo packaging issues
- XDG defaults handling
- Terminfo packaging for proper terminal compatibility
- Sparkle updater cache handling
- Ghostty fork documentation
- cmux CLI with socket control modes
- NSPopover-based notifications
- Notarization and codesigning for embedded CLI
- Release workflow reliability
- Refined titlebar controls and variants
- Clear notifications on window close
- Debug scrollback tab with smooth scroll wheel
- Mock update feed UI tests
- Dev build branding and reload scripts
- Notification focus handling and indicators
- Tab focus for key input
- Update UI error details and pill visibility
- Renamed app to cmux
- Improved CI UI test stability
- Sparkle auto-update flow
- Titlebar update UI indicator
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