tmux
Open SourceKeep terminal sessions alive after you disconnect.
Published 27 September 2026
Scores
Popularity4/5
Around 49K GitHub stars despite predating GitHub by years, part of OpenBSD's base system, and the multiplexer nearly every Linux, DevOps, and backend developer has met, though developers who never work in a terminal on remote machines may not know it.
Learning Curve4/5
Basic detach and reattach takes minutes, but everything else sits behind a prefix key and bindings with no on-screen hints, and comfortable daily use usually means learning the command language and writing a .tmux.conf.
Flexibility5/5
A full command language available from key bindings, the config file, and the shell, plus format strings, hooks, and a plugin manager, lets users and other tools script almost any layout or workflow on top of it.
Performance5/5
A small C server process that adds negligible CPU and memory overhead even with many sessions and panes open, which is why it's the default choice on constrained servers.
Portability4/5
Runs natively on Linux, macOS, the BSDs, and Solaris with a plain-text config that moves between machines unchanged, but Windows support goes through WSL or unofficial ports.
About tmux
tmux is an open-source terminal multiplexer written in C by Nicholas Marriott and released under the ISC license. It runs as a small server process that owns your shells: one terminal window becomes several sessions, each holding windows that split into panes, and every program inside keeps running whether or not a terminal is attached. It has shipped in OpenBSD's base system since 2009 and is packaged by every major Linux distribution and Homebrew.
The feature most people install it for is detach and reattach. Start a long job over SSH, detach or lose the connection, and the session is still there when you log back in from the same laptop or a different one. That makes tmux the standard way to keep a terminal coding agent such as Claude Code or Codex CLI working on a VPS after the laptop closes. The session lives in the server's memory, so it survives disconnects but not a reboot; the community tmux-resurrect and tmux-continuum plugins save and restore layouts across restarts.
Everything is driven by a prefix key (Ctrl-b by default) and a command language that works from key bindings, the .tmux.conf file, or the shell, so layouts and workflows can be scripted. Tools build on it: Claude Code's experimental agent teams can open each teammate in its own tmux pane, and several agent orchestrators run on top of tmux windows. The same scriptability comes with a learning curve, since almost nothing is discoverable without reading the keybindings.
tmux runs natively on Linux, macOS, the BSDs, and Solaris. On Windows the supported route is WSL; native Windows ports exist as separate community projects rather than official builds. There is no company behind it, no paid tier, and no telemetry.
Key Features
- Detach from a session and reattach later from any terminal or machine
- Sessions, windows, and split panes from a single terminal
- Sessions keep running on the host when an SSH connection drops
- Scriptable command language usable from key bindings, config, or the shell
- Copy mode with searchable scrollback
- Shared sessions that several users can attach to at once
- Plugin ecosystem through the tmux Plugin Manager (TPM)
- Split-pane display for Claude Code agent teams
Pros
- Installed or one package away on almost every Linux server, so the same workflow works everywhere
- Very light on memory and CPU, even with dozens of panes open
- Decades of tutorials, dotfiles, and answers for nearly any configuration question
- Scriptable enough that agent orchestrators and editors build their own features on top of it
- Stable, conservative project with no account, telemetry, or paid tier
Cons
- Steep start: prefix-key bindings are not discoverable without a cheat sheet or config
- Sessions are lost on reboot unless you add the tmux-resurrect or tmux-continuum plugins
- No official native Windows build; Windows users run it through WSL
- Defaults feel dated, so most users end up maintaining a custom .tmux.conf
tmux Pricing
Open SourceTech Stacks with tmux
Claude Code Dev Stack
DeveloperClaude Code as the coding agent, in the terminal, the desktop app, an IDE extension, or the browser, running on Claude, with your pick of GitHub or GitLab for version control.
Development
LLM
Codex Dev Stack
DeveloperOpenAI's Codex as the coding agent, in the ChatGPT desktop app, the terminal, an IDE extension, or OpenAI's cloud, running on OpenAI models, with your pick of GitHub or GitLab for version control.
OpenCode Dev Stack
DeveloperOpenCode as the coding agent, in the terminal, the desktop app, an IDE extension, or the browser, running open-weight models such as DeepSeek, GLM, and Kimi, with your pick of GitHub or GitLab for version control.
Tools Related to tmux
Works well with tmux(4)
tmux inside Alacritty is the intended pairing: the emulator brings GPU-fast rendering and tmux brings the panes, windows, and sessions that survive a disconnect.
A Codex CLI session inside tmux keeps running after the connection drops and reattaches from any machine, which is how Codex runs unattended on a server.
tmux adds disconnect-proof, reattachable sessions on top of kitty's local windows and layouts — useful for remote work rather than desktop splits.
tmux inside Ghostty is the usual way to add disconnect-proof sessions and remotely reattached panes to a fast local emulator.
Integrates with tmux(2)
Starting Claude Code inside tmux is the common way to keep a CLI session running on a server or over SSH: the session survives the disconnect and reattaches from any machine.
iTerm2's tmux integration (tmux -CC control mode) shows tmux windows and panes as native iTerm2 tabs and splits, a documented feature of the emulator rather than just running inside it.
Alternatives to tmux(2)
tmux is preinstalled or one package away on most servers and more deeply scriptable; Zellij starts easier with a status bar of shortcuts, resurrects sessions with their layout after a reboot, and serves them to a browser via its built-in web client.
tmux keeps any terminal session alive after a disconnect; Herdr targets the same run-agents-on-a-server job with per-agent state tracking, a coordination API, and automatic resume on top.
Learning Resources
No resources yet — check back soon.