# MAO vs cmux: a canvas of wired agents or a Mac terminal built for them?

cmux is a free, open-source macOS terminal built on Ghostty's engine, with vertical tabs, notification rings, an in-app browser and a CLI for running many coding agents. MAO is a canvas for macOS, Windows and Linux where agents run as real terminals you wire together. Choose by platform, and by whether agents should hand work to each other.

cmux is a free, open-source native macOS terminal from Manaflow, built on libghostty, that organizes many coding agents into workspaces with vertical tabs, notification rings, split panes, an in-app browser and a CLI and socket API to script all of it. MAO is a desktop canvas for macOS, Windows and Linux where each agent runs as a real terminal node, and agents you wire together can hand tasks to each other and drive a browser or a phone. Choose cmux if you work on a Mac and want a free, scriptable terminal you shape yourself; choose MAO if you need Windows or Linux, a Git worktree per agent built in, or agents that pass work along a wire.

## What is cmux?

**cmux is a native macOS terminal app for running AI coding agents side by side, made by Manaflow.**

It is written in Swift and AppKit and uses libghostty, Ghostty's rendering library, for the terminal; its FAQ says it is not a fork of Ghostty, and it reads your existing Ghostty config for themes, fonts and colors. A window holds workspaces listed in a vertical sidebar; each workspace splits into panes, and each pane holds tabs called surfaces, which are a terminal or a browser. The sidebar shows each workspace's git branch, linked pull request, working directory, listening ports and latest notification.

cmux works with any agent that runs in a terminal and names Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider, Goose, Amp, Cline and Cursor Agent. When an agent needs you, its pane gets a blue ring and its tab lights up, from terminal escape sequences (OSC 9, 99 and 777), agent hooks or `cmux notify`. `cmux claude-teams` runs Claude Code's agent teams with each teammate in its own split, and after `cmux hooks setup`, supported agents such as Codex and OpenCode resume their sessions when cmux reopens.

Everything is scriptable through the `cmux` CLI and a Unix socket: create workspaces, split panes, send input to a terminal, read its screen and drive the in-app browser. `cmux ssh user@remote` opens a workspace on another machine. The app itself is free; the paid plans add cmux Cloud, persistent Linux machines in the cloud that open as cmux workspaces, plus the iOS app.

## How do MAO and cmux differ?

**Both run agents in real terminals and give them a browser to drive; they differ on platforms, on isolation, and on whether agents can reach each other.**

|  | cmux | MAO |
| --- | --- | --- |
| Platforms | macOS 14 or later (Apple silicon and Intel). An iOS companion app comes with paid plans. cmux Browser, a separate Chromium-based app, has a nightly Linux x64 build. | macOS (Apple silicon and Intel), Windows (x86_64), Linux (x86_64, Wayland and X11) |
| Agents supported | Any agent that runs in a terminal; names Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider, Goose, Amp, Cline and Cursor Agent | Claude Code, Codex, Gemini CLI, Grok, OpenCode, Antigravity, shells and custom commands |
| How an agent runs | A Ghostty-rendered terminal in a split pane or tab, inside a workspace in the vertical sidebar | A real terminal node on the canvas running the agent's own CLI and login, with an optional chat mode |
| Isolation per agent | Not documented for local agents. Cloud VMs on paid plans run agents in isolated remote sandboxes. | Optional layers: each layer is a Git worktree on its own branch with its own canvas, landed into Ground after a check |
| Agents handing work to each other | Not documented as tasks. `cmux send --surface` and the socket API type into another terminal and read its screen; `cmux claude-teams` shows Claude Code teammates as splits. | Wires between agents; `mao ask`, `mao send` and `mao result` deliver tasks with IDs and return results |
| Built-in browser or device testing | An in-app browser pane that agents drive with `cmux browser` (navigate, click, fill, snapshot, evaluate JavaScript, read console and network). Computer Use lets Claude Code and Codex control native Mac apps. | A Chromium browser portal and an Android emulator or phone that a wired agent drives; an iOS Simulator portal on a Mac |
| Remote machines | `cmux ssh` workspaces on your own machines, remote tmux sessions (beta), and cmux Cloud machines on paid plans | A workspace on your own Linux server over SSH, or inside WSL on Windows (with a licence) |
| Source | Open source: GPL-3.0-or-later for the macOS app, iOS app and CLI; the cmux server software is under the Business Source License 1.1 | Closed source; sold as a licence |
| Price | Free; Pro US$50 a month, Max US$200 a month, Team US$60 per user a month for Cloud VMs and the iOS app; Enterprise custom | One-time purchase, US$20 in most countries and lower in parts of Asia and South America; 7-day free trial with 1 workspace and 1 project |

## When does cmux fit better?

**When you work on a Mac and want a free, open-source terminal that you script and shape yourself.**

- **Free and open source.** The terminal and local agents cost nothing, and the app's source is on GitHub under GPL-3.0-or-later, so you can read it, build it and change it.
- **Terminal first.** cmux is a terminal with tabs, splits and keyboard shortcuts, and it reads your Ghostty config. Its own docs call it "a primitive, not a solution": it does not prescribe how you work with agents.
- **Everything scriptable.** Every action is a CLI command and a socket call, so your own scripts and agents can open workspaces, type into terminals, read their screens and drive the browser.
- **Claude Code agent teams.** `cmux claude-teams` turns Claude Code's teammates into visible splits with sidebar status and notifications, with no tmux.
- **Native Mac app control.** Computer Use lets Claude Code and Codex read and click native Mac apps. MAO's portals cover a browser, Android and the iOS Simulator.
- **Cloud machines and a phone app.** Paid plans add persistent Linux machines in the cloud that keep running with your laptop closed, and an iOS app that attaches to your Mac's terminals.

## When does MAO fit better?

**When you work on Windows or Linux, want a worktree per agent built in, or want agents to hand work to each other.**

- **Windows and Linux.** MAO runs on macOS, Windows and Linux. cmux's FAQ says it supports macOS only, for now.
- **Hand-offs along wires.** Connect two agents on the canvas and one can send the other a task with `mao ask` and get the result back by task ID. An agent marked as the Orchestrator can recruit more agents and connect them to notes and portals.
- **A worktree per agent.** A MAO layer is a Git worktree on its own branch with its own canvas, and **Land…** checks for conflicts and uncommitted changes before merging it into Ground.
- **Phones and simulators for agents.** Besides a browser, a wired agent can drive an Android emulator or phone, and on a Mac an iOS Simulator.
- **A canvas instead of tabs.** Agents, notes, files, Git changes, portals and the connections between them sit side by side on one surface you pan and zoom.
- **One payment.** MAO is a one-time purchase; remote workspaces run on your own Linux server over SSH with no monthly plan.

## How do I compare them on a real task?

**Run the same two-part task in each on a Mac, since cmux runs only on macOS.**

1. Pick a task with two parts, such as an API change and its tests, in a repository you know.
2. In cmux, open a workspace, split it into two panes and start one agent in each. Run `cmux hooks setup` so the agents' notifications reach the sidebar. For separate files per agent, create a worktree for each with `git worktree add` first.
3. In MAO, place two agent nodes, give each a role and connect them, or create a layer for each agent. Have one agent send the other its part with `mao ask`.
4. Have each agent check a web change in the built-in browser: a browser pane in cmux, a browser portal in MAO.
5. Compare how you learned which agent needed you, how work moved between the agents, and what it took to merge the result.

## Frequently asked questions

### Is MAO an alternative to cmux?

Yes, for running several coding agents at once. cmux is a free macOS terminal with workspaces, notifications and a scriptable browser, while MAO is a paid canvas for macOS, Windows and Linux where wired agents hand each other tasks.

### Is cmux open source?

Yes. The cmux macOS app, iOS app and CLI are licensed under GPL-3.0-or-later and the source is at github.com/manaflow-ai/cmux. The cmux server software uses the Business Source License 1.1, which requires a commercial licence for production use.

### Is cmux free?

Yes. The terminal and local agents running on your own keys are free. The Pro, Max, Team and Enterprise plans add cmux Cloud machines and the iOS app.

### Does cmux run on Windows or Linux?

The cmux terminal runs on macOS only; its FAQ says "macOS only, for now". Its site offers a separate nightly Linux x64 build of cmux Browser, a Chromium browser with terminal surfaces. MAO runs on macOS, Windows and Linux.

### Does cmux support Codex and Claude Code?

Yes. Any agent that runs in a terminal works in cmux, including Claude Code and Codex, and both are among the agents whose sessions cmux can resume after a restart. MAO runs both as real terminal nodes too, along with Gemini CLI, Grok, OpenCode and Antigravity.

## Sources

- [cmux website](https://cmux.com/): a native macOS terminal built on libghostty, the agents it names, the in-app browser, notifications, SSH and remote tmux, free to use and GPL-licensed, made by Manaflow.
- [cmux README on GitHub](https://github.com/manaflow-ai/cmux): Swift and AppKit, the sidebar's contents, notification rings and OSC 9, 99 and 777, `cmux claude-teams`, `cmux ssh`, session restore and `cmux hooks setup`, "macOS only, for now", the Zen of cmux, and the supported agents.
- [cmux LICENSE](https://github.com/manaflow-ai/cmux/blob/main/LICENSE): GPL-3.0-or-later for the apps and CLI, BUSL-1.1 for the server software directories.
- [cmux: Getting started](https://cmux.com/docs/getting-started): macOS 14 or later on Apple silicon or Intel, DMG and Homebrew install, the CLI.
- [cmux: Concepts](https://cmux.com/docs/concepts): windows, workspaces, panes, surfaces and panels.
- [cmux: CLI reference](https://cmux.com/docs/api): the socket, `cmux send` and `send --surface`, notification and sidebar commands.
- [cmux: Browser automation](https://cmux.com/docs/browser-automation): the `cmux browser` commands.
- [cmux: Computer Use](https://cmux.com/docs/computer-use): native Mac app control for Claude Code and Codex.
- [cmux: Claude Code Teams](https://cmux.com/docs/agent-integrations/claude-code-teams): teammates as native splits through a tmux shim.
- [cmux: SSH](https://cmux.com/docs/ssh): `cmux ssh` workspaces, mosh and reconnection.
- [cmux Cloud](https://cmux.com/docs/cloud): persistent Linux machines that open as cmux workspaces, on a paid plan.
- [cmux pricing](https://cmux.com/pricing): Free, Pro, Max, Team and Enterprise plans, Cloud VMs in isolated remote sandboxes, the iOS app.
- [cmux for Linux](https://cmux.com/linux): the nightly Linux x64 build of cmux Browser.
- [MAO home and pricing](https://trymao.dev/): platforms, the one-time price and the 7-day free trial.
- [Run a shell or agent](https://trymao.dev/docs/terminals-agents/terminal-and-agent-nodes) and [Switch an agent node to chat mode](https://trymao.dev/docs/chat-mode-threads/framed-chat): terminal nodes and chat mode.
- [Send a task and collect its result](https://trymao.dev/docs/connections-orchestration-mao-cli/task-delivery) and [Manage agents as an Orchestrator](https://trymao.dev/docs/connections-orchestration-mao-cli/orchestrator-actions): `mao ask`, `mao send`, `mao result`, recruiting agents.
- [Create a worktree layer](https://trymao.dev/docs/layers-git-worktrees/create-layer) and [Land a layer into Ground](https://trymao.dev/docs/layers-git-worktrees/land-layer): layers as Git worktrees and the checks before landing.
- [Browser and device portals](https://trymao.dev/portals) and [View an iOS Simulator portal](https://trymao.dev/docs/portals-browser-android-ios/ios-simulator-portal): browser, Android and iOS Simulator portals.
- [Remote AI agent workspaces](https://trymao.dev/remote-workspaces): workspaces on a Linux server over SSH and inside WSL, and the licence they need.

Checked on 2026-10-28.

Source: https://trymao.dev/mao-vs-cmux
