Browse referenceInstallation
Installation Guide
Comprehensive installation methods for every major platform — from package managers to manual compilation.
The latest stable release is tmux 3.7c, released August 17, 2026. tmux 3.8-rc is a prerelease. Package managers install the version available in your configured repositories, which may be older than the upstream stable release.
macOS
Homebrew and MacPorts both provide tmux for macOS. Homebrew is recommended for most users.
Homebrew (recommended)
brew install tmuxMacPorts
sudo port install tmuxLinux
tmux ships in every major distribution's package repositories.
Ubuntu / Debian
sudo apt update
sudo apt install tmuxFedora / RHEL
sudo dnf install tmuxArch Linux
sudo pacman -Syu tmuxWindows (WSL2)
Run full tmux on Windows through the Windows Subsystem for Linux.
# PowerShell (Admin)
wsl --install
# Inside WSL
sudo apt update
sudo apt install tmuxThese instructions use Ubuntu inside WSL2. Other WSL distributions use their own package manager.
Advanced: compile from source
Use the stable release tarball when your distribution does not yet package 3.7c. The following commands are for Ubuntu/Debian, including Ubuntu in WSL. They install into /usr/local by default.
# Install dependencies (Ubuntu/Debian)
sudo apt update
sudo apt install libevent-dev libncurses-dev build-essential bison pkg-config curl ca-certificates tar gzip
# Download and compile the stable release
curl -fLO https://github.com/tmux/tmux/releases/download/3.7c/tmux-3.7c.tar.gz
tar -xzf tmux-3.7c.tar.gz
cd tmux-3.7c
./configure && make
sudo make install
# Verify the binary just installed
/usr/local/bin/tmux -V # tmux 3.7cRelease tarballs include configure, so they do not require autogen.sh, autoconf, or automake. Git checkouts require those extra tools and may contain unreleased changes. See the upstream installation guide for other platforms and custom installation prefixes.
For macOS source builds, also install utf8proc and jemalloc alongside libevent, ncurses, a compiler, make, yacc/bison, and pkg-config. The 3.7c configure script looks for these two extra libraries by default on macOS; if missing, configuration stops unless you explicitly disable them. Package manager installations handle their own dependencies.
Verify your installation
After installing by any method, confirm tmux is on your PATH:
command -v tmux
tmux -VIf you have both a package manager installation and a source installation, check which path your shell selects. tmux -V reports that binary's version, not the version of an already-running server.
Upgrade an existing installation
Use the same package manager that installed tmux. Choose the commands for your platform:
# Homebrew
brew update
brew upgrade tmux
# MacPorts
sudo port selfupdate
sudo port upgrade tmux
# Ubuntu / Debian / Ubuntu in WSL
sudo apt update
sudo apt install --only-upgrade tmux
# Fedora / RHEL
sudo dnf upgrade --refresh tmux
# Arch Linux (updates the system together with tmux)
sudo pacman -Syu tmuxThese commands install the newest version available from your configured repositories. For a source installation, repeat the stable tarball build above using the same installation prefix. Review the release notes before upgrading.
Move existing sessions to the new version safely
An existing tmux server keeps running the old version after the binary is replaced. Detaching, reattaching, or reloading your configuration does not upgrade that server.
- Save files and finish or safely stop jobs in every session before retiring the old server. Record any session layout you want to recreate.
- Close the old sessions normally when their work is finished. With the default settings, the server exits after its last session closes.
- From a terminal outside tmux, start
tmuxagain. Checktmux -Vfor the installed binary and runtmux display-message -p '#{version}'inside the new session to check its server version.
tmux kill-server terminates all sessions on the selected server and the programs running in
their panes. It is not a routine upgrade step: save or finish all work first. Session restoration
plugins cannot preserve running processes or unsaved application state.
If you need to keep the old sessions running, start the new binary from a terminal outside tmux with a separate, unused socket name, for example tmux -L tmux-3.7c new-session. This starts an independent server; it does not migrate existing sessions. If an upgraded client cannot attach to an old server, keep any still-attached clients open until their work is saved.