Skip to content

tmux

Multiplexer

Terminal multiplexer — session persistence, window management, and pane splitting. The most widely used multiplexer.

tmux (terminal multiplexer) was created by Nicholas Marriott in 2007 as a modern, BSD-licensed replacement for GNU Screen. It has become the de facto standard terminal multiplexer, used by millions of developers for session persistence, window management, and pane splitting.

As an intermediary between the terminal emulator and the application, tmux maintains its own VT parser and re-renders output through its internal grid. This means features must be explicitly supported by tmux to pass through — it doesn't transparently relay escape sequences. tmux has steadily added support for modern features: truecolor (since 2.2), OSC 8 hyperlinks (3.4), extended underlines, and partial kitty keyboard support.

tmux's pass-through mode (\ePtmux;) allows applications to send escape sequences directly to the outer terminal, bypassing tmux's parser. This is used for features tmux doesn't natively support, like sixel graphics and some query responses. However, pass-through is fragile and not universally reliable.

Backend: Terminal multiplexer — session persistence, window management, and pane splitting. The most widely used multiplexer. · v3.6a
87%
219 passed · 32 failed of 251 features
Tested: April 10, 2026

Character Sets

FeatureSupportNotes
DEC line drawing character set✓ yes
DEC Special Graphics✓ yes
G0/G1 character set switching✓ yes
UTF-8 mode✓ yes

Device Status

FeatureSupportNotes
Mode Report (DECRPM)✗ notmux intercepts DECRPM — responds for its own modes, not the outer terminal
Request Setting (DECRQSS)✓ yes
DSR ?996 — color scheme query? unknown
COLORTERM env variable? unknown
KITTY_* env variables? unknown
LC_TERMINAL env variable? unknown
NO_COLOR env variable? unknown
TERM env variable? unknown
TERM_PROGRAM env variable? unknown
VTE_VERSION env variable? unknown
WEZTERM_* env variables? unknown
WT_SESSION env variable? unknown
Primary device attributes (DA1)✓ yes
Secondary Device Attributes (DA2)✓ yes
Device status report (DSR 5)✓ yes
Feature Reporting (TERM_FEATURES)✗ notmux does not pass through XTGETTCAP terminal-features query
Tertiary Device Attributes (DA3)✗ notmux intercepts DA3 and does not forward it to the outer terminal
Query Terminfo (XTGETTCAP)✗ notmux intercepts XTGETTCAP queries for its own terminfo, not the outer terminal's
XTGETXRES — query resource value (DCS + Q)? unknown
XTREPORTCOLORS — report color capabilities (CSI # R)? unknown
Terminal Version (XTVERSION)✓ yes
Report window size in pixels (CSI 14 t)✓ yes1280x1920 px
Report cell size in pixels (CSI 16 t)✓ yes32x16 px/cell
Report text area size in chars (CSI 18 t)✓ yes40 rows x 120 cols
Report icon label (CSI 20 t)✗ noNo XTWINOPS 20 response (terminal may refuse for security)
Report window title (CSI 21 t)✗ noNo XTWINOPS 21 response (terminal may refuse for security)
Push title/icon stack (CSI 22 ; 0 t)✓ yesSequence consumed; terminal responsive
Pop title/icon stack (CSI 23 ; 0 t)✓ yesSequence consumed; terminal responsive

Extensions

FeatureSupportNotes
System clipboard paste? unknown
Font ligatures? unknown
iTerm2 Inline Images (OSC 1337)✓ yes
Kitty graphics protocol✗ notmux does not support kitty graphics protocol pass-through
Kitty graphics: animation✓ yes
Kitty graphics: display✗ noDisplay didn't render
Kitty graphics: transmit✓ yes
Kitty graphics: Unicode placeholders✗ noU=1 didn't render
Kitty keyboard protocol✗ notmux has partial kitty keyboard support (since 3.4) but probe detects incomplete implementation
Kitty keyboard: DISAMBIGUATE (flag 1)✗ noNo kitty keyboard response
Kitty keyboard: REPORT_ALL_KEYS (flag 8)✗ noNo kitty keyboard response
Kitty keyboard: REPORT_ALTERNATE (flag 4)✗ noNo kitty keyboard response
Kitty keyboard: REPORT_EVENTS (flag 2)✗ noNo kitty keyboard response
Kitty keyboard: REPORT_TEXT (flag 16)✗ noNo kitty keyboard response
Desktop Notifications (OSC 9/777)✓ yes
VS Code Shell Integration (OSC 633)✓ yes
Icon and title (OSC 0)✓ yes
Icon name (OSC 1)✓ yes
Foreground color query (OSC 10)✗ notmux intercepts OSC 10 (foreground color query) and returns its own value
Reset color palette (OSC 104)✓ yes
Background color query (OSC 11)✗ notmux intercepts OSC 11 (background color query) and returns its own value
Reset foreground color (OSC 110)✓ yes
Reset background color (OSC 111)✓ yes
Reset cursor color (OSC 112)✓ yes
Reset pointer fg color (OSC 113)✓ yes
Reset pointer bg color (OSC 114)✓ yes
Reset highlight background (OSC 117)✓ yes
Reset highlight foreground (OSC 119)✓ yes
Cursor color (OSC 12)✗ noNo OSC 12 response
OSC 133;A prompt start (FTCS_PROMPT)✓ yes
OSC 133;B command start (FTCS_COMMAND_START)✓ yes
OSC 133;C command executed (FTCS_COMMAND_EXECUTED)✓ yes
OSC 133;D command finished (FTCS_COMMAND_FINISHED)✓ yes
OSC 133;P properties✓ yes
iTerm2 Capability Reporting (OSC 1337)✗ noiTerm2-specific protocol not supported by tmux
iTerm2 Cell Size Reporting (OSC 1337)✗ noiTerm2-specific protocol not supported by tmux
Highlight background (OSC 17)✗ noNo OSC 17 response
Set Wayland app-id (OSC 176)✓ yes
Highlight foreground (OSC 19)✗ noNo OSC 19 response
Window title (OSC 2)✓ yes
Kitty color protocol (OSC 21)✓ yesConsumed (no query response)
Pointer shape (OSC 22)✓ yes
Kitty color stack push (OSC 30001)✓ yes
Systemd context (OSC 3008)✓ yes
Kitty color stack pop (OSC 30101)✓ yes
Color palette (OSC 4)✗ noNo OSC 4 response
Audio sound (OSC 440)✓ yes
Special color (OSC 5)✗ noNo OSC 5 response
Clipboard access (OSC 52)✓ yes
OSC 52 clipboard read✗ noNo OSC 52 read response
OSC 52 clipboard write✓ yes
OSC 5522 advanced clipboard✗ noNo OSC 5522 response
Screen flash (OSC 555)✓ yes
OSC 633;A prompt start✓ yes
OSC 633;B prompt end✓ yes
OSC 633;C pre-execution✓ yes
OSC 633;D command finished✓ yes
OSC 633;E set commandline✓ yes
OSC 633;P properties✓ yes
OSC 66 text sizing✓ yesConsumed (no query)
VTE termprop (OSC 666)✓ yes
Current directory (OSC 7)✓ yes
Locale query/set (OSC 701)✓ yes
Version query (OSC 702)✓ yes
Set normal font (OSC 710)✓ yes
Scroll view up (OSC 720)✓ yes
Cell size report (OSC 776)✓ yes
Notifications (OSC 777)✓ yes
Font size query/set (OSC 7770)✓ yes
Font + window size (OSC 7777)✓ yes
Hyperlinks (OSC 8)✓ yes
OSC 9;4 progress bar✓ yes
Desktop notifications (OSC 99)✓ yes
Text reflow on resize✓ yes
Semantic prompts (OSC 133)✓ yes
Sixel graphics✓ yes
Sixel support in DA1✓ yesDA1 attrs: 1;2;4
Sixel geometry report (CSI ? Pi;Pa;Pv S)? unknown
24-bit truecolor✓ yes

Modes

FeatureSupportNotes
Enter alt screen (DECSET 1049)✓ yesBehavioral: entered and responded
Exit alt screen (DECRST 1049)✓ yes
Alt-scroll mouse wheel (?1007)✓ yesBehavioral: ?1007 accepted
Alt screen clear-on-enter (?1047)✓ yesBehavioral: ?1047 accepted
Save/restore cursor (?1048)✗ nogot 15;20, expected 5;10
Alt screen legacy (?47)✓ yesBehavioral: ?47 enter/exit accepted
App cursor keys (DECCKM)✓ yesBehavioral: responsive after enable
Application keypad (DECKPAM)✓ yes
Auto-wrap (DECAWM)✓ yesBehavioral: wrap confirmed
Bracketed paste (DECSET 2004)✓ yesDECRPM: mode reset
Mode 2031 color scheme reporting✓ yesDECRPM: mode reset
DECCOLM 80/132 column switch (?3)✓ yesBehavioral: ?3 accepted
DECSCLM — smooth scroll mode? unknown
DECSSCLS — set scroll speed? unknown
Focus tracking (DECSET 1004)✓ yesDECRPM: mode reset
Insert/replace mode (IRM)✓ yes
Left/Right Margins (DECLRMM, Mode 69)✓ yes
All motion mouse (DECSET 1003)✓ yesBehavioral: responsive after enable
SGR mouse mode (DECSET 1006)✓ yesDECRPM: mode reset
Mouse tracking (DECSET 1000)✓ yesBehavioral: responsive after enable
Origin mode (DECOM)✗ notmux's DECOM handling differs from direct terminal — origin mode not fully passed through
Reverse video (DECSCNM)✓ yesBehavioral: responsive after enable
Synchronized output (DECSET 2026)✓ yesBehavioral: responsive after enable
UTF-8 mouse mode (?1005)✓ yesBehavioral: ?1005 accepted
Pop color palette (CSI # Q)✓ yesSequence consumed; terminal responsive
XTPOPSGR — pop SGR stack (CSI # })✓ yesSequence consumed; terminal responsive
Push color palette (CSI # P)✓ yesSequence consumed; terminal responsive
XTPUSHSGR — push SGR stack (CSI # {)✓ yesSequence consumed; terminal responsive
XTRESTORE — restore DEC private modes (CSI ? Pm r)✓ yesSequence consumed; terminal responsive
XTSAVE — save DEC private modes (CSI ? Pm s)✓ yesSequence consumed; terminal responsive

Reset

FeatureSupportNotes
DECALN screen alignment (ESC # 8)✓ yes
Backend reset() method✓ yescursor at 5;5 after DECSTR
Full reset (RIS)✓ yes
SGR reset clears attributes✓ yes
Soft reset (DECSTR)✓ yes

Scrollback

FeatureSupportNotes
Scrollback accumulates✓ yes
Alt screen separate scrollback✓ yes
DECSTBM constrains scrolling✓ yes
DECSTBM reset to full screen✓ yescursor at row 40 (expected near bottom after DECSTBM reset)
Reverse index (RI)✓ yes
Scroll down (SD)✓ yes
Scroll up (SU)✓ yes
Scroll region (DECSTBM)✓ yes
Total line count✓ yesContent written to scrollback

Unicode

FeatureSupportNotes
East Asian Ambiguous Width✓ yeswidth=1 (ambiguous chars vary by terminal/locale)
Grapheme Cluster Cursor Movement✓ yes
Tab Stops (HT)✓ yes
Wide Char at Line Wrap✓ yes