cmux vs Ghostty

Ghostty is a fast terminal emulator. cmux is a separate native macOS app built on libghostty, adding workspaces, vertical tabs, notification rings, browser panes, and a socket API for coding-agent workflows.

Same rendering engine family, different job

Use Ghostty when you want a focused terminal emulator. Use cmux when you want libghostty rendering inside an agent workspace with persistent unread state, browser panes, and a Unix socket that lets agents create panes, read terminals, capture screenshots, and drive web checks.

DimensioncmuxGhostty
Primary jobAgent supervision and multitaskingGeneral-purpose terminal
Desktop stackNative Swift/AppKit macOS app built on libghosttyNative SwiftUI macOS app with a shared Zig core and libghostty
RenderingBuilt on libghosttyMetal on macOS, OpenGL on Linux, shared Ghostty/libghostty terminal core
OrganizationVertical workspaces, splits, sidebar metadataTerminal windows, tabs, splits
Agent attentionNotification rings, Cmd+Shift+U, Cmd+Control+UDesktop notifications, tabs, splits, and AppleScript; no documented cmux-style unread rings or browser panes
Automationcmux CLI, socket API, browser automationAppleScript and Shortcuts for terminal windows, tabs, splits, and input

cmux is not a Ghostty fork

Ghostty is an excellent terminal emulator and now has AppleScript for terminal automation. cmux goes further for agent workflows: terminal control, workspace state, notifications, screenshots, and browser panes are exposed through one CLI/socket surface, so an agent can run commands and verify a web app without leaving the workspace.

Vertical workspaces scale better for agents

Agent sessions benefit from persistent names, branch context, directory context, ports, and unread state. cmux puts that metadata in the sidebar so dozens of sessions stay scannable.

Notifications become navigable state

Desktop notifications are easy to miss once they clear. cmux keeps unread state inside the app, rings the pane, marks the sidebar, and lets Cmd+Shift+U jump to the latest unread session.

Automation reaches outside the shell

cmux exposes app-level actions through a CLI and Unix socket, including browser automation. Agents can inspect web pages, click, type, read terminal screens, and take screenshots from the same workspace.

FAQ

Is cmux built by the Ghostty team?

No. cmux is a separate project that uses libghostty for terminal rendering.

Does cmux read Ghostty config?

Yes. cmux reads your Ghostty config for terminal rendering choices such as fonts, themes, colors, and cursor behavior.

When should I use cmux instead of Ghostty?

Use cmux when you run multiple coding agents and want workspaces, notification rings, unread navigation, browser panes, and programmability around them.