tmux¶
A terminal multiplexer. Toward the programs it runs, tmux is an emulator with its own screen model; toward the terminal it runs in, tmux is an application. Features must be supported on both sides to work end to end.
Identity¶
TERMinside:tmux-256colorwhen that terminfo entry exists, otherwisescreen-256color; set bydefault-terminal.TMUXandTMUX_PANEare set inside sessions.- DA1:
CSI ? 1 ; 2 c?. - DA2:
CSI > 84 ; 0 ; 0 c(84 is ASCIIT). - XTVERSION:
DCS > | tmux <version> ST.
Documentation¶
Configuration that changes wire behavior¶
terminal-featuresandterminal-overrides: declare what the outer terminal can do (RGB,hyperlinks,sixel,sync,usstyle,extkeys,focus,clipboard,mouse,title). tmux only forwards a feature to the outer terminal when it believes the terminal supports it.allow-passthrough: permitsDCS tmux ; … STwrapped payloads to reach the outer terminal unmodified (see DCS).set-clipboard: whether OSC 52 from inner programs is forwarded (on) or only used to fill tmux's own buffers (external/off).extended-keysandextended-keys-format: whether tmux requests and forwardsmodifyOtherKeys/CSI u style key encodings.focus-events: whether mode 1004 reports are forwarded.allow-rename,set-titles: title handling.
Notable behavior¶
- Supports truecolor, underline styles, OSC 8 (3.4), OSC 52, mouse modes including SGR, bracketed paste, and synchronized output toward the outer terminal.
- Sixel is supported when built with
--enable-sixel(3.4). - Does not implement the Kitty graphics or keyboard protocols; passthrough can carry graphics payloads but tmux cannot track placements.
- Reports its own DA/XTVERSION identity, so inner programs cannot see the outer terminal without passthrough tricks.
Version notes¶
3.x; CHANGES lists feature additions per release.
Probe¶
tmux -V
tmux display -p '#{client_termfeatures}'
tools/query '\033[>0q'
Feature support¶
Records are maintained independently in tdn/terminals/tmux.yaml. Unlisted features are unknown. See the comparison for all features.
| Feature | Support | As of | Notes and evidence |
|---|---|---|---|
Kittyapc-kitty-graphics | PartialImported · unverified | Unversioned | Passthrough only | Also recorded: Partial ([tmux manual, `allow-passthrough`](https://man.openbsd.org/tmux#allow-passthrough).); Passthrough with `allow-passthrough`; placeholders render as cells |
BEL urgency/visualc0-bel-attention | SupportedImported · unverified | Unversioned | Yes |
14/16 pixel sizescsi-14-16-t-pixel-sizes | SupportedImported · unverified | Unversioned | Yes (3.4+ relays) |
18 size in cellscsi-18-t-text-size | SupportedImported · unverified | Unversioned | Yes |
ED 3 (scrollback)csi-3-j-erase-scrollback | SupportedImported · unverified | Unversioned | Yes (`E3`) |
DECRQMcsi-decrqm | PartialImported · unverified | Unversioned | Partial |
DECSTBMcsi-decstbm | SupportedImported · unverified | Unversioned | Yes |
ED/EL/ECH/ICH/DCH/IL/DLcsi-editing-operations | SupportedImported · unverified | Unversioned | Yes |
modifyOtherKeyscsi-modify-other-keys | SupportedImported · unverified | Unversioned | Yes; `extended-keys` option ([tmux(1), `extended-keys`](https://man.openbsd.org/tmux.1#extended-keys).) |
REPcsi-rep | SupportedImported · unverified | Unversioned | Yes |
SU/SDcsi-su-sd-scroll | SupportedImported · unverified | Unversioned | Yes |
Kitty keyboard protocolcsi-u-kitty-keyboard | PartialImported · unverified | Unversioned | Partial; Forwards with `extended-keys`; does not implement the stack itself ([tmux(1), `extended-keys`](https://man.openbsd.org/tmux.1#extended-keys).) |
DECRQSSdcs-decrqss | SupportedImported · unverified | Unversioned | Yes; answers for the pane's state `?` |
Sixeldcs-sixel | SupportedImported · unverified | Unversioned | Yes, 3.4 build option ([tmux CHANGES](https://github.com/tmux/tmux/blob/master/CHANGES), 3.4.) | Also recorded: Yes, 3.4 ([tmux CHANGES](https://github.com/tmux/tmux/blob/master/CHANGES).); `--enable-sixel` build option |
1000 mousedec-mode-1000-mouse | SupportedImported · unverified | Unversioned | Yes |
1002 button motiondec-mode-1002-button-motion | SupportedImported · unverified | Unversioned | Yes |
1003 all motiondec-mode-1003-all-motion | SupportedImported · unverified | Unversioned | Yes |
1004 focusdec-mode-1004-focus | SupportedImported · unverified | Unversioned | Yes ([tmux(1), `mouse` and `terminal-features`](https://man.openbsd.org/tmux.1).) |
1006 sgr mousedec-mode-1006-sgr-mouse | SupportedImported · unverified | Unversioned | Yes |
1015 urxvt mousedec-mode-1015-urxvt-mouse | SupportedImported · unverified | Unversioned | Yes |
1049 alternate screendec-mode-1049-alternate-screen | SupportedImported · unverified | Unversioned | Yes |
2004 bracketed pastedec-mode-2004-bracketed-paste | SupportedImported · unverified | Unversioned | Yes | Also recorded: Yes; Requests it from the outer terminal, forwards markers to the pane ([tmux(1)](https://man.openbsd.org/tmux.1).) |
2026 synchronized outputdec-mode-2026-synchronized-output | SupportedImported · unverified | Unversioned | Yes (3.4+) |
Grapheme cluster mode (2027)dec-mode-2027-grapheme-clusters | UnknownImported · unverified | Unversioned | ?; Does not pass through; own width tables |
win32-input-modedec-mode-9001-win32-input | UnknownImported · unverified | Unversioned | ?; Not a Unix protocol; not documented by any of them |
OSC 0/2 setosc-0-2-title | SupportedImported · unverified | Unversioned | Yes (Applied to the outer terminal only with `set-titles on`; otherwise stored as the pane title visible in the status line.) |
OSC 10/11 queryosc-10-11-default-colors-query | PartialImported · unverified | Unversioned | Partial (tmux forwards sets to the outer terminal and answers queries itself; the answer may not match the outer terminal until it has been refreshed.) |
OSC 10/11 setosc-10-11-default-colors-set | PartialImported · unverified | Unversioned | Partial (tmux forwards sets to the outer terminal and answers queries itself; the answer may not match the outer terminal until it has been refreshed.) |
OSC 4 queryosc-4-palette-query | PartialImported · unverified | Unversioned | Partial (tmux forwards sets to the outer terminal and answers queries itself; the answer may not match the outer terminal until it has been refreshed.) |
OSC 4 setosc-4-palette-set | PartialImported · unverified | Unversioned | Partial (tmux forwards sets to the outer terminal and answers queries itself; the answer may not match the outer terminal until it has been refreshed.) |
OSC 52 readosc-52-read | PartialImported · unverified | Unversioned | Partial; `set-clipboard` (`on`, `external`, `off`); default `external` |
OSC 52 writeosc-52-write | SupportedImported · unverified | Unversioned | Yes; `set-clipboard` (`on`, `external`, `off`); default `external` |
OSC 8 hyperlinksosc-8-hyperlinks | SupportedImported · unverified | Unversioned | Yes (3.4) (Requires the outer terminal to support hyperlinks; tmux forwards the attribute rather than rendering it.) |
id= groupingosc-8-link-id | SupportedImported · unverified | Unversioned | Yes |
256 colorssgr-256-colors | SupportedImported · unverified | Unversioned | Yes |
Italic 3sgr-3-italic | PartialImported · unverified | Unversioned | pass |
Colon form 38:2sgr-38-2-colon-form | SupportedImported · unverified | Unversioned | Yes |
Truecolor 38;2sgr-38-2-truecolor | SupportedImported · unverified | Unversioned | Yes (`Tc`/`RGB` feature) |
Underline styles 4:nsgr-4-underline-styles | SupportedImported · unverified | Unversioned | Yes (`Smulx`) |
Blink 5sgr-5-blink | PartialImported · unverified | Unversioned | pass |
Overline 53sgr-53-overline | PartialImported · unverified | Unversioned | pass |
Underline color 58sgr-58-underline-color | SupportedImported · unverified | Unversioned | Yes (`Setulc`) |
Strikethrough 9sgr-9-strikethrough | PartialImported · unverified | Unversioned | pass |
bceterminfo-bce | SupportedImported · unverified | Unversioned | Yes |