- Fix sidebar workspace close (×) button intermittently failing to appear on hover (#3546)
변경 로그
Feed. A new Feed mode in the right sidebar surfaces actionable agent events inline: permission requests, plan approvals, and questions land where you can answer them. Ships with cmux feed-hook and an OpenCode plugin so any agent plugs into the same flow.
Vault. The Sessions panel (renamed Vault) restores prior panes and resumes Claude Code, Codex, OpenCode, Gemini, and Rovo Dev sessions across relaunch. Sessions also persist when you close the last window via the red X.
cmux Cloud VMs. cmux vm new, cmux vm shell, and cmux vm attach spin up Freestyle-backed cloud workspaces from the terminal. The image bakes cmuxd-remote and a systemd-activated socket so connections come up clean.
Dock. Mount any TUI as a right-sidebar control surface, configurable per project in .cmux/dock.json or globally in ~/.config/cmux/dock.json. Ships with the cmux feed TUI as the first built-in Dock control.
Passkeys, WebAuthn, and FIDO2. Sign in to passkey-protected sites directly inside cmux browser panes. Reworked inside-out signing keeps the notarized Developer ID build compatible with macOS authentication services.
File Explorer. A Finder-like file explorer sidebar with full SSH support so remote workspaces get the same tree view as local ones.
Task Manager. A built-in Task Manager window plus cmux top CLI shows a live snapshot of windows, workspaces, panes, surfaces, and browser webviews, with jumps from the manager into the matching surface.
- Feed sidebar with
cmux feed-hookand OpenCode plugin to surface permission requests, plan approvals, and agent questions inline (#3057, #3405, #3457) - Sessions panel (renamed Vault) in the right sidebar with persistent session restore and agent resume across relaunch (#2936, #2978, #3259, #3419, #3429, #3487, #3528)
- Passkey, WebAuthn, and FIDO2 support in browser panes (#2660, #2727, #2905, #2908)
cmux vmCLI and Cloud VM backend for spawning Freestyle-backed cloud workspaces withcmux vm new,cmux vm shell, andcmux vm attach(#3046, #3185, #3196, #3219, #3432, #3437)- Dock right-sidebar TUI control surface with project and global config via
.cmux/dock.jsonand~/.config/cmux/dock.json(#3217, #3366, #3376, #3393) - 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) - Gemini and Rovo Dev session hooks with sessions piped into Vault (#3530, #3535)
- 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)
- Beta feature toggles for Feed and Dock (#3537)
- 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)
- Search Codex rollout content from the sessions sidebar (#3396)
- Disable Claude OSC notifications in the cmux wrapper and gate Claude OSC suppression on integration setting (#3418, #3474)
- Route Codex permission approvals through Feed (#3420)
- 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)
- Fix Sessions panel CPU loop on nightly and cancel drag on Escape (#2995, #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)
- 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)
SSH. cmux ssh user@remote creates a workspace for a remote machine. Browser panes route through the remote network so localhost just works. Drag an image into a remote session to upload via scp. Coding agent notifications come home to your local sidebar. Reconnects on drops.
Claude Code Teams. cmux claude-teams launches Claude Code's experimental teammate mode with one command. It sets up the environment, fakes a tmux session, and translates tmux commands into native cmux splits. Teammates stack vertically in a right column with sidebar metadata and notifications.
oh-my-openagent. cmux omo integrates oh-my-openagent (formerly oh-my-opencode), which orchestrates specialist agents across Claude, GPT, and Gemini in parallel. Same tmux shim as claude-teams, auto-installs the plugin, notifications route through cmux.
Browser Profile Import. Import cookies, history, and sessions from Chrome, Arc, Brave, Firefox, Safari, and 20+ browsers. The import wizard detects installed browsers, lets you pick profiles, and injects everything into cmux's browser panes so you're already logged in.
Minimal Mode. Hide the titlebar for a distraction-free terminal. Controls move to the sidebar and appear on hover. Toggle from the command palette or Settings.
Custom Commands. Define project-specific actions in cmux.json that launch from the command palette. One file per repo, no global config needed.
- 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)
- 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. Open Markdown files in their own panel and keep them live with file watching. Notes, READMEs, and docs refresh automatically as the file changes on disk.
Find in Browser. Browser panels now support Cmd+F with inline find controls, so you can search long docs, dashboards, and issue threads without leaving cmux.
Vi Copy Mode. Terminal scrollback now has a keyboard copy mode with vi-style navigation, making it much easier to inspect and copy from large output buffers.
Custom Notification Sounds. Choose from bundled sounds or pick your own audio file so background task notifications are easier to notice and easier to personalize.
Expanded Localization. cmux now includes Japanese plus 16 additional languages, and a per-app language override lets you change the UI language without changing macOS system settings.
- 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
feedback@manaflow.com(#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)
Tab Colors. Right-click any workspace in the sidebar to assign it a color. There are 17 presets to choose from, or pick a custom color. Colors show on the tab itself and on the workspace indicator rail.

Command Palette. Hit Cmd+Shift+P to open a searchable command palette. Every action in cmux is here: creating workspaces, toggling the sidebar, checking for updates, switching windows. Keyboard shortcuts are shown inline so you can learn them as you go.

Open With. You can now open your current directory in VS Code, Cursor, Zed, Xcode, Finder, or any other editor directly from the command palette. Type "open" and pick your editor.

Pin Workspaces. Pin a workspace to keep it at the top of the sidebar. Pinned workspaces stay put when other workspaces reorder from notifications or activity.

Workspace Metadata. The sidebar now shows richer context for each workspace: PR links that open in the browser, listening ports, git branches, and working directories across all panes.

- 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. Right-click any tab in a pane to rename it, close tabs to the left or right, move it to another pane, or create a new terminal or browser tab next to it. You can also zoom a pane to full size and mark tabs as unread.

Browser DevTools. The embedded browser now has full WebKit DevTools. Open them with the standard shortcut and they persist across tab switches. Inspect elements, debug JavaScript, and monitor network requests without leaving cmux.

Notification Rings. When a background process sends a notification (like a long build finishing), the terminal pane shows an animated ring so you can spot it at a glance without switching workspaces.
CJK Input. Full IME support for Korean, Chinese, and Japanese. Preedit text renders inline with proper anchoring and sizing, so composing characters works the way you'd expect.

Claude Code. Claude Code integration is now enabled by default. Each workspace gets its own routing context, and agents can read terminal screen contents via the API.
- 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
- 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. The sidebar now displays git branch, listening ports, log entries, progress bars, and status pills for each workspace.
- 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
- GPU-accelerated terminal rendering via Ghostty
- Tab management with native macOS UI
- Split pane support
- Keyboard shortcuts
- Socket API for automation