About tmux
tmux is a terminal multiplexer for creating and managing multiple terminal sessions, windows, and panes. Create named sessions with tmux new -s work, reattach with tmux attach -t work, and list all sessions with tmux ls.
Key features
- 01Create persistent named terminal sessions that survive disconnections
- 02Split a single window into multiple panes for parallel task management
- 03List, switch between, and manage all active sessions and windows
Use cases
- 01Developers running long-running tasks while maintaining session continuity
- 02Maintaining stable development environments on remote servers
- 03Coding agents executing multiple tasks in parallel with isolated state
Install
Pick your OS or package manager and run the command in a terminal.
Once installed, runtmux --versionto confirm it works.
Example commands
Common commands in the order you’d use them.
Details
From the project READMEWelcome to tmux!
tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.
This release runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS and Solaris.
Dependencies
tmux depends on libevent 2.x, available from this page.
It also depends on ncurses, available from this page.
To build tmux, a C compiler (for example gcc or clang), make, pkg-config and a suitable yacc (yacc or bison) are needed.
Installation
Binary packages
Some platforms provide binary packages for tmux, although these are sometimes out of date. Examples are listed on this page.
From release tarball
To build and install tmux from a release tarball, use:
./configure && make
sudo make install
tmux can use the utempter library to update utmp(5), if it is installed - run
configure with --enable-utempter to enable this.
For more detailed instructions on building and installing tmux, see this page.
From version control
To get and build the latest from version control - note that this requires
autoconf, automake and pkg-config:
git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make
Contributing
Bug reports, feature suggestions and especially code contributions are most welcome. Please send by email to:
Or open a GitHub issue or pull request. Please read this document before opening an issue.
There is a list of suggestions for contributions. Please feel free to ask on the mailing list if you're thinking of working on something or need further information.
Documentation
For documentation on using tmux, see the tmux.1 manpage. View it from the source tree with:
nroff -mdoc tmux.1|less
A small example configuration is in example_tmux.conf.
And a bash(1) completion file at:
https://github.com/scop/bash-completion/blob/main/completions-core/tmux.bash
For debugging, run tmux with -v or -vv to generate server and client log
files in the current directory.
Support
The tmux mailing list for general discussion and bug reports is:
https://groups.google.com/forum/#!forum/tmux-users
Subscribe by sending an email to:
Merchandise
tmux merchandise is available from Commit Goods - purchases help support the tmux project.