Skip to main content
All notable changes to cmux are documented here.

Recent releases

Added

  • Command palette (Cmd+Shift+P) with update actions and all-window switcher results
  • 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
  • URL open-wrapper routing into the embedded browser
  • Cmd+Q quit warning with suppression toggle
  • cmux --version output now includes commit metadata

Changed

  • Added light mode and unified theme refresh across app surfaces
  • Browser link middle-click handling now uses native WebKit behavior
  • Settings-window actions now route through a single command-palette/settings flow
  • Sentry upgraded with tracing, breadcrumbs, and dSYM upload support
  • 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
  • Browser focus handoff and click-to-focus regressions in mixed terminal/browser workspaces
  • Caps Lock handling in browser omnibar keyboard paths
  • Embedded browser deeplink URL scheme handling
  • Sidebar resize cap regression
  • Terminal zoom inheritance for new splits, surfaces, and workspaces
  • 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

Added

  • Tab context menu with rename, close, unread, and workspace actions
  • Cmd+Shift+T reopens closed browser panels
  • Vertical sidebar branch layout setting showing git branch and directory per pane
  • JavaScript alert/confirm/prompt dialogs in browser panel
  • File drag-and-drop and file input in browser panel
  • tmux-compatible command set with matrix tests
  • Pane resize divider control via CLI
  • Production read-screen capture APIs
  • Notification rings on terminal panes
  • Claude Code integration enabled by default
  • HTTP host allowlist for embedded browser with save and proceed flow
  • Setting to disable workspace auto-reorder on notification
  • Browser panel mouse back/forward buttons and middle-click close
  • Browser DevTools shortcut wiring and persistence
  • CJK IME input support for Korean, Chinese, and Japanese
  • --help flag on CLI subcommands
  • --command flag for new-workspace CLI command
  • rename-tab socket command
  • Remap-aware bonsplit tooltips and browser split shortcuts

Fixed

  • IME preedit anchor sizing
  • Cmd+Shift+T focus against deferred stale callbacks
  • Unknown Bonsplit tab context actions causing crash
  • Socket CLI commands stealing macOS app focus
  • CLI unix socket lag from main-thread blocking
  • Main-thread notification cascade causing hangs
  • Favicon out-of-sync during back/forward navigation
  • Stale sidebar git branch after closing a split
  • Browser download UX and crash path
  • Browser reopen focus across workspace switches
  • Mark Tab as Unread no-op on focused tab
  • Split dividers disappearing in tiny panes
  • Flaky browser download activity accounting
  • Drag overlay routing and terminal overlay regressions
  • Initial bonsplit split animation flicker
  • Window top inset on new window creation
  • Cmd+Enter being routed as browser reload
  • Child-exit close for last-terminal workspaces
  • Sidebar resizer hitbox and cursor across portals
  • Workspace-scoped tab action resolution
  • IDN host allowlist normalization
  • setup.sh cache rebuild and stale lock timeout
  • Inconsistent Tab/Workspace terminology in settings and menus

Changed

  • CLI workspace commands now run off the main thread for better responsiveness
  • Remove border below titlebar
  • Slimmer browser omnibar with button hover/press states
  • Browser under-page background refreshes on theme updates
  • Command shortcut hints scoped to active window
  • Nightly and release assets are now immutable (no accidental overwrite)

Fixed

  • Fix panel resize hitbox being too narrow and stale portal frame after panel resize

Fixed

  • Fix split blackout race condition and focus handoff when creating or closing splits

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

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

Fixed

  • Fix browser omnibar Cmd+L causing 100% CPU from infinite focus loop

Changed

  • CLI commands are now workspace-relative: commands use CMUX_WORKSPACE_ID environment 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 send and send-key support --workspace and --surface flags for explicit targeting
  • CLI escape sequences (\n, \r, \t) in send payloads are now handled correctly
  • --id-format flag is respected in text output for all list commands

Fixed

  • Fix background agents sending input to the wrong workspace
  • Fix close-surface rejecting cross-workspace surface refs
  • Fix malformed surface/pane/workspace/window handles passing through without error
  • Fix --window flag being overridden by CMUX_WORKSPACE_ID environment variable

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
For a complete version history, visit the GitHub releases page or view the full changelog in the repository.

Download nightly builds

Want to try the latest features before they’re officially released? Download cmux NIGHTLY
cmux NIGHTLY is a separate app with its own bundle ID, so it runs alongside the stable version. Built automatically from the latest main commit and auto-updates via its own Sparkle feed.