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
92%
135 passed · 12 failed of 147 features
Tested: March 26, 2026

Character Sets

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

Cursor

FeatureSupportNotes
CUD stops at bottom✓ yescursor at row 40
CUP at screen boundaries✗ notmux reinterprets CUP coordinates within its own grid, boundary behavior differs
CUP with DECOM✓ yes
CUU stops at top✓ yes
Hide cursor (DECTCEM)✓ yes
Cursor horizontal absolute (CHA)✓ yes
Cursor position (CUP)✓ yes
Cursor back (CUB)✓ yes
Cursor down (CUD)✓ yes
Cursor forward (CUF)✓ yes
Cursor home✓ yes
Cursor up (CUU)✓ yes
Cursor next line (CNL)✓ yes
Cursor position report (DSR 6)✓ yes
Reverse Wrap (Mode 45)✓ yes
Save/restore cursor (DECSC)✓ yes
Cursor shape (DECSCUSR)✓ yes

Device Status

FeatureSupportNotes
Mode Report (DECRPM)✗ notmux intercepts DECRPM — responds for its own modes, not the outer terminal
Request Setting (DECRQSS)✓ yes
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
Terminal Version (XTVERSION)✓ yes

Extensions

FeatureSupportNotes
iTerm2 Inline Images (OSC 1337)✓ yes
Kitty graphics protocol✗ notmux does not support kitty graphics protocol pass-through
Kitty keyboard protocol✗ notmux has partial kitty keyboard support (since 3.4) but probe detects incomplete implementation
Desktop Notifications (OSC 9/777)✓ yes
VS Code Shell Integration (OSC 633)✓ yes
Icon and title (OSC 0)✓ yes
Foreground color query (OSC 10)✗ notmux intercepts OSC 10 (foreground color query) and returns its own value
Background color query (OSC 11)✗ notmux intercepts OSC 11 (background color query) and returns its own value
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
Window title (OSC 2)✓ yes
Clipboard access (OSC 52)✓ yes
OSC 5522 advanced clipboard? unknown
OSC 66 text sizing? unknown
Current directory (OSC 7)✓ yes
Hyperlinks (OSC 8)✓ yes
OSC 9;4 progress bar? unknown
Text reflow on resize✓ yes
Semantic prompts (OSC 133)✓ yes
Sixel graphics✓ yes
Sixel support in DA1? unknown
24-bit truecolor✓ yes

Modes

FeatureSupportNotes
Enter alt screen (DECSET 1049)✓ yesBehavioral: entered and responded
Exit alt screen (DECRST 1049)✓ yes
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? 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

Reset

FeatureSupportNotes
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

Powered by Termless
Playwright for Terminals