Zapisnik promjena

cmux 0.65.0 · Dnevnik promjena

Agents on SSH Hosts

Claude Code and Codex on a cmux ssh host show Running, Needs input, or Idle in the sidebar, like local agents. A stopped Claude Code session can move between your Mac and a host with its transcript and git working tree.

IsprobajteRun cmux session move <session-id> --to user@host.

Predictive Local Echo

Over a slow remote link, the characters you type appear right away, underlined until the remote shell confirms them. It is on by default for remote terminals.

IsprobajteSettings > Terminal > Predictive Local Echo.

Crash-Proof Sessions

Terminal scrollback is checkpointed, and interrupted Claude sessions can be recovered after a crash. Agents whose turn ends on a retryable error, such as model capacity or a dropped connection, are told to continue automatically.

IsprobajteRun cmux session restore to bring back interrupted agent sessions.

Redesigned Settings

Settings shows one categorized section at a time, with a theme gallery and controls for Ghostty fonts, cursor, and opacity.

IsprobajteOpen Settings with ⌘, and pick a section from the sidebar.

Bring Your Terminal Setup

Import settings from iTerm2, Terminal, Alacritty, Kitty, WezTerm, or Warp, and pick a Base Keymap preset that matches the shortcuts you already know.

IsprobajteRun cmux import, or open Settings > Keyboard Shortcuts.

Jump to Your Prompts

Each prompt you submit to an agent leaves a marker on the terminal scrollbar. Click a marker to jump back to that prompt in scrollback.

IsprobajteSubmit a few prompts to Claude Code or Codex, then click a marker on the terminal scrollbar.

Search Terminal Scrollback

Global Search finds text in the scrollback of open terminals. Return on a terminal hit opens that pane's find bar on the match.

IsprobajtePress ⌥⌘F and type text from any open terminal.

Password Input Indicator

A lock badge shows while a program such as sudo or ssh reads a password with echo off, so you can tell it is waiting for one.

IsprobajteRun read -s at a shell prompt, or turn it off in Settings > Terminal > Password Input Indicator.
Dodano
  • cmux session move <session-id> --to <ssh-destination|local> moves a stopped Claude Code session, its transcript, memory and git working tree, between this Mac and an SSH host and resumes it there (#14959)
  • Claude Code and Codex agents on a cmux ssh host show Running, Needs input, or Idle in the sidebar; cmux installs their hooks on the host when the Integrations toggles are on, including under proxy or account-switching launchers (#14902, #14908)
  • Settings > Terminal > Reflow Hard-Wrapped Text on Copy (terminal.reflowHardWrapOnCopy, off by default) rejoins lines a program wrapped at exactly the terminal width when you copy (#6923) -- thanks @mvanhorn!
  • Pi is offered in the Machines Open Cloud Agent menu, vm.cloud_agent_open, and cmux vm prompt --open pi (#14819) -- thanks @aliyansajid!
  • cmux resize-window --window <handle> --width <w> --height <h> resizes a window from the CLI or socket, keeping its top-left corner in place (#9826) -- thanks @ejc3!
  • Global search finds text in the scrollback of open terminals, and Return on a terminal hit opens that pane's find bar on the match (#11665) -- thanks @smoreg, and thanks @azooz2003-bit for the report!
  • Open Folder dialogs have a New Folder button, so you can create a directory and open it as a workspace without going to Finder (#5559) -- thanks @bcharleson!
  • cmux sessions --json shows launch_rejection_reason, explaining why a captured agent launch command was rejected for restore (#10347, #10440) -- thanks @smoreg, and thanks @WTF-Am-ID for the report!
  • agents.launchers in cmux.json declares an external wrapper (such as a multi-account router) so session restore resumes the agent through it instead of dropping it (#10503) -- thanks @smoreg!
  • My Devices can discover your other Macs on the same account (opt-in) and open their workspaces as mirrors that keep splits, tab order, and scrollback (#12105, #13472)
  • Option-Z toggles word wrap in the focused file editor, with the state shown in the View menu (rebindable as shortcuts.bindings.toggleFileEditorWordWrap) (#12814)
  • A managed SocketControlMode profile key (com.cmuxterm.app) forces the automation socket to cmuxOnly or off, and cmux socket-status --json reports the effective mode (#12955)
  • cmux config doctor (also check and validate) checks cmux.json values against the settings schema, and invalid setting writes from the CLI or Settings leave the file unchanged (#13146)
  • The Command Palette can launch Claude Code Teams and Codex Teams in a new terminal tab when those agents are installed (#13147)
  • Headless OMP and Pi subagents appear as children of their parent session in custom sidebars (#13161) -- thanks @BedirT!
  • cmux docs workflows (or cmux docs templates) lists the bundled workflow examples, what each creates and needs, and the commands for saved layouts (#13189)
  • Vault's Sessions sidebar has a Reload Vault button again (#13203) -- thanks @takuhirokosa, and thanks @mensa23 for the report!
  • Settings > Terminal > Keep Local Sessions Alive lists local tmux sessions with Start and Attach actions for cmux local-tmux (#13210)
  • The sidebar Help menu has a Settings item (#13211)
  • Settings > Automation shows an Automation Rules card with rule counts and Edit Rules and Reload buttons (#13223)
  • Settings > Terminal > Theme has a Choose button that opens the interactive cmux themes picker with live preview (#13224)
  • Settings > Custom Sidebars can create a starter sidebar, install a bundled example, open the sidebars folder, and edit discovered sidebars (#13230)
  • Surface catalog reads include stable_surface_id and stable_workspace_id, so scripts can find a surface again after restore (#13247)
  • cmux current [--json] [--limit <n>] and Find Work in the Command Palette list your current workspaces, agents, attention and PRs, local and Cloud (#13269, #13274)
  • cmux ssh-tmux --name <title> sets the local workspace title without renaming the remote tmux session (#13287) -- thanks @iamcobolt!
  • cmux.json can list local config packs under packs (directories resolve through cmux.pack.json), adding their actions, commands, workspaces, and buttons; direct config still wins (#13356)
  • The terminal scrollbar shows a marker for each submitted agent prompt; click a marker to jump to that prompt in scrollback (#13595) -- thanks @hamaney for the report!
  • Settings > Sidebar > Workspace Description Color (sidebar.workspaceDescriptionColor) sets the sidebar workspace description color; unset, it follows the theme (#13597) -- thanks @godfreyponce for the report!
  • Swap With Session… in the terminal context menu and command palette lets you click another pane to swap places with; Escape cancels (#13601) -- thanks @moonfruit for the report!
  • Custom JavaScript sidebars can show drop-target feedback while a row is dragged, via Reorderable({ onDragChange }) (#13841, #14117)
  • terminal.paste returns delivery: delivered or queued, so scripts can tell whether text reached a live terminal or was queued (#13849) -- thanks @chriskr7 for the report!
  • After relaunch, restored zsh and Bash terminals recall their own commands first in shell history; new terminals keep global history (#13851)
  • Cmd-clicking a file path printed in a cmux ssh terminal downloads the remote file and opens it in cmux's preview, instead of doing nothing or opening a same-named local file (#13866)
  • Settings > Terminal > Text Editing Gestures (terminal.textEditingGestures, off by default) makes Cmd/Option arrows and deletes move and delete by line and word at the shell prompt (#13921)
  • Settings > Terminal > Predictive Local Echo (on by default, opt out with terminal.predictiveLocalEcho: false) shows characters typed over a slow remote link immediately, underlined until the remote confirms them (#13967, #14860, #15217)
  • agent.hook.UserPromptSubmit events in cmux events include prompt_length, the submitted prompt's length in characters (#14045) -- thanks @jtsternberg for the report!
  • app.defaultWorkspacePath in cmux.json sets the folder Open Folder starts in, from both the File menu and the command palette (#14455) -- thanks @su-record for the report!
  • Right-clicking a file path in a terminal offers Reveal in Finder, which selects that file in Finder (#14697) -- thanks @masterleopold for the report!
  • Focus Last (History menu, focusHistoryLast, no default shortcut) jumps back to where focus just was; pressing it again toggles between the last two positions (#14700) -- thanks @idr4n for the report!
  • Settings > App > Equalize Splits on Create (app.equalizeSplitsOnCreate, off by default) gives each new split equal-sized panes in that row or column (#14703) -- thanks @aibakun for the report!
  • The command palette lists fourteen actions that were only reachable by shortcut, including Toggle Terminal Copy Mode, workspace font size, pane focus moves and Group Selected Workspaces (#14815, #14848)
  • cmux paste --surface <ref> sends text from an argument or stdin as a Cmd+V paste, keeping multi-line prompts intact; --submit presses the agent's submit key (#14837)
  • Settings > Terminal > Password Input Indicator (terminal.showPasswordInputIndicator, on by default) shows a lock badge while a program reads a password with echo off; Show Typed Password Dots adds one dot per key (#14867, #14905)
  • Claude Code agents in cmux ssh panes report their Claude session id to the Mac, so cmux can resume them (#14906)
  • cmux appears in Finder's Open With menu for Markdown, source code, JSON, YAML and plain text files, and opens them in its viewer without running executable scripts (#14968) -- thanks @Jamie-z-Jianmin for the report!
  • With more tabs than fit, a mouse wheel over a pane's tab strip scrolls it sideways; trackpad scrolling is unchanged (#14985) -- thanks @NestDream for the report!
  • cmux TUI: short aliases (ws, p, ls, rm) and tmux-style commands (splitw, selectp, neww, send-keys and more); cmux help shorthands lists them (#12863)
  • cmux TUI: move a tab to another workspace by dragging it onto a sidebar workspace or + new workspace, or with Move tab to workspace in its context menu (#12864)
  • cmux Cloud (beta): Links in Cloud terminals open the VM's private address in a browser pane, with a separate origin per VM and no system VPN (#12669)
  • cmux Cloud (beta): Cloud machines have an expandable Resources section showing CPU, RAM, Disk, and token usage (#12740, #13084)
  • cmux Cloud (beta): Browser sign-in URLs opened by CLI tools inside a Cloud VM open on your Mac instead of in the VM's hidden browser (#12741)
  • cmux Cloud (beta): The Cloud panel has a team picker for switching and creating teams, which scopes Cloud; cmux auth team list|use|create does the same from the CLI (#13051, #14337)
  • cmux Cloud (beta): Cloud machines can be dragged to reorder them in the Cloud sidebar, within their pinned or unpinned section, or moved from the context menu and workspace-reorder shortcuts (#13090)
  • cmux Cloud (beta): Double-clicking a Cloud machine or remote workspace row in the Cloud sidebar renames it (#13164)
  • cmux Cloud (beta): A New Display action on Cloud machines opens additional independent remote desktops, and each display shows its own connection progress and errors (#13196)
  • cmux Cloud (beta): Cloud workspace rows in the right sidebar show profile heads for the people currently viewing that workspace, with names on hover (#13307)
  • iOS (beta): Push notifications and replies sent from the iPhone are end-to-end encrypted (#12384) -- thanks @azooz2003-bit!
  • iOS (beta): Full-screen terminal apps fit the visible area above the keyboard and toolbar; Settings > Terminal > Use Full Terminal Height restores the old sizing (#12844) -- thanks @azooz2003-bit!
  • iOS (beta): Settings > Diagnostics > Copy Debug Information copies account, build, device, and connection details for support (#13007)
  • iOS (beta): Settings > About has a Support Information action that copies your account, install, and device IDs plus app version for support requests (#13448) -- thanks @azooz2003-bit!
  • iOS (beta): Version 1.0.6 shows a one-time notice with the minimum Mac versions it needs, then opens the Mac pairing guide (#14112) -- thanks @azooz2003-bit!
  • iOS (beta): Settings > Reset > Erase All Data on This Device signs out and returns the app to a fresh-install state (#14140)
  • Settings > App > Warn Before Closing Workspace (app.warnBeforeClosingWorkspace, on by default) turns off the "Close workspace?" prompts; pinned workspaces still ask (#14979)
  • Close confirmation dialogs for tabs, panes and workspaces have a "Don’t ask again" checkbox that turns off the warning behind that dialog; "Close pinned workspace?" still always asks (#15052)
  • cmux.copyWorkingDirectory, cmux.copyProjectRoot, and cmux.copyScreen built-in actions copy a terminal's working directory, its git project root, or its visible screen from a tab bar button, shortcut, or the Command Palette (#14858)
  • cmux pr <url-or-number> attaches, replaces, or clears a workspace's pull request link without changing app focus (#12809)
  • Actions · cmux.json lists configured actions and their placements; setting actions, presets, and cmux config set apply validated settings through the shared config writer (#13232, #14868, #16222, #16223)
  • Setting changes can return an undo receipt that restores the previous value only while the changed setting still holds its installed value; unrelated existing config issues no longer prevent Computer Use toggles from saving (#13254, #14183)
  • Conversations sidebar (beta): The opt-in Conversations sidebar lists live agent sessions and searchable history across providers, with provider filters and normal workspace routing for reopening sessions (#13322)
  • Import Browser Data recognizes Aside and its Chromium profiles (#13379) -- thanks @gurbaaz27!
  • notifications.suppressWhenAppFocused can suppress notifications while cmux is the active app (off by default) (#14701)
  • Settings > Sidebar > Compact Agent Status (sidebar.compactAgentStatus, off by default) combines agent, PR, and branch state into a compact status glyph with tooltip and VoiceOver details (#14838)
  • Terminal scrollback is checkpointed, and interrupted Claude sessions can be recovered from the agent journal after a crash or through cmux session restore; recovery preserves account routing and avoids duplicate launches (#14852, #14870, #15324, #15375)
  • Ghostty config and theme files reload when saved, including under XDG_CONFIG_HOME, and invalid config appears in a visible error card (#14859, #15191)
  • cmux restore-session --from imports another cmux install's saved windows, and --export writes a portable session snapshot (#14861)
  • Settings > Sidebar offers an opt-in subtle selection highlight (#14890)
  • cmux send --paste sends multi-line text through bracketed paste, and large multi-line sends explain when to use it (#14937)
  • terminal.confirmUnsafePaste can require confirmation in a window sheet before an unsafe paste (#14951)
  • Paste Last Screenshot inserts the most recent screenshot into the terminal, with an editable shortcut that is unbound by default (#14955)
  • Settings > Appearance has preset and custom accent colors, shared by cmux chrome (#14988, #15510)
  • Settings > Terminal has a native theme gallery with searchable previews and live theme selection (#14996)
  • Settings > Keyboard Shortcuts has Base Keymap presets for users coming from other terminals, with matching Command Palette actions (#15003)
  • cmux import discovers and imports terminal settings from iTerm2, Terminal, Alacritty, Kitty, WezTerm, and Warp through the shared Ghostty config writers (#15004, #15055)
  • Settings > Terminal edits Ghostty font, size, cursor, padding, opacity, blur, Option as Alt, and scrollback options without hand-editing config (#15005)
  • Directional pane focus remembers the previously focused pane, and New Pane (Auto Layout), bound to Ctrl-Cmd-N by default, picks a split automatically (#15125)
  • Workspace auto-reordering has an Agent Activity mode that surfaces finished turns and requests for attention without reordering on every tool event (#15216, #15362)
  • Paste as One Line in the terminal context menu removes line breaks before pasting (#15230)
  • Cloud machine lists and sidebar rows show who created each machine (#15261, #16001)
  • cmux agent message delivers messages through a separate agent inbox instead of inserting them into a person's prompt draft; owned remote sessions can use it through the SSH relay (#15279, #15863)
  • app.tabBarVisibility can hide a pane's tab bar when it has only one tab (#15294)
  • cmux agent hibernate and wake control an individual agent, preserving safety checks and verifying that a resumed agent came back (#15308, #15312)
  • The web dashboard and Mac app support team invitations and member management, the dashboard has a Settings hub and in-app plan changes, and Pro teams support three members (#15348, #16006, #16219, #16265)
  • Agents whose turn ends on a retryable error, such as model capacity or a dropped connection, are told to continue automatically; authentication, billing, usage-limit, and invalid-request failures stay visible for you to resolve. Turn this off in Settings > Automation > Auto-Resume Agents After Errors (#15373)
  • A bundled btop-style custom sidebar shows recent agent activity, status, and progress per workspace (#15393)
  • Opt-in automation.canonicalAgentScratch gives native Claude, Codex, and OpenCode sessions an owned per-session temporary directory, with ownership metadata in session listings (#15610, #15615)
  • A Codex /goal resume action is clickable (#15639)
  • Agent state distinguishes pending background work from an idle completed turn, keeping those sessions protected from hibernation (#15666)
  • View > Focus TextBox Input focuses an editable text field through a configurable action (#15730)
  • Custom Sidebars has a gallery of six bundled templates with live previews and editable installed copies (#15931)
  • Cloud browser and display rows can be named and renamed (#15999)
  • Custom sidebars support a pointer cursor modifier (#16263)
  • The Cloud team menu includes Sign Out (#16363) -- thanks @lucasr1b!
  • iOS (beta): Feed combines agent activity and notification history across paired Macs, with replies and a full-text Markdown reader (#10218) -- thanks @azooz2003-bit!
  • iOS (beta): Direct SSH connects to computers without a paired Mac or cmux account, with host-key pinning, keys, jump hosts, SFTP, and local port forwarding (#14149) -- thanks @azooz2003-bit!
  • iOS (beta): The On iPhone browser can load paired-Mac workspace services through the Mac (#14301) -- thanks @azooz2003-bit!
  • iOS (beta): Connected Devices is available from the app's navigation (#15883)
  • Browser file-input uploads are available through the CLI (#14550)
Promijenjeno
  • Dock is now enabled by default for new and existing users, and its former Beta Features toggle has been removed; hide or reorder it under Settings > Sidebar > Right Sidebar Tabs (#15453, #15456)
  • Each Settings toggle and picker row shows one fixed subtitle instead of text that changes with the selected value, and localized Settings titles and Feed, Dock, and Cloud Machines labels use corrected wording (#14883) -- thanks @agoodkind!
  • The Settings > Mobile pairing row says Open Pairing and no longer promises a Tailscale QR code, which pairing does not use (#14817) -- thanks @aliyansajid!
  • cmux browser snapshot names form fields by their <label> text, so plain HTML form inputs are no longer nameless (#10231) -- thanks @thingnoy!
  • agent.resolve_delivery_target socket responses echo the requested PID (#11166) -- thanks @danielraffel!
  • OMP integration reads OMP_AGENT_DIR before PI_CODING_AGENT_DIR, so OMP and Pi can use separate directories (#11483) -- thanks @STRML!
  • Persistent cmux ssh sessions run on cmux-tui, keeping reconnect, restore, splits, and tabs on the same remote session (#12956)
  • Settings shows one section at a time instead of one long scrolling page (#12993) -- thanks @agoodkind and @scarere for the reports!
  • Socket and RPC requests that spell a target as surfaceId or another camelCase alias are rejected with an error naming the snake_case key, instead of acting on the focused terminal (#13214) -- thanks @jtsternberg for the report!
  • The Settings sidebar groups its sections into categories such as General, Workspace, Sidebar & Dock, and Agents & Automation (#13222)
  • cmux --help groups commands by task, and cmux help <topic> shows one group (#13233)
  • Diff viewer window titles include the repository name, and the repo selector tooltip shows the repository's full path (#13587) -- thanks @xhqing for the report!
  • cmux last-window and the tmux - window target toggle between the two most recent workspaces, like Focus Last in the History menu, instead of walking further back (#14760)
  • The first-launch welcome banner prints from shell startup instead of typing cmux welcome, so it no longer lands in your shell history (#14809, #14857)
  • cmux welcome points to the command palette and Settings > Keyboard Shortcuts (or cmux shortcuts) instead of listing fixed default shortcuts (#14810)
  • cmux set-buffer stores text exactly as given (keeping leading spaces and trailing newlines) and reads from stdin when no text or - is passed (#14836)
  • Unfocused terminal panes redraw at about 30 FPS, so agents streaming into background panes cost less; scrolling an unfocused pane is also paced until it takes focus (#14843)
  • Shortcut hint pills, titlebar controls and button hover highlights appear instantly and only fade out, the pane drop-zone overlay no longer slides between zones, and canvas focus moves pan only when the target pane is off screen (#14984)
  • cmux Cloud (beta): Cmd-Y creates a new Cloud machine and Cmd-N creates a workspace on the selected Cloud machine; Cmd-Shift-Y stays New Cloud Workspace (#12604)
  • cmux Cloud (beta): Cloud terminal creation failures show in a card centered in the failed terminal, with Retry and a right-click Copy Error (#12609)
  • cmux Cloud (beta): Cloud machine pins appear immediately and are saved per account and team, Cloud tree rows are more compact, and workspace renames and deletes show right away (#12743)
  • cmux Cloud (beta): New Machine in Cloud shows the new workspace and a pending machine row right away while the machine is created (#12919)
  • cmux Cloud (beta): New Cloud terminals opened with Cmd-D or Cmd-T show terminal without a tab spinner (#12979)
  • cmux Cloud (beta): Cloud workspace rows in the sidebar show the machine's friendly name once, and Show Branch + Directory in Sidebar and Hide All Sidebar Details hide Cloud badges and directories too (#13082)
  • cmux Cloud (beta): In Cloud VMs, cmux coderouter, cmux cr, coderouter and cr all run the full CodeRouter CLI, including interactive add (#13100)
  • cmux Cloud (beta): Creating a Cloud workspace shows the new workspace with a loading pane in both sidebars right away, instead of waiting for the remote terminal (#13152, #13155)
  • cmux Cloud (beta): New Cloud Workspace (⇧⌘Y) opens on the machine of your most recent Cloud workspace, or the first machine in the Cloud sidebar; the default machine star is removed (#13193)
  • cmux Cloud (beta): Tab and Cloud sidebar agent icons follow the detected agent instead of guessing from the tab title, and new Cloud machines connect faster after creation (#13299)
  • cmux Cloud (beta): New Cloud machines boot with their first terminal's shell already running, so the first prompt appears sooner (#14125)
  • iOS (beta): The "No workspaces yet" screen offers Retry and Set Up cmux iOS actions (#12926) -- thanks @azooz2003-bit!
  • iOS (beta): Task Composer's Photo Library attachment accepts videos and other media, not just images (#13441) -- thanks @azooz2003-bit!
  • iOS (beta): The pairing onboarding page shows a Mac Settings screenshot pointing to the Enable iOS pairing row (#13457) -- thanks @azooz2003-bit!
  • iOS (beta): Retry on the empty computer picker keeps its button in place and shows progress in the Reconnecting status line, and See Docs opens in an in-app browser (#13469) -- thanks @azooz2003-bit!
  • iOS (beta): Bursts of terminal output render in larger batches, so the terminal keeps up with fast agent output (#13487)
  • iOS (beta): The Files filter chips scroll with an edge fade, and the sort control stays fixed at the trailing edge (#13584) -- thanks @azooz2003-bit!
  • iOS (beta): The empty workspace list hides its Retry and See Docs buttons while the app is reconnecting (#13719) -- thanks @azooz2003-bit!
  • iOS (beta): Tapping a notification while the Mac is disconnected no longer shows a blocking "Connection unavailable" alert; it waits and retries on its own (#13746) -- thanks @azooz2003-bit!
  • iOS (beta): The team picker shows your selection right away instead of waiting for the server (#13762) -- thanks @azooz2003-bit!
  • iOS (beta): The computer picker remembers your selection across launches (#13772) -- thanks @azooz2003-bit!
  • iOS (beta): Busy agent terminals send fewer screen updates (about 11 per second, slower on a congested link) while your keystrokes still echo immediately (#14031) -- thanks @azooz2003-bit!
  • iOS (beta): Pairing onboarding shows a still photo of the Mac Mobile settings in light or dark appearance instead of a zooming animation (#14266) -- thanks @azooz2003-bit!
  • Local port discovery and zsh watchers avoid repeatedly launching lsof, ps, and sleep; local port scans stop when port details are hidden (#6032, #10277, #15353) -- thanks @jsamuel1, @hyzyla!
  • Sidebar notification previews strip inline Markdown formatting into readable plain text (#12030) -- thanks @kate-jiang!
  • Mobile devices has a clearer dashboard with connection state and device cards in its own Settings section under Remote & Devices (#13156, #13286, #13428, #14772) -- thanks @azooz2003-bit!
  • Max pricing clarifies that up to 50 Cloud VMs share 64 GB RAM and 16 vCPUs (#13159)
  • Cloud Ports lists services by port and filters internal listeners; Cloud section headers use hover actions, New Machine, and plan usage without misleading resource counts or zero-cap fractions (#13239, #13555, #14773, #15180, #16012)
  • Profile and team menus use native opening animations, and the Cloud team picker opens as an anchored dropdown (#13295, #13311, #15078)
  • Cloud rows, pane indicators, and file headers use consistent spacing and shared chrome metrics, with more room for machine and team names (#13306, #14982, #15149, #15150, #16004)
  • Workspace todos (beta): Todo edits and mutations save immediately instead of waiting for focus loss or the autosave timer (#13429) -- thanks @azooz2003-bit!
  • Dashboard team selection changes immediately and rolls back if the server rejects the switch (#13570) -- thanks @azooz2003-bit!
  • Cloud API-equivalent usage estimates include GPT-6 models and their long-context pricing (#13892)
  • new-window accepts a name when creating a window (#14500)
  • OpenCode v2 plugins and Pi have fuller native agent integration (#14509, #14522)
  • Team members can reach shared Cloud VMs concurrently, keep surfaces from several teams open, and lose access promptly when removed from a team (#14818, #15869, #16169)
  • JavaScript custom sidebars support fixedSize and reactive frame specifications (#14845) -- thanks @bquigley1!
  • Renaming edits inline or in the Command Palette instead of opening an alert (#14986)
  • cmux honors macOS Differentiate Without Color, Increase Contrast, and Reduce Transparency preferences (#14991)
  • Closing a window or tab asks for confirmation when work would be lost, and close controls stay usable in narrow tabs (#15041, #15613, #15957)
  • cmux ssh opens faster, avoids typing lag, restores after relaunch, and opens splits in the focused remote location (#15079)
  • Browser Memory Saver preserves hidden page state, and browser state restores in the correct order (#15154, #16204)
  • Deleting a Cloud machine updates the sidebar immediately and reconciles with the server result (#15190)
  • Terminal scrollbars use the macOS overlay style unless Show scroll bars is set to Always (#15214)
  • Ghostty config errors appear below the tab bar instead of covering its controls (#15218)
  • Claude sessions stopped by an API error show their failure instead of remaining Running (#15232)
  • Focused-pane notifications remain silent unless enabled, and a pending banner becomes quiet once its pane is focused (#15233, #15357)
  • Cloud machine and CLI tree failures explain sleeping or unavailable machines instead of showing a generic connection error (#15236, #15895, #16003, #16149)
  • Agent- and script-opened workspaces and panes stay in the background (#15281)
  • CodeRouter holds and retries capacity failures on the requested model instead of failing immediately (#15310)
  • Splits refuse layouts that would leave a pane below its minimum size, including after sidebar pane changes (#15392, #15422)
  • In-app dialogs use the Ghostty theme's colors (#15515)
  • The diff viewer tracks viewed files, filters files, collapses generated and large diffs, and loads syntax grammars only when needed (#15536, #15576)
  • Making this Mac discoverable requires an explicit confirmation (#15677)
  • On macOS 26, holding Cmd shows Liquid Glass shortcut hints (#15821)
  • The workspace close button is exposed to accessibility tools (#15965) -- thanks @soyeladice-svg!
  • iOS (beta): Pinned group members stay above unpinned workspace rows (#16104) -- thanks @azooz2003-bit!
  • iOS (beta): The terminal arrow pad has an accessible label and explains that directional drags send arrow keys (#10685)
  • iOS (beta): Read notifications clear when the app returns to the foreground (#14725) -- thanks @azooz2003-bit!
  • iOS (beta): Adding a computer leaves the active Mac connection undisturbed (#15102) -- thanks @azooz2003-bit!
  • iOS (beta): Task Composer prefetches and remembers picker choices (#15797) -- thanks @azooz2003-bit!
  • Settings > Members shows a plain member list with progress on the row being changed (#15806)
Ispravljeno
  • VoiceOver no longer reads a symbol name such as "gearshape" or "Mostly Cloudy" before each Settings sidebar entry (#14989)
  • VoiceOver now names the browser toolbar's Back, Forward, Reload/Stop, Developer Tools, Profile, and Theme buttons and the notification clear buttons, no longer reads internal command ids on command palette rows, and the Xcode project panel's reload, dismiss, picker, and status text is localized (#14926).
  • The Settings notification sound preview button has a tooltip and VoiceOver label, and German, French, Spanish, Arabic, Korean, and Chinese menus and buttons no longer show the wrong sense of Clear, Open, Back, Refresh, Preview, Rename, Stop, or Fork (for example German "Klar" instead of "Löschen", or Spanish "Abierto" instead of "Abrir") (#14983).
  • In canvas mode, panes an agent or the CLI creates no longer scroll the canvas away from what you're watching, socket canvas commands apply without animation, and canvas pans and the overview toggle respect Reduce Motion (#14939)
  • Hovering a command palette or session index row no longer looks as strong as (or erases) the selection; terminal and browser find fields show a focus stroke; group header unread badges follow the Notification Badge color; and the feed's Deny and Allow Once buttons stay visible in both light and dark mode (#14941).
  • Hovering a sidebar workspace swaps its unread badge for the close button in the same frame, feed selection with j/k no longer eases between rows, clearing a notification closes the gap at once, and holding Command no longer animates unrelated right sidebar changes (#14927).
  • In a split, a pane you switch to no longer shows a dimmed frame before it brightens; the unfocused-pane dim now changes in the same frame as focus (#14892).
  • Clicking a sidebar workspace keeps its highlight steady while the selection lands, instead of flickering off when the pointer moves away, and rapid clicks never show two rows selected (#14871).
  • Closing a workspace no longer briefly flashes the close (X) button on every sidebar row, and the X no longer appears on the row that slides under a context menu's old position (#14826).
  • Closing or creating a workspace no longer rebuilds every sidebar row, so a rename, checklist edit, or popover open on another row survives it (#14866).
  • In pane tab bars, the tab that slides under the pointer after a close shows its hover and close button without moving the mouse, and VoiceOver can close any tab with a Close Tab action (manaflow-ai/bonsplit#253, #14885).
  • Context-menu submenus built with Menu in custom sidebars appear instead of being dropped (#14808) -- thanks @aliyansajid!
  • Closing the last workspace no longer unfolds a collapsed sidebar group above it (#10169) -- thanks @AvoChang!
  • The focused pane border follows a zoomed terminal or browser pane instead of remaining at its pre-zoom split size, including when window chrome changes the overlay reference coordinates (#14646) -- thanks @classicluna!
  • Reopening an agent pane no longer tries to resume through the pane's shell (for example bash --resume <id>) when the captured launch command was the shell bootstrap (#5848) -- thanks @STRML!
  • Edits to a symlinked ~/.config/cmux/cmux.json apply on reload instead of needing an app restart (#8562) -- thanks @lucidash!
  • cmux ssh-tmux <host> --new-window works in release builds instead of failing with method_not_found (#8608) -- thanks @thejiajun!
  • Agent hook commands no longer leave idle cmux app processes running when CLI forwarding loops back to the app binary (#8788) -- thanks @kunsanglee!
  • Signing in with a YubiKey or other hardware security key in the browser no longer crashes cmux when the key returns no user handle (#9060) -- thanks @marius-jacobs!
  • The Files pane shows files added or removed inside an expanded folder, keeping expanded folders and the selection (#9589) -- thanks @jiancui-research!
  • Remote PTY sessions report TERM_PROGRAM=ghostty and COLORTERM=truecolor instead of inheriting the remote host's terminal identity (#9610) -- thanks @hdimer!
  • cmux no longer crashes when a cmux command (for example from a shell rc file) arrives while the previous session is still restoring at launch (#9627) -- thanks @hdimer, and thanks @bondijois for the report!
  • Double-clicking the empty sidebar area runs your ui.newWorkspace.action, like the + button and File > New Workspace (#10248) -- thanks @smoreg, and thanks @CarlRodabaugh for the report!
  • A finished Claude subagent no longer marks the pane as needing input while the main agent is still working (#10343) -- thanks @smoreg, and thanks @Daniel-Brestoiu for the report!
  • Agent spinner titles keep animating in the tab without waking the sidebar and titlebar on every frame (#10351) -- thanks @STRML!
  • Shell prompts keep a block cursor instead of switching to a bar cursor after each command (#10670) -- thanks @sabinm677 for the report!
  • cmux --json list-panes and list-pane-surfaces include pane and surface UUIDs alongside refs, fixing oh-my-claudecode worker pane splits (#10674) -- thanks @basselalsayed for the report!
  • A terminal editor such as nvim set as the preferred editor no longer leaves hidden editor processes running; cmux opens the file with the system default app instead (#10681) -- thanks @josonchou for the report!
  • cmux events run from outside cmux shows a clear access-denied message instead of a JSON parse error (#10712) -- thanks @taiseii for the report!
  • Remote tmux (beta): cmux ssh-tmux mirrored splits keep pane titles set in tmux (for example with select-pane -T) instead of showing only the window name and index (#10714)
  • The native resize cursor appears at the main window's edges instead of being covered by the terminal cursor (#10835) -- thanks @ctopherwilliams for the report!
  • The sidebar edge, tab bar underline, and pane borders are visible in light mode (#10967) -- thanks @lrytz!
  • Shell PR and git watchers exit when their pane closes even after macOS reuses the shell's PID, so they no longer pile up and spawn many gh processes (#11035) -- thanks @geonguk for the report!
  • Remote tmux (beta): A mirrored tmux window with one pane no longer shows a second tab bar repeating the workspace tab above it (#11248) -- thanks @ejc3!
  • A failed file upload to a remote host shows a notification with the reason instead of only beeping (#11476) -- thanks @ejc3!
  • terminal.uploadCommands rules match on the ssh HostName for hosts reached through a ProxyCommand or jump host (#11477) -- thanks @ejc3!
  • Windows no longer end up off-screen or smaller than the display after display changes, and zoomed windows stay zoomed after a titlebar click (#12053) -- thanks @aparente for the report!
  • Ghostty's split-divider-color (including named colors like orange) sets the pane divider color, unless a cmux pane border color is set (#12066) -- thanks @wooters for the report!
  • Custom upload commands and notification hooks no longer stall until their own timeouts because of signals blocked in cmux (#12383) -- thanks @ejc3!
  • goto_split left and right move to the adjacent column in nested layouts instead of skipping to the far pane (#12397) -- thanks @brodynies, and thanks @geodimm for the report!
  • goto_split at the edge of the layout reports that focus did not move, matching Ghostty (#12401) -- thanks @brodynies, and thanks @geodimm for the report!
  • Trackpad scrolling and system-wide multi-finger gestures stay responsive with many workspaces open (#12607)
  • cmux no longer crashes when a session snapshot reads text from a terminal that just closed (#12623) -- thanks @ejc3!
  • The Computer Use cursor follows pane divider drags instead of jumping to the end when released (#12665)
  • Relay connections trust certificate authorities in the macOS System keychain (enterprise TLS), and Settings shows the certificate error when trust fails (#12723)
  • Resizing or splitting terminals no longer hangs cmux in nested geometry updates (#12725)
  • A cancelled or timed-out paste no longer lets a clipboard write run while the paste is still reading the clipboard (#12727)
  • Workspace todos (beta): Checklist remove buttons show an X instead of a solid gray dot, and appear when a row is already under the pointer (#12783) -- thanks @azooz2003-bit!
  • Copy Mode scrolls scrollback with the wheel and Page Up/Page Down in programs that use mouse reporting or the alternate screen (#12817)
  • Quitting cmux waits for Codex to exit, so restored Codex sessions no longer open read-only (#12822)
  • Korean filenames with decomposed Hangul render correctly with fonts like D2Coding instead of showing unrelated symbols (#12826) -- thanks @bigtruth for the report!
  • tmux-compatible commands such as display-message -t and Claude Code teammate split-window no longer fail with rate_limited (#12832) -- thanks @jonahscohen for the report!
  • Creating and closing many workspaces no longer grows sidebar memory, and browser discovery and file watching no longer block the main thread (#12834)
  • Closing a tab in a zoomed pane keeps the pane zoomed when it has other tabs (#12853) -- thanks @kugesh-Rajasekaran!
  • Pi extensions that wake an idle agent show its running status and completion notification, including after Pi reloads (#12861) -- thanks @jayjanssen!
  • Minimal Mode sidebar and titlebar no longer break when an overlay appears (#12929) -- thanks @jaeyongjaykim for the report!
  • cmux no longer keeps the macOS lsd process at high CPU, even when cmux is not running (#12990) -- thanks @Bug-Proof for the report!
  • The Hermes gateway works when the venv Python is a symlink (uv or Homebrew installs) (#12996) -- thanks @tizerluo for the report!
  • Option dead keys (for example Option-E on a US layout) compose accented characters in the terminal (#12997) -- thanks @imTHAI for the report!
  • Reloading a page after a failed form submission resends the original request instead of turning it into a GET (#13003)
  • Very long or multiline automatic terminal titles are trimmed to 256 characters, keeping saved sessions small (#13009)
  • On Command-swapped layouts such as Dvorak - QWERTY ⌘, Cmd-C with no selection no longer types a stray character and Cmd-I is no longer swallowed (#13015) -- thanks @aliyansajid, and thanks @jimmy623 for the report!
  • With the browser disabled in Settings, the Dock's New Browser button and File > New Browser Workspace are hidden (#13023) -- thanks @aliyansajid, and thanks @hemingtsai for the report!
  • Computer Use no longer stays blocked on "onboarding is still in progress" after permissions are granted, and Settings offers Finish Setup to complete it (#13055, #13599) -- thanks @jdereg for the report!
  • The Codex monitor helper no longer grows in memory as a long session's transcript updates (#13057, #13606) -- thanks @napaholic for the report!
  • Plain-text paste into a terminal no longer takes over a second on a fresh clipboard (#13110) -- thanks @ChenYunerer and @stormjing for the reports!
  • SSH retry notices read correctly in every language, including immediate retries, and SSH connection sharing respects your OpenSSH config defaults (#13190)
  • Changing a setting from Settings or cmux-settings keeps the comments, ordering and formatting in your cmux.json (#13218)
  • The Resume Commands menu no longer offers to override a Dock terminal whose resume command an agent manages (#13219)
  • With several windows open, the sidebar's new workspace button creates the workspace in its own window (#13228)
  • The control socket recovers when its socket file is deleted or replaced while starting up (#13229)
  • cmux --json ping, capabilities and list-workspaces work again from an SSH or Mosh session through the relay (#13237) -- thanks @poof86 for the report!
  • cmux-settings validate in the bundled skill accepts every supported setting path, such as sidebar.showPorts (#13250)
  • Grok hooks run again when cmux socket environment variables are not set (#13271)
  • Browser automation commands no longer time out waiting for a page that already loaded after the web view is rebuilt or its content process restarts (#13288)
  • cmux no longer crashes when a control socket connection closes while it is being read or written (#13292) -- thanks @attrip for the report!
  • Running open inside a cmux terminal with a multibyte argument, such as a Japanese filename, no longer crashes with a segmentation fault (#13301) -- thanks @aerosmooth!
  • Mouse clicks in browser panes work again, including after a Finder drag ends over the pane (#13376)
  • Splitting a pane no longer briefly shows the source terminal's content under the new pane's tab bar (#13404)
  • Local panes running a noninteractive ssh -T helper are no longer treated as remote SSH panes for image transfer (#13509) -- thanks @cameronsjo for the report!
  • A window resized by an accessibility tool or window manager no longer snaps back to its zoomed size when you switch back to cmux (#13574) -- thanks @artisticmedic for the report!
  • Backspace during Japanese IME conversion deletes only the requested character instead of the whole composition (#13581) -- thanks @ShotaNagafuchi for the report!
  • Exiting the last terminal with exit or Ctrl-D honors the quit confirmation setting, including "Don't warn again" (#13583) -- thanks @mykelscappin for the report!
  • After /clear, a Claude session shows as idle instead of running until you submit the next prompt (#13586) -- thanks @ddarbyson for the report!
  • Turning off the Claude Code integration setting also stops cmux from wrapping the claude command in new terminals (#13590) -- thanks @gorosun for the report!
  • An empty Dock pane no longer breaks Claude Teams pane discovery through the tmux shim (#13604) -- thanks @Idan-Or for the report!
  • The tmux shim expands short format aliases such as #S, #I, #P and #W, in local and SSH sessions (#13608) -- thanks @hohoShin and @hongmono for the reports!
  • cmux no longer crashes on Intel Macs shortly after waking from sleep (#13611)
  • A short ref such as surface:7 saved before an app restart fails as unknown instead of targeting a different terminal (#13633)
  • Codex hooks no longer create a stray ~/.cmuxterm folder inside the project directory (#13635) -- thanks @bobguo for the report!
  • Moving the anchor workspace of a pinned sidebar group no longer crashes cmux (#13688)
  • surface.resume.set from the socket or CLI no longer hangs the socket behind an approval dialog; its reply includes approval_required (#13704)
  • workspace.prompt.submitted events report the full prompt length in message_length instead of capping it at 240 (#13728) -- thanks @jtsternberg for the report!
  • Gatekeeper no longer asks to open "cmux Computer Use" again after each cmux update, Homebrew upgrade, or quarantined download (#13819, #13602) -- thanks @ptntp for the report!
  • Claude Code subcommands run in a cmux terminal reach Claude unchanged instead of starting a session with the command as the prompt, including commands added in newer Claude releases (#13826) -- thanks @mtnjwr for the report!
  • Workspace auto-naming with OMP generates titles again instead of failing on Pi-only flags (#13840) -- thanks @enterprisetrapper for the report!
  • cmux reorder-workspace with an unknown --before, --after, or --workspace ref fails with an error naming that ref, instead of "Specify exactly one target" or naming the wrong workspace (#13843, #13961, #13964)
  • cmux no longer quits unrelated helper apps (such as Expo's) that register under cmux's bundle identifier (#13845) -- thanks @alechemy for the report!
  • cmux events --reconnect no longer exits with "Failed to configure socket receive timeout" when replaying a backlog of events (#13888) -- thanks @LuckVd, and thanks @sebikoux for the report!
  • Restoring a Codex session no longer types a printf notice into a shell that is not ready yet, and keeps the saved conversation when the ownership check times out (#13891)
  • CMUX_SSH_RECONNECT_LIMIT values above 20 (up to 86400) are honored for SSH terminals, and an unusable value prints a warning naming the fallback (#13959)
  • A terminal pane focused while its shell is still starting comes up focused instead of waiting for a keystroke or window switch (#13968)
  • The Computer Use helper no longer shows a Finder alert every few seconds when it fails to launch in the background (#14028) -- thanks @azooz2003-bit!
  • Switching to a connected cmux ssh workspace no longer stalls on a redundant terminal refresh when its screen is already drawn (#14044)
  • Changing a setting or resizing a pane no longer re-renders the whole window and sidebar, reducing lag (#14058)
  • Terminals no longer flicker when a display is connected or disconnected (#14116)
  • Cmd-V paste is fast again when copied text also carries HTML or RTF formatting (#14121)
  • cmux no longer hangs in a layout loop when displays are reconfigured (#14122)
  • Remote tmux (beta): Native tmux mirrors report the pane's real foreground and background colors, so apps that query terminal colors no longer see black on black (#14175) -- thanks @ArtixZ!
  • With Settings > App > Dock Badge on, the unread count shows on the Dock icon once you enable Badge application icon for cmux in System Settings > Notifications (#14242) -- thanks @sergeykaplich, and thanks @gilsiun and @tuzisang for the reports!
  • A terminal no longer takes keyboard focus while it is hidden or zero-sized; focus is applied once it becomes visible (#14276)
  • Clicking a custom sidebar tab that targets a surface in another workspace focuses it on the first click instead of the second (#14284) -- thanks @matheusslg for the report!
  • cmux restore codex <session> no longer fails when the Codex session database is briefly unreadable (#14291)
  • Dragging a split or Dock divider no longer resizes terminals as if no drag were happening when another window handled the previous event (#14355)
  • Updating the Computer Use helper from a read-only app location no longer fills the disk with repeated helper copies (#14371) -- thanks @levonk for the report!
  • A URL in a workspace description no longer crashes cmux when an accessibility client such as VoiceOver reads the sidebar (#14382) -- thanks @yann-lauwers for the report!
  • The "Hold Shift to open as split" hint no longer stays on screen after a file drag ends or its window loses focus (#14384)
  • A deferred agent restore resumes once the old agent process exits instead of leaving a plain shell (#14392)
  • Concurrent workspace-create requests from the iOS app can no longer crash cmux (#14395)
  • Claude sessions started through a routed launcher's proxy resume through that proxy again when a workspace is restored (#14412) -- thanks @danielraffel!
  • Installing cmux from the Homebrew tap no longer prints a deprecation warning about depends_on macos (#14424) -- thanks @jacula for the report!
  • cmux ssh sessions see your own ZDOTDIR, so zsh setups like zimfw and oh-my-zsh load your prompt and stop reinstalling modules on every connect (#14441) -- thanks @nguyenlc1993 for the report!
  • Pasting text that contains a few separate question marks, like two questions or two URLs with query strings, takes the fast plain-text path again (#14442) -- thanks @thehaffk for the report!
  • Ctrl-clicking a row in the Files sidebar no longer crashes cmux (#14451) -- thanks @atsukanrock for the report!
  • Edit > Copy and Cmd+C work again on agent TUI panes like Claude Code and Codex when text is selected (#14557)
  • Korean characters drawn from a fallback font no longer show extra spacing between them (#14653) -- thanks @itsinseong for the report!
  • The tmux compatibility shim accepts a whole command in one argument, so Claude Code agent teammate spawns no longer fail with "Could not determine current tmux pane/window" (#14670) -- thanks @Y72253 for the report!
  • surface.read_text and read_screen work on a terminal in a background workspace that has never been shown, instead of failing (#14673) -- thanks @EtanHey for the report!
  • cmux close-surface reports the ref of the surface it closed instead of a new, unknown ref (#14698)
  • Closing a surface whose tab mapping was lost no longer closes a different tab; surface.close returns an error instead (#14704)
  • cmux close-surface with a blank --workspace or --window fails with an error instead of closing the focused surface (#14706)
  • The Cancel button in close-tab, close-workspace and Dock split confirmation dialogs is translated in all supported languages (#14780)
  • opencode notifications target the pane the agent runs in instead of falling back to the focused pane (#14781)
  • Session autosave no longer hangs the app when a terminal renderer is stuck (#14784)
  • A very deep chain of child processes no longer crashes cmux while it builds the process tree (#14785)
  • Typing Japanese or other IME input at the end of the text box no longer crashes cmux (#14786)
  • A deeply nested split layout no longer crashes cmux during session autosave (#14787)
  • Restoring a session that holds only empty windows (for example after a power loss) no longer wedges WindowServer; those windows are dropped (#14788)
  • The fork conversation option no longer drops out right after cmux checks a freshly installed or updated agent executable (#14799)
  • cmux hooks opencode install no longer escapes / in opencode.json, so {file:./AGENTS.md} references keep loading, and a config it already broke is repaired on the next install (#14805) -- thanks @praxstack for the report!
  • With the native Claude Code install, cmux no longer leaks its injected NODE_OPTIONS to programs Claude starts, which could crash-loop sandboxed apps (#14812) -- thanks @aliyansajid, and thanks @kensenzhao for the report!
  • Node tools started from a long-running Claude session no longer fail with MODULE_NOT_FOUND after macOS purges the temp directory, locally and over cmux ssh (#14814, #14851) -- thanks @dmsdc-ai for the report!
  • automation.codexIntegration in cmux.json turns Codex hooks on or off, and cmux config validate accepts several keys cmux already reads (#14816)
  • Two quick restarts after a crash no longer wipe the saved layout; cmux keeps recent session snapshots and holds back a poorer early save (#14824)
  • With several agent sessions running, cmux uses less idle CPU writing its event log (#14828, #14829)
  • An open sidebar checklist popover no longer disappears when its workspace row is moved or redrawn (#14830, #14895)
  • Launching another cmux bundle with the same bundle id no longer force-quits the running cmux; it activates the running app instead (#14831)
  • Sidebar agent spinners animate at their own step rate and stop while hidden, so they no longer keep WindowServer busy at full display refresh (#14832)
  • Shell prompts in cmux zsh, bash and fish no longer spawn tmux on every command when tmux is installed but no server is running (#14833)
  • Codex launched through cmux starts faster, since the wrapper checks the Computer Use helper path with one process instead of dozens (#14835)
  • With the app set to Light and a dark terminal theme, a separate left sidebar draws dark text on its light background instead of white (#14841) -- thanks @stoptypingnow!
  • New terminals open faster: shell integration no longer spawns processes for disabled git and PR watching before and between prompts (#14847)
  • The menu bar Global Search palette opens reliably, even when the menu bar is full or hidden or a previous close never finished (#14881)
  • cmux omo resolves relative file references in your OpenCode config, such as {file:./prompts/chief.md}, without loading agents or commands twice (#14935) -- thanks @aliyansajid!
  • Settings panes open at their top, section clicks no longer land partway down, and the App pane no longer grows after a search hit scrolls to it (#14950)
  • Agent sessions keep their resume bindings across an update relaunch and other background saves, so they resume afterwards (#14971)
  • The Files sidebar in SSH workspaces lists and opens files with non-ASCII names, such as Japanese or accented names, on Linux hosts (#14978) -- thanks @hiromasa-hayashi for the report!
  • Agent turns in repositories with huge untracked trees no longer make cmux hang, and cmux diff --last-turn stays bounded (#14980) -- thanks @Crosery for the report!
  • Remote tmux (beta): Files dropped onto a remote tmux mirror pane upload to that pane instead of being rejected (#14981) -- thanks @jeremywhelchel for the report!
  • cmux Cloud (beta): Cloud VM loading and error panel text stays readable on a dark terminal theme under a light system appearance, and the reverse (#7538)
  • cmux Cloud (beta): Opening a new Cloud machine no longer fails while its tunnel is starting, and dropping onto a Cloud terminal focuses its pane (#12612)
  • cmux Cloud (beta): Cloud machine lists and stats no longer stall when a sign-in token refresh hangs, and a late refresh after sign-out no longer brings back old credentials (#12628)
  • cmux Cloud (beta): A Cloud machine is no longer marked destroyed when the provider returns a temporary 502 error that mentions a missing VM (#12634)
  • cmux Cloud (beta): Closing the last Cloud browser or Desktop view in a workspace no longer opens an unrelated terminal, and reopening it restores the split layout (#12675)
  • cmux Cloud (beta): Cloud VM file watch uploads no longer fail with Broken pipe after sitting idle, and Cloud Diagnostics shows transfer failures with Copy Error (#12759)
  • cmux Cloud (beta): Cancelling and reconnecting cmux Cloud VPN no longer fails, or shows Connected while private traffic goes nowhere (#12886)
  • cmux Cloud (beta): Cloud terminals no longer garble and flicker after a pane resize when macOS shows legacy scroll bars (#12903, #12918)
  • cmux Cloud (beta): Cloud port and desktop previews stay open when their workspace refreshes, show the pane background instead of a white page while loading, and connect page WebSockets (#12912)
  • cmux Cloud (beta): Cloud workspace rows update their directory after a remote cd, and the Cloud icon shows the machine's name (#12978)
  • cmux Cloud (beta): Renaming a Cloud workspace shows the new name in the sidebar row, title bar, and Cloud tree (#13002)
  • cmux Cloud (beta): Dismissing a Cloud notification also clears its dot in the Cloud tree (#13004)
  • cmux Cloud (beta): The sidebar + menu's New Workspace creates a local workspace even when a Cloud workspace is selected (#13020)
  • cmux Cloud (beta): Cloud machine headers in the Cloud sidebar use the same icon-to-name spacing as folder and terminal rows (#13081)
  • cmux Cloud (beta): Using Cloud for the first time no longer triggers a macOS Local Network permission prompt, and the first Cloud terminal opens faster after sign-in (#13085)
  • cmux Cloud (beta): Rapid splits or new terminals in a Cloud workspace no longer open some panes as local terminals (#13098)
  • cmux Cloud (beta): Disabling Cloud, switching teams, or deleting a machine cancels terminal creates still waiting on that machine (#13150)
  • cmux Cloud (beta): Cloud shows a retryable offline state when the network changes during the first machine list load, and overlapping Cloud reads no longer pile up (#13151)
  • cmux Cloud (beta): cmux no longer crashes on macOS 14 during Cloud operations (#13200)
  • cmux Cloud (beta): Cloud no longer briefly shows a new terminal in the wrong pane or blanks the desktop view while it connects, and stays responsive with many machines (#13202)
  • cmux Cloud (beta): In a Cloud workspace, the Files and Find sidebar tools browse and search the workspace's VM instead of the local Mac (#13302)
  • cmux Cloud (beta): Dragging a single-tab pane to a split edge in a Cloud workspace creates the new terminal on the Cloud machine instead of a local shell (#13331)
  • cmux Cloud (beta): Cloud terminals no longer print repeated "No such file or directory" errors from ble.sh after the desktop session that created them closes (#13351)
  • cmux Cloud (beta): In the Cloud sidebar, the unread dot sits on the left before the pin, icon, and title, and read rows no longer reserve space for it (#13367)
  • cmux Cloud (beta): A Cloud tunnel that drops while still connecting fails right away instead of waiting out the full connect timeout (#13433)
  • cmux Cloud (beta): Cloud sidebar icons no longer intermittently render blank on Intel Macs (#13713)
  • cmux Cloud (beta): Opening a Cloud Desktop view from the Cloud sidebar goes to the workspace you clicked from and loads reliably, even if the selection changes while it opens (#13897, #13938)
  • cmux Cloud (beta): The delete, close, and add buttons on a Cloud sidebar machine row act instead of expanding or collapsing the row (#13982)
  • cmux Cloud (beta): A restored Cloud terminal no longer shows stale or duplicated rows after a hidden pane is revealed at a different size (#14090)
  • cmux Cloud (beta): Cloud terminal rows keep showing their last known working directory while the machine is refreshing or reconnecting (#14293)
  • cmux Cloud (beta): A new Cloud machine's first workspace takes the remote workspace name instead of staying titled "Cloud VM" (#14459)
  • cmux Cloud (beta): Renaming a Cloud workspace no longer fails with "Couldn't update the machine workspace" while its terminal is producing output (#14512)
  • cmux Cloud (beta): Agent names such as Codex and OpenCode in the Machines Open Cloud Agent menu are no longer machine-translated (#14922)
  • iOS (beta): Signing out stops push notifications, including ones already being delivered (#12924) -- thanks @azooz2003-bit!
  • iOS (beta): Active terminal accessory buttons are legible in Dark and Light Mode (#12995)
  • iOS (beta): The workspace list no longer stays clipped at the keyboard's top edge after you return from a terminal or task composer (#13318) -- thanks @azooz2003-bit!
  • iOS (beta): Typing in a terminal no longer freezes for seconds while an agent streams heavy output (#13432) -- thanks @azooz2003-bit!
  • iOS (beta): The composer bar no longer drops into the home-indicator area after the Mac disconnects while the keyboard is up (#13471) -- thanks @azooz2003-bit!
  • iOS (beta): Viewing a terminal on iPhone no longer makes the Mac terminal resize over and over (#13498, #13548) -- thanks @azooz2003-bit for the report!
  • iOS (beta): Tapping a push notification while the Mac is reconnecting opens the right tab once the connection is ready, or shows an alert if the tab is gone (#13542) -- thanks @azooz2003-bit!
  • iOS (beta): A transient model discovery failure no longer marks a healthy Mac unavailable in the task composer; it retries with backoff (#13544) -- thanks @azooz2003-bit!
  • iOS (beta): Saved computers use their own connection method at startup instead of the app-wide Tailscale setting, and every visible computer gets a connection (#13561) -- thanks @azooz2003-bit!
  • iOS (beta): Forgetting a computer no longer leaves an online Mac unavailable; the Mac re-registers and its row comes back (#13565) -- thanks @azooz2003-bit!
  • iOS (beta): Encrypted push notifications appear on the official TestFlight build instead of being silently dropped (#13610) -- thanks @azooz2003-bit!
  • iOS (beta): Terminals on the phone no longer resize and redraw the whole screen over and over while agent output streams (#13734, #13761) -- thanks @azooz2003-bit!
  • iOS (beta): A Mac paired with more than one iOS app build sends notifications to every build, not just one (#13741) -- thanks @azooz2003-bit!
  • iOS (beta): Reconnecting at launch waits for paired Macs to load instead of treating them as missing (#13750) -- thanks @azooz2003-bit!
  • iOS (beta): A Mac paired before build tags existed picks up its new address when it changes networks (#14012)
  • iOS (beta): Files filter chips no longer fade out and disappear before reaching the sheet edge when you swipe them (#14038) -- thanks @azooz2003-bit!
  • iOS (beta): Push notifications show the agent's title and message instead of "An agent needs your attention" (#14039, #14110) -- thanks @azooz2003-bit!
  • iOS (beta): The workspace list keeps the rows you are reading in place when rows above change, and no longer shows a stale order after scrolling (#14040) -- thanks @azooz2003-bit!
  • iOS (beta): The app no longer shows Not Connected at launch and waits about 10 seconds to connect to a reachable Mac (#14124) -- thanks @azooz2003-bit!
  • iOS (beta): On an empty workspace list, the Retry and See Docs buttons show their labels at normal size instead of blank capsules over the tab bar (#14377) -- thanks @azooz2003-bit!
  • iOS (beta): A control connection that goes quiet is repaired in place instead of dropping every terminal and reconnecting from scratch (#14695) -- thanks @azooz2003-bit!
  • iOS (beta): Heavy output in one terminal no longer delays typed characters appearing in another terminal (#14699) -- thanks @azooz2003-bit!
  • iOS (beta): The terminal composer dock stays at the bottom of the screen when you open a workspace instead of floating partway up (#14702) -- thanks @azooz2003-bit!
  • iOS (beta): When the phone leaves Wi-Fi or changes network, terminal output moves to a working path right away instead of stalling for several seconds (#14720) -- thanks @azooz2003-bit!
  • Detached workspaces keep process-derived titles updateable while preserving manually named tabs and explicit workspace names (#4947) -- thanks @gigio1023!
  • Restored remote terminals keep trusted remote working directories, and local terminals no longer inherit another workspace's directory (#8634, #16248) -- thanks @ejc3!
  • Relay connections and persistent Cloud requests honor their deadlines and cancellation, including when the app or socket reader was suspended (#11029, #12631)
  • Sidebar reopening and custom context menus avoid repeated expensive workspace projections and eager menu construction (#11037, #11837, #13931, #15445)
  • New windows honor the configured minimum sidebar width when no width has been saved (#11539)
  • Notification hooks stop inheriting unrelated pipes that could make them time out or show false approval banners (#11649) -- thanks @chapati23!
  • A completion notification that reorders another workspace no longer tears down the selected terminal and leaves it blank (#11954)
  • Focusing a workspace or answering an agent clears the matching unread notifications and attention rings, including notifications without a pane ID (#12427, #15974, #16044) -- thanks @hemster!
  • Restored sessions discard stale listening-port snapshots and repopulate them from live processes (#12436) -- thanks @seanperkins!
  • Cloud usage failures use bounded retries instead of repeatedly requesting usage during an authorization outage (#12869)
  • Cmd-Q allows deferred termination cleanup to finish (#13018) -- thanks @aliyansajid!
  • Socket requests bound their main-thread waits, answer rejected clients, and expire stale jobs instead of leaving callers hanging (#13397)
  • The file editor highlights Elixir and Erlang files, opens .exs as text, and preserves SQL highlighting in Jinja templates (#13732, #15634) -- thanks @camilohollanda!
  • New mosh-tmux panes use the current shell integration after relay reconnects instead of an expired shell directory (#13835)
  • Workspace group color and icon commands accept their documented value keys, validate colors, and retain valid generated anchors (#13877, #15000, #15892) -- thanks @LuckVd!
  • Cloud mirror tabs honor the requested insertion index (#13998)
  • Cloud stops redialing a refused address family and skips connection preparation while signed out (#14059)
  • Restored agents lose their tab marks when they exit back to the shell (#14062)
  • Legacy SSH configurations and file-preview restores preserve their original session ownership instead of being treated as new cmux-tui sessions (#14119, #14216)
  • Nushell exposes the Claude integration wrapper when its toggle is enabled (#14263)
  • A Pi feed with an unresolved explicit workspace fails instead of leaking another workspace's events (#14277)
  • Codex and organization discovery in Cloud VMs accept signed VM authorization without database type errors or falling into the browser login path (#14286, #14328)
  • Authentication-service failures no longer replace the entire website with an error after it has loaded (#14316)
  • My Devices discovery, consent, live mirror resizing, restored offline status, and retry badges recover consistently; blank hibernated agents wake correctly (#14335, #14363, #14420, #15440, #15474)
  • Team members can manage shared model accounts, transfer errors name the right team, and organization API keys stay scoped to team-shared accounts (#14372, #15085, #15086)
  • Agent restore keeps unknown liveness unknown and retains idle Claude sessions through transient process-census changes (#14419, #15467)
  • Codex fork and restore bind the right session, serialize validation handoffs, and stop waiting indefinitely on live restore leases (#13960, #14494, #15120, #15133)
  • The browser renders local UTF-8 text correctly (#14502)
  • Ghostty tab and window keybindings work again, and legacy Ctrl-Tab ignores Caps Lock (#14508, #15981) -- thanks @soyeladice-svg!
  • Diff toolbar controls remain clickable and typed diff-session patches load correctly (#14525, #14538)
  • SSH launch acknowledgement failures retry visibly, OpenSSH errors retain their SSH context, password-only hosts keep their authentication policy, and configured commands rerun after a missing remote session (#14540, #14756, #15713, #15764)
  • Dictation and dropped-path insertion work through the terminal input path without clipboard-restore races, main-thread paste freezes, or unrelated-process checks (#14549, #15113, #15183, #15262)
  • Cmd-I anchors the notification popover correctly (#14582)
  • Claude and Codex hook completion survives reentry, transient ownership loss, teardown, and queue saturation, without repeatedly launching the CLI for queued hooks (#14715, #14931, #15567, #15603, #15612, #16122, #16244)
  • Permission refresh no longer opens Computer Use onboarding on its own (#14752)
  • Cloud machine lists recover when the app returns to the foreground, and a user's Open action can retry immediately after a background link failure (#14777, #15104, #15291)
  • Feedback attachment filenames discard control characters (#14783)
  • Custom sidebar functions return correctly and preserve file-scope bindings (#14806)
  • Queued agent hooks receive their reply within the agent's own hook timeout (#14834)
  • The Claude wrapper avoids redundant settings validation and overlaps startup work to reduce launch delay (#14872)
  • Current Work retains remote machine kinds instead of labeling them as local (#14914)
  • Password badge actions remain bound to the runtime that displayed them (#14921)
  • Surface listings redact custom Codex paths for each surface (#14923)
  • SSH workspaces using the v0.64.25 tmux profile reattach after an upgrade; update saves retain reattach bindings, and restored remote terminals keep replay and clipboard isolation (#14938, #15116, #15187)
  • Failed image pastes show a brief notice for oversized images and timeouts (#14953)
  • Sidebar popovers finish closing even when their delegate never reports completion (#14958, #16029)
  • Close actions show one dialog, Feed banner clicks open the owning agent, and sidebar or Computer Use activity no longer interrupts focused work (#14960, #14961, #15311)
  • Remote Claude hooks and late sidebar observers reconcile current agent status, and Cloud terminal icons follow agent lifecycle changes (#14974, #15829, #15831, #15887, #16337)
  • SSH workspace names survive remote workspace creation (#14976)
  • The selected sidebar row stays clear of the footer (#15013)
  • Cloud Machines disclosure and recovered projections refresh without hangs or observation mutations during reads (#15077, #15126, #16335)
  • Cloud tab drags, tool drag-to-split, pane drop highlights, and machine reorder insertion lines target the correct destination without stale hints (#15082, #15123, #15160, #15171, #15447, #15550, #16295) -- thanks @azooz2003-bit!
  • Mac pairing recovers a missing team scope instead of failing (#15083)
  • Model-account requests wait for an in-progress credential refresh instead of racing it (#15087)
  • read_text reports an unavailable terminal with its reason and how to wake it (#15101, #15159)
  • Codex team watchers and auto-naming keep socket passwords and provider credentials out of process arguments (#15140, #16201, #16233)
  • Ghostty's config error card ignores cmux-owned keys, and restored scrollback ends on a new line (#15152)
  • Deciding a Claude permission in the terminal clears the stale Needs input badge (#15170)
  • Late tool results and delayed reminders do not make a finished Claude turn appear Running again (#15173, #16257)
  • New and active Cloud workspaces are revealed and selected in the sidebar (#15186, #16370)
  • My Devices notifications synchronize into the local sidebar, and Cloud notification reads retain the right unread state and pane attribution (#15198, #15933, #15972)
  • An exited terminal's tab edge stays consistent with its current state (#15205)
  • Predictive echo applies only to remote terminals, withdraws on pasted or sent input, and preserves terminal control replies (#15211, #15848, #15849)
  • Bash preserves $? for later PROMPT_COMMAND hooks (#15255) -- thanks @tk1475!
  • When panes share an agent key, the sidebar shows the most urgent pane's status (#15260)
  • cmux terminal screen wait exits with status 1 on timeout (#15282)
  • Cloud graphs recover from missing cursors, equal-cursor conflicts, and overlapping forced refreshes instead of freezing (#15283, #15328, #15830)
  • Explicit SSH control options reach an existing idle carrier (#15285)
  • Cloud prompt names keep a machine's chosen name instead of changing to its slug (#15288)
  • cmux send refuses to overwrite an agent prompt draft or send through an open dialog (#15302)
  • Cloud machine accessibility and rename prompts use readable machine labels, preserving row identity at narrow widths (#15326, #16202, #16287)
  • SSH exit prompts no longer block draining terminal output (#15337)
  • A failed Cloud owner-network lookup rolls back the machine creation (#15358)
  • Cloud machine deletion finishes and durably retries its cleanup when the machine is first found gone (#15359, #15423)
  • Animated window resizing respects the minimum window size and preserves the terminal area when side panels cannot fit (#15368, #15369)
  • CLI authorization asks signed-out browsers to sign in and completes Cloud sign-in handoffs (#15502, #16059)
  • The browser passkey bridge uses the browser's WebAuthn input limits (#15525)
  • Claude remote-control names survive session restore (#15619)
  • Cloud displays start their connection automatically, and workspace reconciliation settles without repeatedly placing already visible panes or losing membership-less previews (#15744, #16025, #16030, #16109, #16158)
  • CLI commands reject extra VM remove or send-key operands and malformed VM snapshot, clone, and tmux compatibility options instead of silently accepting them (#15839, #15963, #15980, #16373) -- thanks @soyeladice-svg!
  • A full private network returns a clear conflict response, and replaced stale tunnels are removed (#15890)
  • The Codex transcript monitor starts watching before its initial read so it cannot miss a completion (#15913)
  • Codex TUI approval prompts appear as Needs input (#15926)
  • send-key Ctrl-letter input works with the Kitty keyboard protocol (#15928)
  • Paused Cloud machines stay asleep while cmux is open (#15934)
  • Lost or malformed machine-create replies preserve idempotency instead of creating duplicate VMs (#15946, #16240)
  • Codex auto-naming preserves messages containing HTML-like text (#15984) -- thanks @soyeladice-svg!
  • Idle Cloud row clicks remain available (#15996)
  • Stripping the cmux Node preload preserves quoted NODE_OPTIONS values (#16031)
  • Cloud link failures retain the last relevant stderr lines while keeping diagnostics isolated to their link (#16057, #16303)
  • New Cloud devbox images include the terminal replay fix for blank cells (#16072)
  • cmux vm push retries transient watch failures (#16130)
  • Cloud port publishing refuses the VM daemon's private control port (#16144)
  • OpenCode requests retain the provider address they started with (#16165)
  • Session restore ignores duplicate panel IDs instead of failing the restore (#16182)
  • Valid Claude hook sessions survive decoding changes (#16196)
  • OpenCode auto-naming is isolated to its workspace and honors XDG and database path overrides (#16210, #16229)
  • Cloud manual input follows the active pane's focus (#16271)
  • Files roots resolve on the correct local or remote workspace host (#16301)
  • The local terminal sizing overlay no longer flickers (#16315)
  • Cloud opening status no longer claims success before the open completes (#16316)
  • Codex hook edits preserve multiline TOML strings and recognize closing delimiters after comments (#16371, #16378)
  • Socket capability discovery advertises the Cloud methods the dispatcher actually supports (#16460)
  • iOS (beta): Computers uses the current workspace alias color (#10695)
  • iOS (beta): Startup and notification recovery keep the reconnecting state, dial available Macs without waiting on unresponsive ones, retain newer admitted connections, and start restored terminals when attached (#13856, #15127, #15141, #15197, #15345, #15442, #15465, #15471) -- thanks @azooz2003-bit!
  • iOS (beta): PureScript artifacts use the bundled Haskell syntax grammar instead of generic detection (#14202) -- thanks @i-am-the-slime!
  • iOS (beta): Encrypted push notifications accept the paired Mac's key exchange and use the correct push environment for development installs (#14267, #14292, #14296) -- thanks @azooz2003-bit!
  • iOS (beta): Local Mac connections wait for acknowledged NAT authorization so direct routes can form instead of remaining on the relay (#14295) -- thanks @azooz2003-bit!
  • iOS (beta): Missing app identity or simulator support directories use a recoverable in-memory token store instead of crashing (#14302, #16032)
  • iOS (beta): Terminal input reaches its named terminal exactly once (#15432) -- thanks @azooz2003-bit!
  • iOS (beta): Background updates preserve tab-menu scroll position (#15486) -- thanks @azooz2003-bit!
  • iOS (beta): Computer picker status text does not clip (#15799) -- thanks @azooz2003-bit!
  • iOS (beta): Cloud workspaces gain the same open, focus, and split behavior as the other workspace hosts (#15935) -- thanks @azooz2003-bit!
  • iOS (beta): Terminal composer input stays literal (#15991) -- thanks @soyeladice-svg!
  • iOS (beta): The composer shortcut strip stops snapping at its edges (#16128) -- thanks @azooz2003-bit!
  • Live terminal resize flushes its coalesced geometry update promptly (#14297)
  • Persistent SSH resumes stop attaching an unverified relay authentication value (#14694)
  • Mosh sessions discard the unused SSH launcher when Mosh takes over (#15896)
  • Agent product names remain unchanged across translations (#15903)
Doprinositelji
Je li vam ova stranica bila korisna?
Prijavi problem