Appearance
cmux
App Terminal
Terminal built on libghostty. Inherits Ghostty's complete VT parser and standards compliance.
cmux is a terminal built by the Ghostty project, powered by libghostty — the same terminal emulation library that drives Ghostty. Unlike traditional multiplexers (despite the name), cmux is a full terminal application that inherits Ghostty's complete VT parser, renderer, and standards compliance.
Because cmux links directly against libghostty, it supports the same feature set as Ghostty: kitty keyboard protocol, kitty graphics, sixel, OSC 8 hyperlinks, semantic prompts, and full Unicode with grapheme clustering. Its feature score on terminfo.dev should be nearly identical to Ghostty's.
Backend: Terminal built on libghostty. Inherits Ghostty's complete VT parser and standards compliance.
93%
143 passed · 10 failed of 153 features
Tested: March 26, 2026
Analysis2026-03-26
cmux scores 93% (143/153) on the terminfo.dev feature matrix, with gaps in the Core TUI, Rich TUI baselines. Ranks #4 of 13 tested terminals. Uniquely supports: OSC 9;4 progress bar, OSC 66 text sizing. Missing 10 features.
Character Sets
| Feature | Support | Notes |
|---|---|---|
| DEC line drawing character set | ✓ yes | |
| DEC Special Graphics | ✓ yes | |
| G0/G1 character set switching | ✓ yes | |
| UTF-8 mode | ✓ yes |
Cursor
| Feature | Support | Notes |
|---|---|---|
| CUD stops at bottom | ✓ yes | cursor at row 117 |
| CUP at screen boundaries | ✗ no | got 117;108, expected within screen bounds |
| CUP with DECOM | ✗ no | got 1;1, expected 5;1 |
| 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
| Feature | Support | Notes |
|---|---|---|
| Mode Report (DECRPM) | ✓ yes | DECAWM is set |
| Request Setting (DECRQSS) | ✓ yes | |
| Primary device attributes (DA1) | ✓ yes | |
| Secondary Device Attributes (DA2) | ✓ yes | |
| Device status report (DSR 5) | ✓ yes | |
| Feature Reporting (TERM_FEATURES) | ✗ no | TERM_FEATURES env var not set |
| Tertiary Device Attributes (DA3) | ✗ no | No DA3 response |
| Query Terminfo (XTGETTCAP) | ✓ yes | |
| Terminal Version (XTVERSION) | ✓ yes |
Editing
| Feature | Support | Notes |
|---|---|---|
| Delete characters (DCH) | ✓ yes | |
| Delete lines (DL) | ✓ yes | |
| Insert characters (ICH) | ✓ yes | |
| Insert lines (IL) | ✓ yes | |
| Repeat character (REP) | ✓ yes |
Erase
| Feature | Support | Notes |
|---|---|---|
| Erase character (ECH) | ✓ yes | |
| ED at scroll region boundary | ✓ yes | |
| EL erases with bg color | ✓ yes | |
| Erase line (EL 2) | ✓ yes | |
| Erase to BOL (EL 1) | ✓ yes | |
| Erase to EOL (EL 0) | ✓ yes | |
| Erase above (ED 1) | ✓ yes | |
| Erase screen (ED 2) | ✓ yes | |
| Erase below (ED 0) | ✓ yes | |
| Erase scrollback (ED 3) | ✓ yes | |
| Selective Erase (DECSED) | ✓ yes |
Extensions
| Feature | Support | Notes |
|---|---|---|
| iTerm2 Inline Images (OSC 1337) | ✓ yes | |
| Kitty graphics protocol | ✗ no | No kitty graphics acknowledgment |
| Kitty keyboard protocol | ✓ yes | |
| Desktop Notifications (OSC 9/777) | ✓ yes | |
| VS Code Shell Integration (OSC 633) | ✓ yes | |
| Icon and title (OSC 0) | ✓ yes | |
| Foreground color query (OSC 10) | ✓ yes | |
| Background color query (OSC 11) | ✓ yes | |
| iTerm2 Capability Reporting (OSC 1337) | ✗ no | No Capabilities response |
| iTerm2 Cell Size Reporting (OSC 1337) | ✗ no | No ReportCellSize response |
| Window title (OSC 2) | ✓ yes | |
| Clipboard access (OSC 52) | ✓ yes | |
| OSC 5522 advanced clipboard | ✗ no | No OSC 5522 response |
| OSC 66 text sizing | ✓ yes | Consumed (no query) |
| Current directory (OSC 7) | ✓ yes | |
| Hyperlinks (OSC 8) | ✓ yes | |
| OSC 9;4 progress bar | ✓ yes | |
| Text reflow on resize | ✓ yes | |
| Semantic prompts (OSC 133) | ✓ yes | |
| Sixel graphics | ✗ no | Sixel image didn't move cursor |
| Sixel support in DA1 | ✗ no | DA1 attrs: 62;22;52 (no sixel) |
| 24-bit truecolor | ✓ yes |
Input Protocols
| Feature | Support | Notes |
|---|---|---|
| Button-Event Mouse (1002) | ✓ yes | |
| CSI u Key Encoding | ✓ yes | |
| modifyOtherKeys | ✓ yes | |
| modifyOtherKeys mode 3 | ✓ yes | |
| Pixel Mouse Reporting (1016) | ✓ yes | |
| urxvt Mouse Reporting (1015) | ✓ yes | |
| X10 Mouse Tracking (9) | ✓ yes |
Modes
| Feature | Support | Notes |
|---|---|---|
| Enter alt screen (DECSET 1049) | ✓ yes | DECRPM: mode reset |
| Exit alt screen (DECRST 1049) | ✓ yes | |
| App cursor keys (DECCKM) | ✓ yes | DECRPM: mode reset |
| Application keypad (DECKPAM) | ✓ yes | |
| Auto-wrap (DECAWM) | ✓ yes | DECRPM: mode set |
| Bracketed paste (DECSET 2004) | ✓ yes | DECRPM: mode reset |
| Mode 2031 color scheme reporting | ✓ yes | DECRPM: mode reset |
| Focus tracking (DECSET 1004) | ✓ yes | DECRPM: mode reset |
| Insert/replace mode (IRM) | ✓ yes | |
| Left/Right Margins (DECLRMM, Mode 69) | ✓ yes | |
| All motion mouse (DECSET 1003) | ✓ yes | DECRPM: mode reset |
| SGR mouse mode (DECSET 1006) | ✓ yes | DECRPM: mode reset |
| Mouse tracking (DECSET 1000) | ✓ yes | DECRPM: mode reset |
| Origin mode (DECOM) | ✓ yes | DECRPM: mode reset |
| Reverse video (DECSCNM) | ✓ yes | DECRPM: mode reset |
| Synchronized output (DECSET 2026) | ✓ yes | DECRPM: mode reset |
Reset
| Feature | Support | Notes |
|---|---|---|
| Backend reset() method | ✓ yes | cursor at 5;5 after DECSTR |
| Full reset (RIS) | ✓ yes | |
| SGR reset clears attributes | ✓ yes | |
| Soft reset (DECSTR) | ✓ yes |
Scrollback
| Feature | Support | Notes |
|---|---|---|
| Scrollback accumulates | ✓ yes | |
| Alt screen separate scrollback | ✓ yes | |
| DECSTBM constrains scrolling | ✓ yes | |
| DECSTBM reset to full screen | ✓ yes | cursor at row 117 (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 | ✓ yes | Content written to scrollback |
SGR (Text Styling)
| Feature | Support | Notes |
|---|---|---|
| 256-color bg (SGR 48;5) | ✓ yes | |
| Bright bg colors (SGR 100-107) | ✓ yes | |
| Default bg color (SGR 49) | ✓ yes | |
| Standard bg colors (SGR 40-47) | ✓ yes | |
| 24-bit bg (SGR 48;2) | ✓ yes | |
| Blink (SGR 5) | ✓ yes | |
| Bold (SGR 1) | ✓ yes | |
| Faint/dim (SGR 2) | ✓ yes | |
| 256-color fg (SGR 38;5) | ✓ yes | |
| Bright fg colors (SGR 90-97) | ✓ yes | |
| Default fg color (SGR 39) | ✓ yes | |
| Standard fg colors (SGR 30-37) | ✓ yes | |
| 24-bit fg (SGR 38;2) | ✓ yes | |
| Hidden/invisible (SGR 8) | ✓ yes | |
| Inverse video (SGR 7) | ✓ yes | |
| Italic (SGR 3) | ✓ yes | |
| Overline (SGR 53) | ✓ yes | |
| Reset all (SGR 0) | ✓ yes | |
| Reset bold/dim (SGR 22) | ✓ yes | |
| Reset inverse (SGR 27) | ✓ yes | |
| Reset italic (SGR 23) | ✓ yes | |
| Reset underline (SGR 24) | ✓ yes | |
| Strikethrough (SGR 9) | ✓ yes | |
| Underline color (SGR 58) | ✓ yes | |
| Curly underline (SGR 4:3) | ✓ yes | |
| Dashed underline (SGR 4:5) | ✓ yes | |
| Dotted underline (SGR 4:4) | ✓ yes | |
| Double underline (SGR 21) | ✓ yes | |
| Underline (SGR 4) | ✓ yes |
Text
| Feature | Support | Notes |
|---|---|---|
| Backspace (BS) | ✓ yes | |
| Basic text rendering | ✓ yes | |
| Combining characters (0 cols) | ✓ yes | |
| Carriage return | ✓ yes | |
| Index (IND) | ✓ yes | |
| Line feed | ✓ yes | |
| Next line (NEL) | ✓ yes | |
| Overwrite at cursor | ✓ yes | |
| Reverse Index at Scroll Top | ✓ yes | |
| Tab stops | ✓ yes | |
| CJK wide chars (2 cols) | ✓ yes | |
| Emoji wide chars (2 cols) | ✓ yes | |
| Regional indicator flags (2 cols) | ✓ yes | |
| Variation selector 16 (emoji presentation) | ✓ yes | |
| Emoji ZWJ sequences (2 cols) | ✓ yes | |
| Text wraps at width | ✓ yes |
Unicode
| Feature | Support | Notes |
|---|---|---|
| East Asian Ambiguous Width | ✓ yes | width=1 (ambiguous chars vary by terminal/locale) |
| Grapheme Cluster Cursor Movement | ✓ yes | |
| Tab Stops (HT) | ✓ yes | |
| Wide Char at Line Wrap | ✓ yes |