Terminal Multiplexer
Tmux as the most know multiplexer of this category has now many copy-cater, that have more modern design and better default shortcuts, though that depends on the user.
Especially with agents, Multiplexer got its new category with working more inline with them, see the dedicated category below.
# Timeline
gantt
title Terminal Multiplexers with first public release
dateFormat YYYY-MM-DD
axisFormat %Y
section Classics
GNU Screen :milestone, 1987-01-01, 0d
dtach :milestone, 2004-08-01, 0d
tmux :milestone, 2007-11-20, 0d
Terminator :milestone, 2007-12-01, 0d
dvtm :milestone, 2007-12-07, 0d
byobu :milestone, 2009-01-01, 0d
tmate :milestone, 2014-01-01, 0d
abduco :milestone, 2014-07-05, 0d
section Modern
kitty Sessions :milestone, 2017-02-02, 0d
WezTerm :milestone, 2019-03-24, 0d
Zellij :milestone, 2021-01-21, 0d
section Agent-era
workmux :milestone, 2025-11-04, 0d
cmux :milestone, 2026-01-28, 0d
Herdr :milestone, 2026-03-27, 0d
# What is a Terminal Multiplexer?
A terminal multiplexer is a tool that lets you run multiple shell sessions, split your screen into separate panes, and keep your programs running in the background even if you lose your connection.
Three capabilities usually get bundled together, and each tool picks a different subset:
- Session persistence: detach/reattach, survives SSH drops (screen, tmux, abduco, dtach)
- Window/pane splitting: tiling inside one terminal (dvtm, tmux, Zellij)
- Workspace/state layer: layouts, plugins, agent-state awareness (Zellij, Herdr)
# Tools
# Classics (server-side, SSH-safe)
- GNU Screen: the actual OG, 1987. Preinstalled on nearly every Unix box, so it’s the fallback on locked-down legacy servers.
- tmux: OG multiplexer (as far as modern usage goes). Huge plugin ecosystem via TPM, scriptable, works everywhere.
-
byobu: not a multiplexer itself — a config/status-bar wrapper over screen or tmux. Started life as
screen-profilesin Ubuntu. - dtach: only the detach/reattach part, nothing else. ~1000 LOC.
- dvtm + abduco: the suckless split — dvtm does dwm-style tiling in the console, abduco does session management. Together a simpler, cleaner alternative to tmux/screen.
- tmate: tmux fork for instant terminal sharing over a relay. Pair-programming / remote support.
# Modern rewrites
- Zellij: A terminal workspace with batteries included. Rust, discoverable keybindings shown in a status bar, WASM plugin system, works out of the box without a config file. The main tmux challenger.
- (not out yet) Superlogical: Building the multiplexer for all work, company behind Mitchell Hashimoto
# Terminal emulators with built-in multiplexing
- kitty Sessions, not as powerful, but might be enough. Shipped in kitty v0.1.0 (Feb 2017), a startup-layout file, not a persistence layer. Also has remote control for scripting panes.
- WezTerm: GPU-accelerated emulator with a real multiplexer built in, including SSH domains. Needs a GUI though, so it doesn’t replace tmux on a headless box.
- Ghostty and Mitchell Hashimoto want to build their own too.
- Terminator: GTK emulator with tiling. Local-only, no session persistence — technically a tiling emulator, not a multiplexer.
# Agent-era
With Agents a new category emerged with more focus on shifts from just “split screens” seeing “What are my agents doing”?.
- Herdr: The newest, more focused on Agents. The runtime coding agents run on. Rust, single binary, tmux-grade persistence + per-agent state detection (working / blocked / done / idle) + a scriptable socket API. AGPL-3.0 with a commercial option.
- cmux: native macOS app built on libghostty — vertical tabs, notifications, restores agent sessions on relaunch, full CLI + Unix socket API including a programmable browser pane. macOS-only, no server-side SSH persistence.
# Configs that work with different Multiplexer
- workmux: Turn your terminal into a multi-agent workspace. Every task gets a dedicated git worktree and tmux window, letting agents code conflict-free. Great video for more info.
- TPM / oh-my-tmux: the standard tmux config starting points.
# Further Reads
Origin:
References: Terminals, My Terminal Workflow with MacOS and Linux