# Terminal Multiplexers
Programs that let you run multiple terminal sessions inside a single terminal window or remote connection. Key capabilities: split panes, multiple windows/tabs, session persistence (detach/reattach), and remote session survival (SSH disconnects don't kill your processes).
## Why use one
- **Session persistence**: detach from a session and reattach later; processes keep running. Essential for long-running tasks and remote work over [[Secure Shell (SSH)]]
- **Pane/window management**: split the terminal into multiple panes side by side without relying on the terminal emulator's built-in tabs
- **Reproducible layouts**: script your window/pane layouts for specific projects
- **Pair programming**: share a terminal session with another user
## Notable multiplexers
<!-- QueryToSerialize: LIST FROM #tools/terminals/multiplexers WHERE public_note = true AND file.name != "Terminal Multiplexers" SORT file.name ASC -->
<!-- SerializedQuery: LIST FROM #tools/terminals/multiplexers WHERE public_note = true AND file.name != "Terminal Multiplexers" SORT file.name ASC -->
- [[Byobu]]
- [[GNU Screen]]
- [[Herdr]]
- [[mprocs]]
- [[shpool]]
- [[tmate]]
- [[TMux]]
- [[tmux-ide]]
- [[WezTerm]]
- [[Zellij]]
<!-- SerializedQuery END -->
## Multiplexers and AI agents
Multiplexers took on a second life with [[AI Agents]]: they are the cheapest **multi-agent runtime** there is. Each pane or session holds one agent ([[Claude Code]], [[Codex CLI]], …), sessions survive disconnects so long-running agents keep working unattended, and — the underrated part — agents can talk to each other *through* the multiplexer itself: `tmux send-keys` lets an agent type into a sibling pane and `capture-pane` lets it read another agent's output, which turns a plain tmux session into a message bus between agents with zero extra infrastructure. An orchestrator agent in one pane can spawn, instruct, and monitor worker agents in others.
The tooling is catching up to the pattern: [[Herdr]] (ships with [[Omarchy]]) tracks per-pane agent state (idle/working/blocked/done) so a human — or a supervising agent — sees at a glance who needs input, and [[tmux-ide]] builds an IDE-style agent workflow on the same foundation. The multiplexer is quietly becoming the terminal-native answer to agent orchestration frameworks.
## Multiplexer vs terminal emulator tabs
Some terminal emulators ([[Ghostty]], [[Alacritty]], [[WezTerm]], Kitty) have built-in splits and tabs. The difference: a multiplexer's sessions survive terminal crashes and SSH disconnects. Terminal emulator splits don't.
## References
- tmux: https://github.com/tmux/tmux
- tmate: https://tmate.io
- shpool: https://github.com/shell-pool/shpool
- mprocs: https://github.com/pvolok/mprocs
- Zellij: https://zellij.dev
- GNU Screen: https://www.gnu.org/software/screen/
- Byobu: https://www.byobu.org
## Related
- [[Shell]]
- [[Command Line Interface (CLI)]]
- [[Terminal User Interface (TUI)]]
- [[Secure Shell (SSH)]]
- [[Ghostty]]
- [[Alacritty]]
- [[TMux]]
- [[Zellij]]
- [[Terminal Multiplexers (MoC)]]