Five dots. A glance is enough.
running · idle · needs input · success · failed — hover any icon to see which tool is running and (for Claude / Codex) the last assistant message.
A native macOS terminal built on libghostty. Workspaces, tabs, and split panes for your repos — with live status for every Claude Code, OpenCode, and Codex session you run.
Three choices we made early, and kept making. The terminal we wanted after spending serious time with AI coding agents — never silent about what they're doing, never in the way when they aren't.
libghostty on Metal. Low-latency input, crisp text, and no Electron in your Dock.
Every sidebar row and tab icon reflects live state of Claude Code, OpenCode, and Codex — running, waiting for you, finished or failed.
Workspace → Tabs → Splits. Each workspace row shows its git branch, open PRs, and unread notifications. Your terminal, by repo.
running · idle · needs input · success · failed — hover any icon to see which tool is running and (for Claude / Codex) the last assistant message.
Binary split tree per tab. Cut horizontally or vertically, drag dividers, navigate panes with ⌘⌥↑↓←→.
Workspaces, tabs, split tree, and each terminal's pwd survive restart. Terminals are rebuilt by UUID into fresh surfaces — no session-serialization hacks.
Each workspace row polls its git branch and open PR every 5 s, plus OSC hooks for live updates.
Ships with all ghostty themes. Edits hot-reload after 200 ms; Mux0's own chrome re-tints with the terminal.
OSC 7 feeds the sidebar pwd. Ghostty integration features (cursor, sudo, title, ssh-env) are toggles in Settings → Shell.
Agents report what they're doing to a Unix domain socket on your machine. No cloud, no account, no telemetry.
Claude Code, OpenCode, or Codex starts inside a Mux0 tab.
settings.json injection for Claude, bundled plugin for OpenCode, hooks for Codex.
A small JSON event streams to ~/Library/Caches/mux0/hooks.sock.
Sidebar row, tab dot, and hover tooltip reflect the running turn — in real time.
| Mux0 | Terminal.app | iTerm2 | Warp | Ghostty | |
|---|---|---|---|---|---|
| GPU-rendered terminal | ● | ○ | ◐ | ● | ● |
| Agent status in UI | ● | ○ | ○ | ◐ | ○ |
| Project-level workspaces | ● | ○ | ◐ | ● | ○ |
| Splits + keyboard focus | ● | ○ | ● | ● | ● |
| No account, offline | ● | ● | ● | ○ | ● |
| Live theme / font editing | ● | ◐ | ● | ● | ◐ |
| In-app auto-update (Sparkle) | ● | ○ | ● | ● | ● |
The terminal should disappear until the agent needs you — and when it does, it should tell you before you ask.Mux0 · DESIGN NOTES