// compare
mmux vs cmux
The names differ by one letter, but these are separate projects by different authors. mmux is a terminal UI that runs inside a tmux session in whatever terminal you already use, on macOS or Linux. cmux, by Manaflow, is a native macOS terminal app built on libghostty. The real difference: mmux brings agents, processes and git into one persistent TUI, cmux replaces your terminal app with a GUI made of tabs, splits, a browser and notifications.
Last checked against cmux v0.65.1 on .
// tl;dr
Pick cmux if you work on a Mac and want a GPU-rendered terminal app with vertical tabs, split panes, a scriptable in-app browser, notification rings and a notification panel. It also restores agent conversations for more agents than mmux, and offers paid cloud VMs and an iOS app.
Pick mmux if you want the same setup on a Linux box or over SSH from any terminal, programs that keep running when the window closes, and built-in dev processes, a git panel and git worktrees in the same sidebar.
They are not exclusive: cmux is a terminal, and mmux is a program you run in a terminal. See below.
At a glance
| Capability | mmux | cmux |
|---|---|---|
| Platforms | yes: macOS (Apple Silicon) and Linux, inside any terminal | partly: macOS app (Apple Silicon and Intel); iOS app in beta |
| Programs keep running after the window closes | yes: always, every session lives in a tmux session | partly: opt-in with cmux local-tmux; by default the layout is restored, not the processes |
| Agent conversations resume after quit | partly: Claude, Codex, Pi and Grok | yes: 13 agents via hooks, including Claude Code, Codex, OpenCode, Gemini |
| Remote machines | yes: runs on the remote host; attach from any SSH client | yes: cmux ssh workspaces; remote tmux attach in beta |
| Split panes | no: one program in the main pane at a time | yes: horizontal and vertical splits, tabs |
| Built-in browser | no: links open in your system browser | yes: browser pane that agents can script |
| Agent attention cues | yes: idle agents turn green; desktop notification, also over SSH | yes: pane rings, unread badges, notification panel, macOS notification |
| Git | yes: git panel: stage, commit, branches, push | partly: sidebar shows branch and linked PR status |
| Git worktrees | yes: w creates one, M merges it back |
no: not built in by design; script it yourself |
| Dev servers and scripts | yes: Processes section with start, stop, restart, autostart | partly: custom commands in cmux.json; sidebar lists listening ports |
| Price | free | app free; Pro from $40/month for cloud VMs and the iOS app |
| License | GPLv3 | GPL-3.0-or-later; server parts BUSL-1.1 |
cmux facts from its README, LICENSE, docs and pricing page at v0.65.1 (released 2026-10-12). mmux facts from its docs at 0.13.13.
What is cmux?
cmux describes itself as "a Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents" [1]. It is a native app written in Swift and AppKit that uses libghostty for rendering and reads your existing Ghostty config for themes, fonts and keybindings [1]. It is not a fork of Ghostty [1].
Its main additions over a plain terminal are a sidebar of vertical tabs (showing git branch, linked PR, working directory, listening ports and the latest notification), a notification system that picks up OSC 9/99/777 escapes or the cmux notify CLI, an in-app browser that agents can drive, and a CLI plus socket API to create workspaces, split panes and send keystrokes [1]. The project calls itself "a primitive, not a solution" [1], and for that reason has said it will not add built-in git worktree support [5].
cmux is made by Manaflow, a Y Combinator Summer 2024 company in San Francisco [6]. The app is free and GPL-3.0-or-later, while its server components are under BUSL-1.1 [7]. Paid Pro, Max, Team and Enterprise plans add cloud VMs, the iOS app and team features [4]. The repository also contains a Rust TUI called cmux-tui, but it is not part of the release downloads we checked [3], so this page compares the macOS app.
Where cmux is better
- Several things on screen at once. cmux has tabs and horizontal and vertical splits, so you can watch two agents and a dev server side by side [1]. mmux shows one program in its main pane at a time; you switch between them from the sidebar.
- A browser next to the terminal. cmux can split a browser pane beside a terminal, and agents can snapshot the page, click, fill forms and read console output through the same API [1]. mmux has nothing comparable.
- A native Mac app. GPU rendering through libghostty, your Ghostty config, macOS keyboard shortcuts, Sparkle auto-updates and a DMG install [1]. mmux is a TUI, so how it looks and feels depends on the terminal you run it in.
- Notification handling. Besides desktop notifications, cmux keeps a notification panel, marks panes with a ring and has a shortcut to jump to the latest unread [1]. mmux colors sidebar rows and sends a desktop notification, but keeps no history of them.
- More agents resume. cmux lists resume support for 13 agents, among them Claude Code, Codex, OpenCode, Gemini, Amp and Copilot [1]. mmux resumes Claude, Codex, Pi and Grok conversations.
- Phone and cloud. cmux has an iOS app (beta) that pairs with your Mac, and paid cloud VMs to run agents in isolated sandboxes [1][4]. mmux has neither; on a phone you SSH in and mmux switches to a single-column layout.
Where mmux is better
- Linux and any terminal. mmux is one binary for macOS and Linux that runs in iTerm2, Ghostty, kitty, WezTerm, a plain SSH session or cmux itself. cmux is macOS only [1].
- Persistent by default. Every mmux runs inside an invisible tmux session, so closing the window or losing an SSH connection detaches instead of killing your agents. In cmux, quitting restores the layout and resumes supported agents, but live processes only survive if you opt in with
cmux local-tmux[1][2]. - Runs where the code is. On a remote server, mmux runs on that server and you attach with any SSH client, from any computer. Desktop notifications still reach your local terminal through OSC escapes.
- Dev processes as first-class rows. Dev servers and scripts are declared in
mmux.yaml, started and stopped from the sidebar, can run astop:command on quit, and only one checkout of a repository runs a given process at a time so ports do not clash. - Git panel and worktrees built in. Stage, commit (with an AI-suggested message), switch branches and push from the right-hand panel. Press
wand a worktree opens as its own project box with its own agents and processes;Mmerges it back. cmux leaves worktrees to your own scripts on purpose [5]. - Projects grouped by directory. One mmux per directory, and a workspace manifest can bundle several repositories into one sidebar.
When to use which
Choose cmux when
- you work on a Mac and want a GUI terminal app, not a TUI
- you want to see several agents side by side in splits
- agents should drive a browser next to the terminal
- you want managed cloud VMs or an iOS app and are fine paying for them
- you prefer building your own workflow from primitives
Choose mmux when
- you work on Linux, or on a remote box over SSH
- agents must keep running after you close the window
- you want dev servers, git and worktrees in the same sidebar as the agents
- you want to keep your current terminal app
Using cmux and mmux together
cmux is a terminal and mmux is a terminal program, so you can run mmux inside a cmux tab. You keep cmux's rendering, splits and browser pane, and mmux keeps the agents alive when you quit cmux.
- Install mmux (it needs tmux on your
PATH). - Open a cmux workspace in your project and run
mmux. Reattach later withmmux attach. - mmux's default
osc9notifications are an escape that cmux listens for [1], so an agent that needs you should still raise cmux's notification cues. We have not tested this combination.
cd ~/some/project
mmux init
mmux
FAQ
Are mmux and cmux the same project?
No. They are unrelated projects with different authors and code. cmux is a macOS terminal app by Manaflow. mmux is an open source TUI by Marvin von Rappard that runs inside tmux. Neither is a fork of the other.
Does cmux run on Linux or Windows?
Not as of v0.65.1. The cmux README says it is macOS only for now, as a native Swift and AppKit app. mmux runs on macOS and Linux.
Is cmux free?
The macOS app is free and its code is GPL-3.0-or-later. Paid plans start at $40 per month billed yearly and add cloud VMs and the iOS app. mmux is free and GPLv3.
Do agents keep running when I quit cmux?
Not by default. cmux restores the layout, working directories and scrollback, and resumes supported agents from saved session IDs. For live processes that survive quitting, it offers the opt-in cmux local-tmux command. In mmux every session runs inside tmux, so closing the window only detaches.
Can I run mmux inside cmux?
Yes. cmux is a terminal, so mmux runs in a cmux tab like any other terminal program.
Sources
Other comparisons
- mmux vs OrcaA desktop app for agents in parallel worktrees, with an editor, a browser and SSH worktrees built in; mmux does the same job inside a terminal.
- mmux vs SupersetAn Electron app for parallel CLI agents in worktrees, with a CLI, SDK and hosted MCP server; mmux is a single-binary TUI on tmux.
- mmux vs tmuxThe general-purpose terminal multiplexer mmux itself runs on: panes, windows and full configuration, with no notion of agents.
- mmux vs WarpA desktop terminal with its own AI agent, cloud agents and paid usage; mmux runs inside any terminal and keeps your agent CLIs alive in tmux.
- mmux vs ZellijA Rust terminal workspace with tiled, floating and stacked panes, layouts, plugins and a web client; mmux trades layout freedom for an agent sidebar.
Try mmux
One binary for macOS, Linux and WSL. Run mmux in any project directory.
curl -fsSL https://mmux.org/install.sh | sh