// compare

mmux vs tmux

tmux is a general-purpose terminal multiplexer: sessions, windows and panes that you arrange and configure yourself. mmux is a terminal UI for AI coding agents and dev processes that runs inside an invisible tmux session, one per project directory. The difference is scope: tmux gives you building blocks for any workflow, mmux gives you one fixed layout built around agents.

Last checked against tmux 3.8 on .

// tl;dr

Pick tmux if you want a general multiplexer you shape yourself: split and floating panes, many windows, your own key bindings and status line, scripting, and every platform tmux supports, including the BSDs and Solaris. It has been developed since 2007, and binary packages exist for many platforms.

Pick mmux if your terminal mostly holds coding agents, a dev server and git, and you want them in one sidebar per project that shows which agent is waiting on you, sends a desktop notification when one finishes, and brings Claude or Codex conversations back after a quit or crash.

It is not either/or: mmux needs tmux and runs on top of it, and you can launch mmux from inside your own tmux session.

At a glance

mmux 0.13.13 and tmux 3.8, as of 2026-10-14.
Capability mmux tmux
Sessions survive closing the terminal or an SSH drop yes: Runs inside a tmux session per directory yes: Detach and reattach is its core feature
Split panes, windows, custom layouts no: Fixed layout: sidebar, one program in the main pane, git panel yes: Tiled and floating panes, windows, layouts
Shows which agent is waiting on you yes: Idle agents turn green, a blocked question shows ? partly: Activity, silence and bell alerts per window, not agent-aware
Desktop notifications yes: Native popup on bell or notification escapes, also over SSH no: Alerts in the status line; no desktop notifications of its own
Restore after quit, crash or reboot yes: Reopens agents and terminals; Claude, Codex, Pi and Grok resume their conversation partly: Not built in; third-party plugins such as tmux-resurrect
Named dev processes from a config file yes: processes: with start, stop, restart and a stop: teardown partly: Any command in any pane, wired up via config or shell scripts
Built-in git UI yes: Git panel: stage, commit, branches, push, worktrees no: Run git or a git TUI in a pane
Scripting and remote control yes: mmux ls, read, send, ask, wait, aimed at agents yes: Full command language, hooks, control mode (used by iTerm2)
Custom key bindings and options no: Fixed keys; YAML configures agents, processes, workspaces yes: Every binding, option and status line in ~/.tmux.conf
Platforms partly: macOS (Apple Silicon) and Linux arm64/x86_64 binaries yes: OpenBSD, FreeBSD, NetBSD, Linux, macOS, Solaris
Dependencies tmux (git for the git panel) libevent 2.x, ncurses
Price and license Free, GPLv3 or later Free, ISC

tmux facts from its README, CHANGES, man page and wiki at tag 3.8 (released 2026-09-09). mmux facts from its docs at 0.13.13.

What is tmux?

tmux describes itself as "a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen", which "may be detached from a screen and continue running in the background, then later reattached" [1]. Every terminal lives in a pane, panes live in windows, and windows are grouped into sessions; commands are reached through a prefix key, Ctrl-b by default, and the server reads ~/.tmux.conf at startup [4].

The project started in 2007 [2], is written in C, is ISC licensed [3], and runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS and Solaris [1]. Version 3.8, released on 2026-09-09, extended floating and modal panes, added built-in light and dark themes, and added monitor hooks that fire when a format changes [2] [7]. Control mode lets other programs drive tmux over a text protocol; iTerm2 uses it to show tmux panes as native windows [5].

GNU Screen is the older tool in the same category: it multiplexes one terminal between several processes, keeps a scrollback buffer per window, and keeps programs running while the session is detached [9]. Its latest release is 5.0.2 (July 2026) [10]. Everything on this page about tmux versus mmux applies to Screen in broad strokes, with one difference: mmux is built on tmux, so it needs tmux installed even if you use Screen for everything else.

Where tmux is better

Where mmux is better

When to use which

Choose tmux when

  • you want several programs visible at once in split panes
  • you work on servers, BSDs or anywhere a single package install is the limit
  • you already have a tuned ~/.tmux.conf and want to keep every binding
  • your work is not centered on coding agents
  • you need several people attached to the same session

Choose mmux when

  • you run several coding agents per project and lose track of which one is done
  • you want a notification when an agent finishes, even on a remote box
  • you want agent conversations back after a quit, crash or update
  • a dev server, its logs and git belong next to the agents
  • you work across several worktrees or projects in parallel

Using tmux and mmux together

mmux already uses tmux underneath: each project directory gets an invisible tmux session with its status bar and prefix turned off. Those options are set on mmux's sessions only; the one server-level change is enabling extended-key support. You can keep tmux for everything else and use mmux for agent work:

  1. Install mmux. tmux must be on your PATH, which it already is if you use it.
  2. In any tmux pane, cd into a project and run mmux. It unsets TMUX when it attaches, so it works inside another tmux.
  3. Both tools use Ctrl-b by default, and your outer tmux sees it first. Press Ctrl-b twice to pass it through to mmux (tmux's default send-prefix binding [6]), or give your outer tmux a different prefix.
  4. Inside mmux, Ctrl-b b sends a literal Ctrl-b to the focused program, for a tmux running in an mmux terminal.
  5. Put your agents in ~/.mmux/config.yaml and the project's processes in mmux.yaml. Closing the outer tmux pane only detaches mmux; run mmux again to reattach.
# ~/.mmux/config.yaml
agents:
  - name: Claude
    cmd: claude

# ./mmux.yaml
processes:
  - name: Dev server
    cmd: npm
    args: ["run", "dev"]

FAQ

Is mmux a replacement for tmux?

No. mmux needs tmux and runs inside a tmux session, one per project directory. It replaces the part of a tmux setup where you juggle coding agents, a dev server and git in panes, not tmux itself.

Can I just run Claude Code or Codex in a tmux pane?

Yes, and it works well: the agent keeps running after you detach. What tmux does not do is tell you which agent is done or waiting on you, send a desktop notification when it is, or resume the conversation after the tmux server stops. mmux adds those on top of the same tmux persistence.

Can I run mmux inside my existing tmux session?

Yes. mmux unsets TMUX when it attaches, so it works when launched inside another tmux. Both use Ctrl-b by default and the outer tmux receives it first, so press Ctrl-b twice to reach mmux, or change your outer tmux prefix.

Does tmux restore sessions after a reboot?

Not by itself. tmux sessions live in the tmux server process and end when it stops. The third-party tmux-resurrect plugin saves and restores sessions, windows, pane layouts and a default list of programs such as vim and less. mmux restores its own agents and terminals after a quit or crash, and Claude, Codex, Pi and Grok agents resume their conversation.

What about GNU Screen?

GNU Screen is the older terminal multiplexer, with detach, reattach and scrollback per window; its latest release is 5.0.2 from July 2026. The comparison on this page applies to it in broad strokes. mmux is built on tmux, so it needs tmux installed even if you use Screen.

Are tmux and mmux free?

Both are free and open source. tmux is ISC licensed; mmux is GPLv3 or later.

Sources

  1. tmux README at tag 3.8
  2. tmux CHANGES at tag 3.8 (3.8 changes, and the 2007 initial import at the end)
  3. tmux COPYING (ISC license)
  4. tmux wiki: Getting Started
  5. tmux wiki: Control Mode
  6. tmux man page at tag 3.8 (default key bindings)
  7. tmux 3.8 release, 2026-09-09
  8. tmux-resurrect (third-party plugin) README
  9. GNU Screen homepage
  10. GNU Screen release downloads (screen-5.0.2, 2026-07-11)
  11. mmux documentation

Other comparisons

all comparisons

Try mmux

One binary for macOS, Linux and WSL. Run mmux in any project directory.

curl -fsSL https://mmux.org/install.sh | sh