The section your link pointed to isn't on tmux's page any more, so we've brought you to the top.
tmux is a terminal multiplexer that enables multiple terminals to be created, accessed, and controlled from a single screen, with background session persistence.
tmux new-pane -x50% -y25% -X25% -Y37%
bind s 'new-pane -x50% -y50% -E; choose-tree -hks'
set -s theme detect
set -s dark-theme-blue '#5588ff'
set -s dark-theme-green '#44cc88'
bind s 'new-pane -x50% -y50% -E; choose-tree -hks'
tmux new-pane -W 'make test'
echo $?
set -s theme dark
set -s dark-theme-red '#ff5555'
tmux set-option -g pane-scrollbars on
(tmux set-option -g pane-scrollbars-position right)
(tmux set-option -g pane-scrollbars-style 'fg=black,bg=cyan')
tmux capture-pane -pM > capture.txt
tmux set-option -g copy-mode-position-style 'fg=yellow,bold'
(tmux set-option -g copy-mode-selection-style 'bg=red')
tmux display-message '#{sixel_support}'
tmux display-popup -k -e EDITOR=nvim 'echo done'
./configure --enable-jemalloc && make
set-option -g prefix-timeout 10000
server-access -a user:alice:read-write
server-access -a user:bob:read-only
display-popup -T 'My Popup' -e MY_VAR=value -b 50% -s '#[fg=white]#[bg=blue]' tmux set-option -g popup-border-lines double && tmux set-option -g popup-border-style bg=black
tmux set-option -g pause-after 10
tmux refresh-client -A
tmux attach-session -t 0 -f 1
tmux bind-key C-b choose-client -K "Client: #{client_name}"
bind-key / search-forward
bind-key ? search-backward
bind-key -N 'Rotate panes clockwise' C-b :rotate-window
tmux list-keys -N | grep Rotate
bind-key -n MouseDrag3 status-command 'display-menu -T "Menu" ~{1,Reload,source-file ~/.tmux.conf}{2,Kill Pane,kill-pane}'
set-option -g status-left '{[#{pane_current_path}]}'
send-keys -H '|'
refresh-client -L 20
bind-key C-r send-keys -X command-prompt -i -p'search up' "send -X search-backward-incremental '%%'"
%if #{==:#{client_termtype},screen-256color}
set -g status-style 'bg=colour-red'
%endif
set-status-right '#{scroll_position} | #{=10:#{socket_path}}'
set-option -g mouse on
copy-selection -x
tmux resize-pane -x 200 -y 50
tmux capture-pane -p -e
tmux resize-pane -Z
set-option -g status-position top
choose-tree
send-keys 0x1B [ C
tmux switch-client -r -t <client_id>
set-option -g pane-base-index 1
set-option -g prefix2 C-b
tmux set-option -w monitor-silence 300
tmux set-option -g visual-silence on
tmux switch-client -n web
tmux select-layout tiled
tmux set-server detach-on-destroy on
tmux capture-pane -S -100 > pane_log.txt
set-option -g window-status-current-format '#[bold]#W'#I:#W#[normal]' && set-option -g window-status-format '#I:#W'
set-option -s quiet on
run-shell 'cat /etc/motd'
tmux -u -f /etc/tmux.conf
if-shell '[ -f /tmp/flag ]' 'display-message "Flag exists"'
# /etc/tmux.conf
set -g status-utf8 on
set -g status-left '[#S]'
tmux set-window-option monitor-content 'ERROR'
tmux clear-history
tmux send-keys 'C-b space'
bind-key -r C-p previous-window
set -g status-attr bright,blink
tmux new-window -k
tmux split-window -p 50
tmux set-option -g automatic-rename off
next-window -a
tmux bind-key s choose-session
split-window -h -p 50
:save-buffer /tmp/tmux_buffer.txt
tmux setx window-xterm-keys on
tmux set -u session-keys
setw -g mode-fg cyan
setw -g mode-bg black
tmux set-option utf8-default on
tmux -2 new-session
tmux -u attach-session
export TERM=xterm-256color
tmux
tmux set mode-keys vi
tmux list-commands
tmux lscm
tmux send-keys ':'
# Then type your command, e.g., 'split-window -h' and press Enter
tmux renamew -t1:0 newname
setw monitor-activity
set status-left '%D'
tmux list-sessions -s 'work*'
tmux kill-server
tmux start-server
tmux send-keys C-b '['
# ... use arrow keys or hjkl to select ...
tmux send-keys ' '
# ... move cursor to end of selection ...
tmux send-keys Enter
tmux send-keys C-b ']'
tmux set-option -w history-limit 10000
tmux bind q switch-client 0
tmux bind w switch-client 1
tmux kill-session
tmux -s dstname link-window [-i dstidx] srcname srcidx
tmux list-clients
set -g bell-style current
tmux send-prefix
tmux set -g status-fg red
tmux set -g status-bg blue
tmux attach -d
tmux list-windows
tmux set-option prefix ^A
tmux next-window
tmux bind ^Q create "blah"
tmux list-sessions
tmux list-windows
tmux new -s mysession -n mywindow
Summary
tmux is an open-source terminal multiplexer that lets a user create, access, and control several terminal sessions from a single screen, detaching them to run in the background and reattaching later. It costs nothing and runs as a command-line tool, built from source or installed via a package manager, on OpenBSD, FreeBSD, NetBSD, Linux, macOS, and Solaris. It suits anyone working over SSH or a remote shell who needs sessions to survive disconnects, from sysadmins to developers running long jobs. First committed in 2007, it remains active, with 57 contributors and over a thousand commits in the past year, the latest release only 51 days old.
tmux is a terminal multiplexer that enables multiple terminals to be created, accessed, and controlled from a single screen, with background session persistence.
What is my long-running job still doing after the connection that started it dropped?
the session keeps running in the background on the server after disconnect, and reattaching drops the reader back into the same terminal output, scrollback and all, exactly where it left off
Can I keep several separate shell sessions going on one server and jump between them?
each session holds its own set of windows and panes, so switching between a build, a log tail and an editor is a keystroke instead of a new login
How do I split one screen into several terminals I can watch side by side?
panes divide the current window into resizable regions, each an independent terminal, so multiple commands stay visible at once without extra terminal windows
Can I look at a session someone else is running to help them debug?
a session can be attached from more than one client at once, so a second person connecting to the same host sees and can act on the same panes in real time
What was the output from a command that scrolled past a while ago?
each pane keeps a scrollback history that can be searched and copied without needing the command to have logged to a file
Which window was I in when the connection died?
reattaching restores the layout of windows and panes as they were left, so there is no need to reconstruct which pane was running what
Built from tmux's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
+Copy and Paste ModeshippedEnter a dedicated mode to select, navigate through history, and copy text to the buffer for pasting.26 releases · 8 other sources · first seen Nov 2007▸
release
26 total
Adds copy-mode-line-numbers, copy-mode-line-number-style, and copy-mode-current-line-number-style options to show and style line numbers in copy mode
3.7 · Jun 2026
· source
· release history
Add copy-mode-position-style and copy-mode-selection-style options to style the position indicator and selection highlights in copy mode.
3.6 · Nov 2025
· source
· release history
Add -M flag to capture-pane to capture the copy mode screen instead of the visible pane content.
3.6 · Nov 2025
· source
· release history
Adds -d flag to copy-mode to scroll a page down if already in copy mode.
3.5 · Sep 2024
· source
· release history
Adds search_count and search_count_partial format variables in copy mode for search result counts.
3.5 · Sep 2024
· source
· release history
Adds copy_cursor_hyperlink format variable to retrieve the hyperlink under the cursor in copy mode.
3.5 · Sep 2024
· source
· release history
Capture the full copy mode screen buffer to a file for later analysis.$ tmux capture-pane -pM > capture.txt
3.6 · Nov 2025
· source
Programmatically search upwards in copy mode from a script or key binding without exiting copy mode.$ bind-key C-r send-keys -X command-prompt -i -p'search up' "send -X search-backward-incremental '%%'"
2.4 · Apr 2017
· source
Prevent copy mode from exiting when using selection commands, allowing extended text selection.$ copy-selection -x
2.1 · Oct 2015
· source
Run an external command and capture its output within tmux without spawning a window.$ run-shell 'cat /etc/motd'
1.1 · Nov 2009
· source
Save the active buffer to a file.$ :save-buffer /tmp/tmux_buffer.txt
11 January 2009 · Jan 2009
· source
+Key Binding ConfigurationshippedDefine, change, and unbind keyboard shortcuts for commands and session-specific actions.28 releases · 4 other sources · first seen Oct 2007▸
Also counts toward: Command-line interface
release
28 total
Change g and G to go to top and bottom in menus.
3.4 · Feb 2024
· source
· release history
Add -q flag to unbind-key to suppress errors when binding is not present.
3.2 · Apr 2021
· source
· release history
Added support for OSC 52 to allow programs inside tmux to set the tmux paste buffer from within panes.
2.4 · Apr 2017
· source
· release history
Allows report count specification when using bind-key -R
2.3 · Sep 2016
· source
· release history
Added control-mode for sending commands programmatically via a client.
1.8 · Mar 2013
· source
· release history
example
Configure the new prefix2 option since list syntax is no longer supported.$ set-option -g prefix2 C-b
1.6 · Jan 2012
· source
Run a command only if a specific condition (e.g., file existence) is met.$ if-shell '[ -f /tmp/flag ]' 'display-message "Flag exists"'
1.0 · Sep 2009
· source
Set global window options like mode colors using the new syntax for window-level configuration.$ setw -g mode-fg cyan setw -g mode-bg black
06 December 2008 · Dec 2008
· source
Enter a command interactively via the new default : prompt keybinding.$ tmux send-keys ':' # Then type your command, e.g., 'split-window -h' and press Enter
19 June 2008 · Jun 2008
· source
+Floating window managementshippedCreate and navigate floating panes with fuzzy session matching and directional movement.14 releases · 7 other sources · first seen Sep 2007▸
Also counts toward: Command-line interface
release
14 total
Adds floating panes created via the new-pane command (bound to * by default) which sit above tiled panes like popups but are not modal
3.7 · Jun 2026
· source
· release history
Add -f flag to attach-session, new-session, and refresh-client to set an independent active pane.
3.2 · Apr 2021
· source
· release history
Adds refresh-client command with -U, -D, -L, -R, and -c flags to pan around a window that is larger than the visible client area.
2.9 · Mar 2019
· source
· release history
resize-pane gained -Z to temporarily zoom a pane.
1.8 · Mar 2013
· source
· release history
select-window gains -T to toggle to the last active window even if already current.
1.8 · Mar 2013
· source
· release history
Adds pane-active-border-bg, pane-active-border-fg, pane-border-bg, and pane-border-fg session options for pane colours.
1.2 · Mar 2010
· source
· release history
docs
* Create a new floating pane. Tab Choose a new window and session by fuzzy matching. g 1, 2, 3, 4 g Up, Down, Left, Right Move floating pane to corners or edges. Meta resizes the pane as well.
docs update · Sep 2026
· source
example
Attach a session while designating a specific pane as the active one for immediate interaction.$ tmux attach-session -t 0 -f 1
3.2 · Apr 2021
· source
Manually pan a session where the window is larger than the terminal to view hidden content on the right.$ refresh-client -L 20
2.9 · Mar 2019
· source
Zoom the current pane temporarily to fill the window, allowing focused work.$ tmux resize-pane -Z
1.8 · Mar 2013
· source
Switch to the window named web without needing its index number.$ tmux switch-client -n web
1.4 · Dec 2010
· source
Split the current pane horizontally and cycle through available layouts using the default prefix.$ tmux send-keys 'C-b space'
01 April 2009 · Apr 2009
· source
Split the current window vertically with the new pane taking up 50% of the width.$ split-window -h -p 50
12 January 2009 · Jan 2009
· source
+Session ManagementshippedCreate, list, switch, and terminate tmux sessions with flexible naming and client detachment options.17 releases · 4 other sources · first seen Sep 2007▸
Also counts toward: Command-line interface
release
17 total
Adds -g flag to kill-session to kill all sessions in a session group
3.7 · Jun 2026
· source
· release history
Add an L modifier like P, W, S to loop over clients.
3.4 · Feb 2024
· source
· release history
Add options keep-last and keep-group to destroy-unattached to keep the last session whether in a group.
3.4 · Feb 2024
· source
· release history
New -E flag on detach-client executes a command to replace the client process instead of detaching.
2.4 · Apr 2017
· source
· release history
source-file now supports glob patterns for loading multiple config files.
2.4 · Apr 2017
· source
· release history
Adds -c flag to new-session command to set the starting directory for a new session
1.9 · Feb 2014
· source
· release history
example
Bind a key to trigger the interactive session chooser.$ tmux bind-key s choose-session
15 January 2009 · Jan 2009
· source
Change the keyboard prefix key from Ctrl-b to Ctrl-a globally for the current session.$ tmux set-option prefix ^A
04 October 2007 · Oct 2007
· source
Attach to a session while forcing existing clients to disconnect, useful for reclaiming a hung session.$ tmux attach -d
04 October 2007 · Oct 2007
· source
List all active sessions in a script.$ tmux list-sessions
27 September 2007 · Sep 2007
· source
+Option Scoping and ManagementshippedManage session, window, and global options with flexible scoping rules and display capabilities.13 releases · 2 other sources · first seen Jun 2008▸
Also counts toward: Command-line interface
release
13 total
Adds allow-set-title option to forbid applications from changing the pane title.
3.5 · Sep 2024
· source
· release history
Add message-line option to control where message and prompt go.
3.4 · Feb 2024
· source
· release history
Add pane options via set-option -p, inheriting from window options.
3.0 · May 2019
· source
· release history
Add -A flag to show-options to display parent options with a * marker.
3.0 · May 2019
· source
· release history
Expands formats in option names and adds -F flag to expand them in option values.
2.6 · Oct 2017
· source
· release history
Add -q argument to set-option to suppress output when setting options quietly
1.7 · Oct 2012
· source
· release history
example
Load the global system-wide configuration file when starting a tmux server.$ tmux -u -f /etc/tmux.conf
1.0 · Sep 2009
· source
Reset a session-specific option to its default inherited value.$ tmux set -u session-keys
07 January 2009 · Jan 2009
· source
+Terminal Compatibility FeaturesshippedSupport cursor position queries for resizing and force color schemes based on terminal capabilities.14 releases · 1 other source · first seen Oct 2007▸
release
14 total
Add a Nobr terminfo(5) capability to tell tmux the terminal does not use bright colours for bold.
3.4 · Feb 2024
· source
· release history
A new feature flag (ignorefkeys) to ignore terminfo(5) function key definitions for rxvt.
3.4 · Feb 2024
· source
· release history
Add scroll-top and scroll-bottom commands to scroll so cursor is at top or bottom.
3.4 · Feb 2024
· source
· release history
Adds always value for the extended-keys option to force forwarding of extended keys regardless of application request
3.2a · Jun 2021
· source
· release history
Adds support for iTerm2 DSR 1337 sequence and DECSLRM detection
3.1 · Feb 2020
· source
· release history
Adds RGB (24bit) colour support via the Tc TERM flag
2.2 · Apr 2016
· source
· release history
example
Enable xterm-style key codes including ctrl, alt, and shift for better terminal application compatibility.$ tmux setx window-xterm-keys on
09 January 2009 · Jan 2009
· source
+Window Navigation and ManagementshippedNavigate between windows, create new ones with specific arguments, and link or kill windows across sessions.11 releases · 4 other sources · first seen Oct 2007▸
Also counts toward: Command-line interface
release
11 total
send-keys -X sends commands (e.g., scroll-up, search-backward-incremental) to a window pane or client without changing input mode.
2.4 · Apr 2017
· source
· release history
Adds -c flag to new-window command (also aliased as neww) to set the working directory for a new window
1.9 · Feb 2014
· source
· release history
Adds grouped sessions capability via -t flag on new-session to sync linked windows
1.1 · Nov 2009
· source
· release history
Adds clear-history command to clear the history buffer of a window.
0.9 · Jul 2009
· source
· release history
Window lists now include the current layout name in their output
30 April 2009 · Apr 2009
· source
· release history
Adds -a flag to next-window and previous-window to select windows by activity or bell.
18 January 2009 · Jan 2009
· source
· release history
example
Jump to the previously active window based on bell or activity rather than just order.$ next-window -a
18 January 2009 · Jan 2009
· source
Quickly jump between tmux sessions by index using key bindings.$ tmux bind q switch-client 0 tmux bind w switch-client 1
16 November 2007 · Nov 2007
· source
Link a window from one session to another with a specific index.$ tmux -s dstname link-window [-i dstidx] srcname srcidx
26 October 2007 · Oct 2007
· source
Navigate to the next window using the new subcommand.$ tmux next-window
03 October 2007 · Oct 2007
· source
+Server Locking and AuthenticationshippedSecure the tmux server session with password authentication, manual locking commands, and automatic locking after a period of inactivity.9 releases · 2 other sources · first seen Jan 2009▸
Also counts toward: Command-line interface
release
9 total
Set default lock command to vlock on Linux if present at build time.
3.4 · Feb 2024
· source
· release history
Add a new server-access command to configure user ACLs for the tmux socket
3.3 · Jun 2022
· source
· release history
Add pause-after option to control output buffering for control mode clients and refresh-client -A to resume.
3.2 · Apr 2021
· source
· release history
-U command line flag removed per the removal of set-password
1.1 · Nov 2009
· source
· release history
Internal locking mechanism removed in favor of lock-command session option
1.1 · Nov 2009
· source
· release history
Restrict tmux socket access so only specific users can attach read-write while others are forced read-only.$ server-access -a user:alice:read-write server-access -a user:bob:read-only
3.3 · Jun 2022
· source
Prevent output backlog from choking a control mode client by pausing and resuming pane updates.$ tmux set-option -g pause-after 10 tmux refresh-client -A
3.2 · Apr 2021
· source
+Status Line ConfigurationshippedCustomize the appearance and content of the session status bar, including colors.7 releases · 4 other sources · first seen Oct 2007▸
Also counts toward: Command-line interface
release
7 total
Add status-line message attributes and individual alert attributes (bell, content, activity) replacing window-status-alert-{attr,bg,fg}
1.6 · Jan 2012
· source
· release history
Removed window-status-alert-{attr,bg,fg} options; use status-line message attributes or individual alert attributes (bell, content, activity) instead.
1.6 · Jan 2012
· source
· release history
Adds message-limit session option to control the number of logged messages.
1.2 · Mar 2010
· source
· release history
Adds monitor-content window option and fnmatch pattern support to find-window command to monitor windows for specific patterns.
0.9 · Jul 2009
· source
· release history
Adds monitor-content window option to detect strings and highlight the status line.
19 May 2009 · May 2009
· source
· release history
Adds status-attr, mode-attr, and message-attr options to change status, mode and message attributes
27 January 2009 · Jan 2009
· source
· release history
example
Configure the status line to use UTF-8 and custom formatting.$ # /etc/tmux.conf set -g status-utf8 on set -g status-left '[#S]'
1.0 · Sep 2009
· source
Trigger a visual alert in the status bar when a specific error or success message appears in the terminal output.$ tmux set-window-option monitor-content 'ERROR'
19 May 2009 · May 2009
· source
Set bright, blinking status bar using the new option key$ set -g status-attr bright,blink
27 January 2009 · Jan 2009
· source
Configure the status bar text color using named colors or numeric indices.$ tmux set -g status-fg red tmux set -g status-bg blue
12 October 2007 · Oct 2007
· source
+Status Bar CustomizationshippedConfigure the content, appearance, update interval, and length of the session status bar.7 releases · 3 other sources · first seen Jun 2008▸
release
7 total
Adds message-format option and refactors message drawing so prompts occupy only a portion of the status bar instead of replacing the entire line
3.7 · Jun 2026
· source
· release history
The default behavior of message drawing changes: prompts now overlay normal status content rather than replacing the entire line; the message-style option no longer implies full width filling by default (requires fill to cover whole width)
3.7 · Jun 2026
· source
· release history
Add a session, pane and user mouse range types for the status line and add format variables for mouse_status_line and mouse_status_range so they can be associated with different commands in the key bindings.
3.4 · Feb 2024
· source
· release history
Adds status-format array option to configure multi-line status bar formats, supporting the new multi-line height values (2-5) for the status option.
2.9 · Mar 2019
· source
· release history
Introduces status-left-length and status-right-length options to control the maximum display width of status bar components.
02 December 2008 · Dec 2008
· source
· release history
status-left, status-right, and status-interval options allow configuring strings displayed on the left/right of the status bar and the update interval (default 15 seconds).
04 June 2008 · Jun 2008
· source
· release history
example
Use the new {} syntax to define a multi-line status line format without messy escaping.$ set-option -g status-left '{[#{pane_current_path}]}'
3.0 · May 2019
· source
Conditionally apply a status bar theme only if the client terminal supports specific capabilities.$ %if #{==:#{client_termtype},screen-256color} set -g status-style 'bg=colour-red' %endif
2.4 · Apr 2017
· source
Toggle activity monitoring for the current window to see which windows have output in the status bar.$ setw monitor-activity
04 June 2008 · Jun 2008
· source
+Mouse Event SupportshippedEnable mouse interaction for scrolling, selection, and navigation via wheel events and drag.9 releases · 1 other source · first seen Jul 2010▸
release
9 total
Adds -M flag to display-menu to always turn mouse on in a menu.
3.5 · Sep 2024
· source
· release history
Adds a mouse terminal feature to enable mouse support on terminals where terminfo claims it is unsupported
3.2a · Jun 2021
· source
· release history
The mouse-resize-pane, mouse-select-pane, mouse-select-window, and mode-mouse options are removed; use the new mouse option instead
2.1 · Oct 2015
· source
· release history
Adds mouse session option to replace four separate mouse-* options
2.1 · Oct 2015
· source
· release history
mouse-resize-pane allows resizing panes by dragging their borders with the mouse.
1.5 · Jul 2011
· source
· release history
mouse-utf8 enables UTF-8 mouse input support for compatible terminals.
1.5 · Jul 2011
· source
· release history
example
Enable full mouse support (resize, select pane/window) with a single config setting.$ set-option -g mouse on
2.1 · Oct 2015
· source
+Event HooksshippedEnable event-driven automation by triggering hooks on specific server, client, and pane events.9 releases · first seen Apr 2016▸
release
9 total
Adds command-error hook triggered when a command fails.
3.5 · Sep 2024
· source
· release history
Add window-resized hook and client-active hook for resize and focus events
3.3 · Jun 2022
· source
· release history
Store hooks as array options allowing multiple commands, executed in index order.
3.0 · May 2019
· source
· release history
Add pane focus hooks (pane_focus_in, pane_focus_out) to react to user activity
2.8 · Aug 2018
· source
· release history
set-hook -R runs a hook command immediately rather than waiting for the next event
2.8 · Aug 2018
· source
· release history
+Interactive Session ChoosershippedSelect a session from an interactive list via command or key binding, replacing the standard session list output.6 releases · 2 other sources · first seen Jan 2009▸
release
Support configurable shortcut keys in buffer, client, and tree modes using the -K format flag with choose-* commands.
3.2 · Apr 2021
· source
· release history
Major rewrite of choose mode includes preview, sorting, searching and tagging; filtering in tree mode.
2.6 · Oct 2017
· source
· release history
choose-window and choose-session are now aliases of choose-tree.
2.6 · Oct 2017
· source
· release history
Supports SIGUSR2 to toggle logging on a running server.
2.6 · Oct 2017
· source
· release history
The select-prompt command is removed; use command-prompt -p index 'select-window -t:%%' to replicate the previous binding
1.3 · Jul 2010
· source
· release history
Adds choose-session command to select a session from a list.
15 January 2009 · Jan 2009
· source
· release history
example
Bind a key to choose a client with a custom shortcut format for easier selection.$ tmux bind-key C-b choose-client -K "Client: #{client_name}"
3.2 · Apr 2021
· source
Bind a key to trigger the interactive session chooser.$ tmux bind-key s choose-session
15 January 2009 · Jan 2009
· source
+Escape Sequence SupportshippedSupport additional terminal escape sequences such as SD (scroll down) and Setulc.6 releases · 1 other source · first seen May 2019▸
release
Add sixel_support format variable to check for SIXEL support, returning 1 if available or 0 on OpenBSD.
3.6 · Nov 2025
· source
· release history
Add a third state all to allow-passthrough to work even in invisible panes.
3.4 · Feb 2024
· source
· release history
Add basic support for SIXEL if built with --enable-sixel.
3.4 · Feb 2024
· source
· release history
Add support for marking lines with a shell prompt based on the OSC 133 extension.
3.4 · Feb 2024
· source
· release history
Add support for the SD (scroll down) escape sequence and underscore colours (Setulc).
3.0 · May 2019
· source
· release history
example
Check for SIXEL support in status lines or scripts.$ tmux display-message '#{sixel_support}'
3.6 · Nov 2025
· source
+Client and Session Information DisplayshippedList connected clients, show session/window sizes, and handle session name limitations.6 releases · 1 other source · first seen Oct 2007▸
Also counts toward: Command-line interface
release
Add -f to list-clients like the other list commands.
3.4 · Feb 2024
· source
· release history
Extend display-message to work for control clients.
3.4 · Feb 2024
· source
· release history
Adds the choose-client command for selecting a client session.
1.0 · Sep 2009
· source
· release history
Displays session and window sizes in list outputs.
23 October 2007 · Oct 2007
· source
· release history
Lifts the previous limit on session names passed with the -s flag.
23 October 2007 · Oct 2007
· source
· release history
Adds the list-clients subcommand to display connected clients.
23 October 2007 · Oct 2007
· source
· release history
example
List all currently connected tmux clients to verify connections or gather PIDs for scripting.$ tmux list-clients
23 October 2007 · Oct 2007
· source
+Prompt-Based Selection and InteractionshippedEnter commands or select targets (windows/sessions) via interactive prompts.7 releases · first seen Jun 2008▸
Also counts toward: Command-line interface
release
7 total
Add flags (-c and -y) to change the confirm key and default behaviour of confirm-before.
3.4 · Feb 2024
· source
· release history
Add flag (-o) to next-prompt/previous-prompt to go to OSC 133 command output.
3.4 · Feb 2024
· source
· release history
Adds history-file option to save/restore command prompt history
2.1 · Oct 2015
· source
· release history
run-shell gained -t <pane> to specify the target pane for output display.
1.8 · Mar 2013
· source
· release history
capture-pane gains -p (stdout), -e (escape sequences), -a (alternate screen), and -P (pending output).
1.8 · Mar 2013
· source
· release history
Improves command-line completion to Complete words at any point inside command in prompt and use option names alongside command names.
06 January 2009 · Jan 2009
· source
· release history
+Conditional ConfigurationshippedAllow configuration files to use conditional logic blocks based on format comparisons to dynamically apply settings.6 releases · first seen Apr 2017▸
release
Extend && and || in format expressions to support arbitrarily many arguments, and add ! and !! operators for not and not-not logic.
3.6 · Nov 2025
· source
· release history
Add a %config-error reply to control mode for configuration file errors since reporting them in view mode is useless.
3.4 · Feb 2024
· source
· release history
Change {} to expand immediately upon parsing, requiring valid tmux commands inside
3.3 · Jun 2022
· source
· release history
Add {} string syntax to .tmux.conf for multi-line strings without escaping.
3.0 · May 2019
· source
· release history
Support %else in config files to match %if statements
2.7 · Mar 2018
· source
· release history
The %if/%endif blocks in .tmux.conf allow conditional configuration processing based on format comparisons (#{==:} or #{!=:}).
2.4 · Apr 2017
· source
· release history
+Terminal Appearance ConfigurationshippedControl cursor styles, colors, fill characters for unused space, and scroll behavior on clear.5 releases · 1 other source · first seen Jun 2022▸
Also counts toward: Command-line interface
release
Add pane-scrollbars, pane-scrollbars-position, and pane-scrollbars-style options to enable side scrollbars for each pane.
3.6 · Nov 2025
· source
· release history
Adds -r flag to refresh-client in control mode for OSC 10 and 11 responses.
3.5 · Sep 2024
· source
· release history
Query the client terminal for foreground and background colours and if OSC 10 or 11 is received but no colour has been set inside tmux, return the colour from the first attached client.
3.4 · Feb 2024
· source
· release history
Add option fill-character for unused client areas and scroll-on-clear to control history scrolling on clear
3.3 · Jun 2022
· source
· release history
Add -T (title), -e (env), -b (lines), and -s/-S (styles) flags to display-popup plus new options popup-border-lines, popup-border-style, and popup-style
3.3 · Jun 2022
· source
· release history
example
Enable scrollbars on the right side of panes and style them cyan.$ tmux set-option -g pane-scrollbars on (tmux set-option -g pane-scrollbars-position right) (tmux set-option -g pane-scrollbars-style 'fg=black,bg=cyan')
3.6 · Nov 2025
· source
+Session and Window Metadata ExtensionsshippedExpand available format specifiers for status lines and prompts to include session activity, window linkage, alerts, last attached time, client PID, and process ID.4 releases · 2 other sources · first seen Oct 2015▸
release
Adds latest window-size option which sizes windows based on the most recently used client
3.1 · Feb 2020
· source
· release history
Add new display-menu command to create simple menus with configurable bindings.
3.0 · May 2019
· source
· release history
New format token rectangle_toggle available in pane and window formatting strings
2.8 · Aug 2018
· source
· release history
Adds new format specifiers: session_activity, window_linked, window_activity_format, session_alerts, session_last_attached, client_pid, and pid
2.1 · Oct 2015
· source
· release history
example
Create a context menu on the status line to quickly reload config or kill panes.$ bind-key -n MouseDrag3 status-command 'display-menu -T "Menu" ~{1,Reload,source-file ~/.tmux.conf}{2,Kill Pane,kill-pane}'
3.0 · May 2019
· source
Display scroll position and truncated socket path in the status line$ set-status-right '#{scroll_position} | #{=10:#{socket_path}}'
2.2 · Apr 2016
· source
+Manual Layout ControlshippedPrevent the window manager from automatically adjusting pane sizes by enforcing a manual layout state.5 releases · 1 other source · first seen Jan 2009▸
release
Adds window-size option (values: largest, smallest, manual) to control how window dimensions are determined relative to attached clients.
2.9 · Mar 2019
· source
· release history
resize-pane gained -x and -y for absolute pane sizing.
1.8 · Mar 2013
· source
· release history
Add -u and -U flags to select-layout for navigating layout history stacks
1.7 · Oct 2012
· source
· release history
Renames manual layout to manual-vertical
18 May 2009 · May 2009
· source
· release history
The default key binding for listing windows has changed to w (bound to choose-window).
15 January 2009 · Jan 2009
· source
· release history
example
Resize a pane to an exact pixel width and height using the new absolute sizing flags.$ tmux resize-pane -x 200 -y 50
1.8 · Mar 2013
· source
+CLI Argument StandardizationshippedAlign command-line options with standard conventions by requiring them after positional arguments and improving error handling.6 releases · first seen Sep 2007▸
Also counts toward: Command-line interface
release
-s and -c flags must be placed after the subcommand (e.g., tmux neww -s0 instead of tmux -s0 neww)
02 June 2008 · Jun 2008
· source
· release history
Lists available commands when a command is ambiguous
16 November 2007 · Nov 2007
· source
· release history
-s flag must now be passed before the command.
03 October 2007 · Oct 2007
· source
· release history
Session selection now errors if a specified name does not exist.
27 September 2007 · Sep 2007
· source
· release history
Commands now require options to be placed AFTER positional arguments (e.g., new -sabc instead of -s new abc), potentially breaking scripts relying on the old option-first syntax
26 September 2007 · Sep 2007
· source
· release history
Adds command aliases so users can define short names for built-in commands (e.g., ls for list)
26 September 2007 · Sep 2007
· source
· release history
+Pane Border CustomizationshippedConfigure the background and foreground colors for active and inactive pane borders.5 releases · first seen Mar 2010▸
release
Add pane-border-indicators option and make pane-border-format a pane option instead of window
3.3 · Jun 2022
· source
· release history
Allow pane border line styles to be configured as single, double, heavy, simple, or number lines.
3.2 · Apr 2021
· source
· release history
Add support for the SD (scroll down) escape sequence and underscore colours (Setulc).
3.0 · May 2019
· source
· release history
Adds pane-border-status option to control text displayed in pane borders
2.3 · Sep 2016
· source
· release history
Adds pane-active-border-bg, pane-active-border-fg, pane-border-bg, and pane-border-fg session options for pane colours.
1.2 · Mar 2010
· source
· release history
+Copy Mode Search State FormatsshippedProvide format specifiers for the current selection presence and the last search string within copy mode.4 releases · 1 other source · first seen May 2017▸
release
Adds selection_active format for non-moving selections
3.1 · Feb 2020
· source
· release history
Adds reverse sorting in tree, client, and buffer modes
3.1 · Feb 2020
· source
· release history
Adds selection_present format for copy mode.
2.6 · Oct 2017
· source
· release history
Adds pane_search_string format for the last search term while in copy mode
2.5 · May 2017
· source
· release history
example
Enable regular expression search in copy mode.$ bind-key / search-forward bind-key ? search-backward
3.1 · Feb 2020
· source
+Popup Window ManagementshippedCreate and configure floating popup windows with customizable titles, environments, borders, and context menus.3 releases · 1 other source · first seen Jun 2022▸
Also counts toward: Command-line interface
release
Add -k flag to display-popup to dismiss the popup with any key once the command has exited.
3.6 · Nov 2025
· source
· release history
Add -B flag to display-popup to open without a border, along with a popup context menu for resizing and closing
3.3 · Jun 2022
· source
· release history
Add -T (title), -e (env), -b (lines), and -s/-S (styles) flags to display-popup plus new options popup-border-lines, popup-border-style, and popup-style
3.3 · Jun 2022
· source
· release history
example
Create a popup that closes immediately upon command completion regardless of input.$ tmux display-popup -k -e EDITOR=nvim 'echo done'
3.6 · Nov 2025
· source
+Escape Sequence Timeout ConfigurationshippedControl the server's timeout for detecting escape sequence prefixes to reduce key binding latency.3 releases · 1 other source · first seen Mar 2010▸
release
Adds prefix-timeout option to configure the delay before the prefix key expires.
3.5 · Sep 2024
· source
· release history
Add c0-change-trigger and c0-change-interval configuration options to implement output rate limiting based on C0 character counts
1.7 · Oct 2012
· source
· release history
Adds escape-time server option to configure escape sequence detection timeout.
1.2 · Mar 2010
· source
· release history
example
Set the prefix timeout to 10 seconds via configuration file.$ set-option -g prefix-timeout 10000
3.5 · Sep 2024
· source
+Key Table ManagementshippedSplit and select key binding tables (e.g., vi vs emacs) for different modes.2 releases · 2 other sources · first seen Jul 2008▸
release
Adds extended-keys-format option to control the format of extended keys (similar to xterm's formatOtherKeys).
3.5 · Sep 2024
· source
· release history
Configure the first pane to be indexed at 1 instead of the default 0.$ set-option -g pane-base-index 1
1.6 · Jan 2012
· source
Switch tmux's key table for the next time you enter copy or pane mode.$ tmux set mode-keys vi
02 July 2008 · Jul 2008
· source
+Dynamic Window Title UpdateshippedAutomatically rename the current window title based on the running process's command name or executable.4 releases · first seen Jan 2009▸
release
Allows punctuation in pane_current_command.
2.6 · Oct 2017
· source
· release history
Adds automatic-rename-format to customize the automatic rename mechanism.
1.9 · Feb 2014
· source
· release history
Extends automatic-rename functionality to Darwin, using the executable name as the window title source.
20 January 2009 · Jan 2009
· source
· release history
Adds the automatic-rename option to dynamically update window titles based on the running command's argv[0].
20 January 2009 · Jan 2009
· source
· release history
+Buffer Save CommandshippedPersist the contents of the active paste buffer to a file on disk.3 releases · 1 other source · first seen Jan 2009▸
Also counts toward: Command-line interface
release
set-buffer gains append mode via -a flag and the ability to assign names to buffers
2.0 · Mar 2015
· source
· release history
Allows load-buffer and save-buffer commands to accept - for stdin/stdout I/O
1.3 · Jul 2010
· source
· release history
Save the active buffer to a file.$ :save-buffer /tmp/tmux_buffer.txt
11 January 2009 · Jan 2009
· source
+Server Lifecycle ControlshippedStart or terminate the tmux server instance independently of client sessions.2 releases · 2 other sources · first seen Jun 2008▸
Also counts toward: Command-line interface
release
Introduces the kill-server command to terminate the tmux server
03 June 2008 · Jun 2008
· source
· release history
Adds start-server (alias start) subcommand to launch the tmux server without creating sessions or windows
02 June 2008 · Jun 2008
· source
· release history
example
Terminate the running tmux server instance entirely.$ tmux kill-server
03 June 2008 · Jun 2008
· source
Start the tmux server background without attaching or creating a session, useful for pre-loading config$ tmux start-server
02 June 2008 · Jun 2008
· source
+Tiled Window LayoutshippedDistribute all open windows evenly in a tiled layout configuration.2 releases · 1 other source · first seen Jul 2010▸
release
Adds mirrored versions of main-horizontal and main-vertical layouts (main pane at bottom or right).
3.5 · Sep 2024
· source
· release history
Adds Tiled layout option to enable automatic tiled window distribution
1.3 · Jul 2010
· source
· release history
example
Switch to a tiled layout to evenly distribute all open windows.$ tmux select-layout tiled
1.3 · Jul 2010
· source
+Context MenusshippedCreate and interact with simple menus on the status line or via commands to perform actions like reloading config.3 releases · first seen May 2019▸
Also counts toward: Command-line interface
release
Add options and flags for menu styles (menu-style, menu-border-style) similar to those existing for popups.
3.4 · Feb 2024
· source
· release history
Add a flag to display-menu to select the menu item selected when the menu is open.
3.4 · Feb 2024
· source
· release history
Add new display-menu command to create simple menus with configurable bindings.
3.0 · May 2019
· source
· release history
+Literal Key SendingshippedSend literal keys or escape sequences without interpreting them as shell syntax.2 releases · 1 other source · first seen May 2019▸
release
Add send-keys -K to handle keys directly as if typed (so look up in key table).
3.4 · Feb 2024
· source
· release history
Add -H flag to send-keys to send literal keys.
3.0 · May 2019
· source
· release history
example
Send a literal pipe character instead of interpreting it as shell syntax.$ send-keys -H '|'
3.0 · May 2019
· source
+OSC 52 Paste Buffer SupportshippedEnable programs running inside a pane to programmatically set the tmux paste buffer using OSC 52 escape sequences.3 releases · first seen Apr 2017▸
release
Notification when a paste buffer is deleted.
3.4 · Feb 2024
· source
· release history
Add paste-buffer-deleted notification and fix name of paste-buffer-changed.
3.4 · Feb 2024
· source
· release history
Added support for OSC 52 to allow programs inside tmux to set the tmux paste buffer from within panes.
2.4 · Apr 2017
· source
· release history
+Status Line Format ExtensionsshippedExpand status line capabilities with new format specifiers for scroll position, socket path, time formatting, and path manipulation.3 releases · first seen Apr 2016▸
release
Add a format (pane_unseen_changes) to show if there are unseen changes while in a mode.
3.4 · Feb 2024
· source
· release history
Add a -l flag to display-message to disable format expansion.
3.4 · Feb 2024
· source
· release history
Adds #{scroll_position}, #{socket_path}, time formatting with #{t:...}, basename/dirname/substitution formats to control pane content and status display
2.2 · Apr 2016
· source
· release history
+System Socket Activation SupportshippedSupport launching the tmux server via systemd socket activation for service manager integration.3 releases · first seen Jun 2022▸
release
Add support for spawning panes in separate cgroups with systemd and a configure flag (--disable-cgroups) to turn off.
3.4 · Feb 2024
· source
· release history
Do not attempt to connect to the socket as a client if systemd is active.
3.4 · Feb 2024
· source
· release history
Add --enable-systemd build flag to support systemd socket activation
3.3 · Jun 2022
· source
· release history
+Pane Position FormatsshippedAdd format specifiers to indicate the absolute position of a pane within a window (top, bottom, left, right).3 releases · first seen Oct 2017▸
release
Add new <, >, <=, and >= comparison operators for formats.
3.0 · May 2019
· source
· release history
Add regular expression support to format search/match/substitute modifiers; -r flag for find-window.
3.0 · May 2019
· source
· release history
Adds pane_at_left, pane_at_right, pane_at_top and pane_at_bottom formats.
2.6 · Oct 2017
· source
· release history
+Interactive Tree SelectionshippedUse an interactive tree-based interface to select sessions, windows, and panes.2 releases · 1 other source · first seen Oct 2012▸
release
Add -Z flag to choose-tree, choose-client, and choose-buffer to auto-zoom panes when entering the mode
2.7 · Mar 2018
· source
· release history
Add new choose-tree command to render session/window layout as an interactive tree for selection
1.7 · Oct 2012
· source
· release history
example
Use choose-tree to visually select and switch between sessions/windows.$ choose-tree
1.7 · Oct 2012
· source
+Output Rate LimitingshippedLimit terminal output rates based on C0 character counts to reduce processing overhead.3 releases · first seen Oct 2012▸
The c0-* rate-limiting options are removed; a backoff approach is now used
2.1 · Oct 2015
· source
· release history
Add c0-change-trigger and c0-change-interval configuration options to implement output rate limiting based on C0 character counts
1.7 · Oct 2012
· source
· release history
+Quiet Server StartupshippedSuppress verbose startup messages from the tmux server using specific options.2 releases · 1 other source · first seen Mar 2010▸
release
Adds pane_at_left, pane_at_right, pane_at_top and pane_at_bottom formats.
2.6 · Oct 2017
· source
· release history
Adds quiet server option to suppress startup messages.
1.2 · Mar 2010
· source
· release history
example
Use the new server option to suppress verbose startup messages.$ set-option -s quiet on
1.2 · Mar 2010
· source
+Automatic Window InsertionshippedInsert new windows immediately after existing ones with automatic index shifting.3 releases · first seen Jul 2010▸
release
Add new session option renumber-windows to automatically renumber windows upon closure
1.7 · Oct 2012
· source
· release history
Add -r flag to move-window to renumber windows sequentially in a session
1.7 · Oct 2012
· source
· release history
Adds -a flag to new-window to insert windows after existing ones with automatic shifting
1.3 · Jul 2010
· source
· release history
+Nested Tmux SupportshippedSend prefix keys to inner tmux instances and warn about existing $TMUX variables.2 releases · 1 other source · first seen Oct 2007▸
release
Adds the send-prefix command bound to C-b by default
12 October 2007 · Oct 2007
· source
· release history
Adds a warning if $TMUX exists on new or attach sessions
12 October 2007 · Oct 2007
· source
· release history
example
Trigger the nested tmux prefix (e.g. Ctrl-b) to be sent to the inner session.$ tmux send-prefix
12 October 2007 · Oct 2007
· source
+Config File GlobbingshippedEnable the source-file command to load multiple configuration files using glob patterns.2 releases · first seen Apr 2017▸
source-file now supports glob patterns for loading multiple config files.
2.4 · Apr 2017
· source
· release history
+OSC 52 and OSC 7 Protocol SupportshippedEnable programmatic control of the paste buffer via OSC 52 and dynamic working directory reporting via OSC 7.2 releases · first seen Jun 2022▸
release
Pass through first argument to OSC 52 (which clipboards to set) if the application provides it.
3.4 · Feb 2024
· source
· release history
Add OSC 7 capability via the existing set-titles option and response to OSC 4 queries
3.3 · Jun 2022
· source
· release history
+Client Information FormatsshippedExpand available format specifiers for status lines and conditionals to include client-specific details like version, terminal type, name, and written count.2 releases · first seen Apr 2017▸
release
Adds new formats: pane_path, xpixel, ypixel, window_marked_flag, and word/line/cursor position in copy mode
3.1 · Feb 2020
· source
· release history
Adds new formats #{version}, #{client_termtype}, #{client_name}, and #{client_written} for status lines and conditionals.
2.4 · Apr 2017
· source
· release history
+Copy Mode Regular Expression SearchshippedEnable regular expression searching capabilities within copy mode.1 release · 1 other source · first seen Feb 2020▸
release
Adds search-forward and search-backward in copy mode to use regular expressions by default
3.1 · Feb 2020
· source
· release history
example
Enable regular expression search in copy mode.$ bind-key / search-forward bind-key ? search-backward
3.1 · Feb 2020
· source
+Pane Respawn CapabilityshippedAllow panes to be restarted with their original command using a dedicated command.2 releases · first seen Jul 2011▸
Also counts toward: Command-line interface
release
Adds -c for respawn-pane and respawn-window.
2.6 · Oct 2017
· source
· release history
respawn-pane command allows respawning a pane with its original command.
1.5 · Jul 2011
· source
· release history
+Piped Pane ProcessingshippedAllow pane output to be processed by a pipe command with support for format sequences.2 releases · first seen Jul 2010▸
release
Adds pane_pipe format to show if pipe-pane is active.
2.6 · Oct 2017
· source
· release history
Allows pipe-pane to process special character sequences like #I
1.3 · Jul 2010
· source
· release history
+Socket Directory ConfigurationshippedControl the location of the tmux server socket using the TMUX_TMPDIR environment variable.2 releases · first seen Feb 2014▸
release
Removed support for TMPDIR; use TMUX_TMPDIR instead.
2.2 · Apr 2016
· source
· release history
Adds the TMUX_TMPDIR environment variable to control the socket directory location
1.9 · Feb 2014
· source
· release history
+Global Key UnbindingshippedUnbind keys across all key tables globally rather than just the current table.2 releases · first seen Dec 2010▸
Configure the first pane to be indexed at 1 instead of the default 0.$ set-option -g pane-base-index 1
1.6 · Jan 2012
· source
+Silence Monitoring and AlertsshippedMonitor terminal inactivity and trigger visual alerts after a specified period of silence.1 release · 1 other source · first seen Dec 2010▸
release
Adds monitor-silence window option and visual-silence session option to monitor and alert on terminal inactivity.
1.4 · Dec 2010
· source
· release history
example
Trigger a visible alert (flash or message) if the active pane in a window has not received any keystrokes for 5 minutes.$ tmux set-option -w monitor-silence 300 tmux set-option -g visual-silence on
1.4 · Dec 2010
· source
+Main Pane Sizing OptionsshippedConfigure the height or width of the primary pane in specific layouts (main-horizontal, main-vertical) via dedicated options.2 releases · first seen May 2009▸
release
Adds main-pane-height option to control the height of the large pane in main-horizontal layout
18 May 2009 · May 2009
· source
· release history
Adds main-pane-width option to set the width of the large left pane with main-vertical layout (previously called left-vertical)
18 May 2009 · May 2009
· source
· release history
+Window PersistenceshippedConfigure windows to remain open after their child processes exit.2 releases · first seen Jun 2008▸
release
Adds the remain-on-exit option to keep windows alive after their child process exits
29 June 2008 · Jun 2008
· source
· release history
Adds the remain-by-default session option to set the default for remain-on-exit on new windows
29 June 2008 · Jun 2008
· source
· release history
+Bell Signal HandlingshippedControl how terminal bell signals are displayed or suppressed within the session.1 release · 1 other source · first seen Oct 2007▸
release
Introduces the bell-style option to control bell signal handling across sessions.
19 October 2007 · Oct 2007
· source
· release history
example
Configure tmux to ignore bell signals except when they originate in the currently active window.$ set -g bell-style current
19 October 2007 · Oct 2007
· source
+Enhanced Copy Mode OperationsshippedExpand copy mode with line copy variants, pipe integration, and selection cancellation options.1 release · first seen Jun 2022▸
release
Add pipe variants of line copy commands and -and-cancel variant for copy-line/copy-end-of-line
3.3 · Jun 2022
· source
· release history
+Interactive Prompt History and BackgroundingshippedProvide per-type history for command prompts and allow background execution of prompt and confirmation dialogs.1 release · first seen Jun 2022▸
Also counts toward: Command-line interface
release
Add -F to command-prompt, new command histories per prompt type, and background execution with -b for command-prompt/confirm-before
3.3 · Jun 2022
· source
· release history
+Server Access ControlshippedConfigure fine-grained read/write permissions for users accessing the tmux server socket.1 other source · first seen Jun 2022▸
example
Restrict tmux socket access so only specific users can attach read-write while others are forced read-only.$ server-access -a user:alice:read-write server-access -a user:bob:read-only
3.3 · Jun 2022
· source
+Backspace Character ConfigurationshippedAllow configuration of the key sent by the backspace character for compatibility with systems using ^H.1 release · first seen Feb 2020▸
release
Adds an option to set the key sent by backspace for systems using ^H rather than ^?
3.1 · Feb 2020
· source
· release history
+Interactive Mode Reverse SortingshippedReverse the sort order of items in interactive tree, client, and buffer selection modes.1 release · first seen Feb 2020▸
release
Adds reverse sorting in tree, client, and buffer modes
3.1 · Feb 2020
· source
· release history
+iTerm2 and Terminal Sequence SupportshippedExtend terminal compatibility to support iTerm2 DSR 1337 sequences and DECSLRM detection.1 release · first seen Feb 2020▸
release
Adds support for iTerm2 DSR 1337 sequence and DECSLRM detection
3.1 · Feb 2020
· source
· release history
+Key Binding NotesshippedAllow adding descriptive notes to key bindings that can be displayed in lists for discoverability.1 other source · first seen Feb 2020▸
example
Add notes to key bindings for better discoverability.$ bind-key -N 'Rotate panes clockwise' C-b :rotate-window tmux list-keys -N | grep Rotate
3.1 · Feb 2020
· source
+Window Size Last Client SizingshippedConfigure window dimensions to be based on the most recently used client.1 release · first seen Feb 2020▸
release
Adds latest window-size option which sizes windows based on the most recently used client
3.1 · Feb 2020
· source
· release history
+Window Dimension ConfigurationshippedControl how window dimensions are determined relative to attached clients, including manual sizing and initial defaults.1 release · first seen Mar 2019▸
release
Adds window-size option (values: largest, smallest, manual) to control how window dimensions are determined relative to attached clients.
2.9 · Mar 2019
· source
· release history
+Window Resizing CommandsshippedManually resize windows to specific pixel dimensions or expand them beyond client bounds.1 release · first seen Mar 2019▸
Also counts toward: Command-line interface
release
Adds resize-window command with -a, -A, -x, and -y flags for manual window resizing beyond client bounds.
2.9 · Mar 2019
· source
· release history
+Pane Focus EventsshippedTrigger hooks when a pane gains or loses input focus.1 release · first seen Aug 2018▸
release
Add pane focus hooks (pane_focus_in, pane_focus_out) to react to user activity
2.8 · Aug 2018
· source
· release history
+Rectangle Toggle IndicatorshippedDisplay a status indicator for rectangle selection mode in formatting strings.1 release · first seen Aug 2018▸
release
New format token rectangle_toggle available in pane and window formatting strings
2.8 · Aug 2018
· source
· release history
+Rep Escape Sequence SupportshippedSupport the REP escape sequence for handling repeated character input in key bindings.1 release · first seen Oct 2017▸
+User-defined Key BindingsshippedAllow users to define custom escape sequences (User0 to User999) that can be bound to commands for flexible key mapping.1 release · first seen Oct 2017▸
release
Adds user-keys option for user-defined key escape sequences (User0 to User999).
2.6 · Oct 2017
· source
· release history
+Option AppendingshippedAllow appending to user-defined options using the `-a` flag for style options.1 release · first seen Sep 2016▸
release
Enables appending to user options via set -a for @foo style options
2.3 · Sep 2016
· source
· release history
+Session Working Directory SpecificationshippedStart a new session in a specific working directory rather than the default current directory.1 other source · first seen Feb 2014▸
example
Start a new tmux session in the current working directory without relying on the default current dir$ tmux new-session -c "$PWD"
1.9 · Feb 2014
· source
+Synchronized Pane State DetectionshippedCheck whether a pane is currently in synchronized mode via format specifiers.1 release · first seen Feb 2014▸
release
Adds the #{pane_synchronized} format specifier to check if a pane is in synchronized mode
1.9 · Feb 2014
· source
· release history
+Bell Alert TriggeringshippedEnable terminal bell signals to trigger visually or audibly upon window alerts.1 release · first seen Jul 2011▸
Also counts toward: Command-line interface
release
command-prompt accepts -I to set initial context; bell-on-alert triggers terminal bell on alert.
1.5 · Jul 2011
· source
· release history
+Command Prompt InitializationshippedSupport setting initial context for interactive command prompts via specific flags.1 release · first seen Jul 2011▸
Also counts toward: Command-line interface
release
command-prompt accepts -I to set initial context; bell-on-alert triggers terminal bell on alert.
1.5 · Jul 2011
· source
· release history
+Environment Variable PropagationshippedUpdate the list of global environment variables, such as XAUTHORITY, to be passed to new sessions.1 release · first seen Dec 2010▸
release
Updates update-environment to include XAUTHORITY in the list of variables retrieved from the global environment.
1.4 · Dec 2010
· source
· release history
+Last Pane FocusshippedQuickly switch focus to the previously active pane within a window.1 release · first seen Dec 2010▸
release
Adds last-pane command to quickly switch focus to the previously active pane.
1.4 · Dec 2010
· source
· release history
+Server Termination on DisconnectionshippedAutomatically terminate the tmux server when all connected clients disconnect.1 release · first seen Dec 2010▸
release
Adds exit-unattached server option to automatically terminate the server when all clients disconnect.
1.4 · Dec 2010
· source
· release history
+Session Destruction on DetachmentshippedAutomatically destroy a session when its last client detaches.1 release · first seen Dec 2010▸
release
Adds destroy-unattached session option to destroy a session upon client detachment.
1.4 · Dec 2010
· source
· release history
+Window Selection by Name or IndexshippedSwitch clients or select windows using explicit names or indices without ambiguity.1 release · first seen Dec 2010▸
Also counts toward: Command-line interface
release
Adds -n and -l flags to switch-client for selecting windows by name or index.
1.4 · Dec 2010
· source
· release history
+Client Detachment on Session DestructionshippedAutomatically detach or destroy attached clients when the server session is destroyed.1 release · first seen Jul 2010▸
release
Adds detach-on-destroy server option to control client behavior on session destruction
1.3 · Jul 2010
· source
· release history
+Custom Separator for PastingshippedSpecify a custom separator string when pasting buffer contents.1 release · first seen Jul 2010▸
release
Adds -s flag to paste-buffer to specify a custom separator string
1.3 · Jul 2010
· source
· release history
+Session Name from HostnameshippedUse the machine hostname as the default session title if no name is provided.1 release · first seen Jul 2010▸
release
Uses machine hostname as default session title instead of empty string
1.3 · Jul 2010
· source
· release history
+Window Alert CustomizationshippedCustomize the visual appearance and trigger conditions for window status alerts.1 release · first seen Jul 2010▸
release
Adds window options window-status-alert-{alert,bg,fg} for alert customization
1.3 · Jul 2010
· source
· release history
+Server Info DisplayshippedDisplay detailed information about the tmux server and its attached clients, including terminal details.1 release · first seen Jan 2009▸
Also counts toward: Command-line interface
release
Adds server-info command to display server and terminal details
10 January 2009 · Jan 2009
· source
· release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for tmux, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail tmux puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Issue, contributor and maintainer activity in tmux/tmux, 2023-10 – 2026-09,
as of 2026-09-25. Twelve-month figures first; the trend lines run
the whole window.
Contributors23+17 vs prior 12 months
Maintainers2+1 joined · −1 left, last 12 months
Bus factor1committers behind half the commits
Community-filed93%of issues opened, last 12 months
Median time to close2.5 daysfirst maintainer reply 4.5 hours
Open backlog16of 4,185 issues ever filed
Issues opened / month14 · 1communitymaintainers
Open backlog16
Contributors / month5
Commits / month98
Stars49,398
Issue themes, last 12 months
other 100%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.
None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.