Skip to content
🔵

Modern TUI Baseline

Expected by modern TUI frameworks

Features that modern TUI frameworks (Silvery, Ink, Textual, Bubbletea) depend on for a good user experience. Includes truecolor (24-bit RGB), bracketed paste mode, focus reporting, mouse tracking (SGR mode), synchronized output to prevent flicker, application cursor keys, and origin mode. Most terminals released after 2018 support all Modern features.

68 features in this baseline

Analysis2026-04-06

2 of 12 tested terminals achieve 100% Modern TUI compliance. Lagging: vt100.js (26%), xterm.js (79%), Alacritty (85%). Most commonly missing: Mode 2031 color scheme reporting, Color palette (OSC 4), Cursor color (OSC 12).

Compliance Scorecard

Terminal Applications

iTerm2
93%63 / 68
Ghostty
93%63 / 68
VS Code
91%62 / 68
Warp
85%58 / 68
Cursor
91%62 / 68
Terminal.app
82%56 / 68

Headless Backends

vterm
81%55 / 68
xterm.js
72%49 / 68
Kitty
82%56 / 68
Alacritty
79%54 / 68
WezTerm
81%55 / 68
vt100.js
25%17 / 68

Guidance

For Developers

If you're building with a modern TUI framework, target Modern baseline. Users with non-compliant terminals will see degraded UX (no mouse, no paste protection, possible flicker) but the app will still function.

For Terminal Authors

Modern compliance is expected by the TUI ecosystem. Missing features here will generate bug reports from users of popular terminal applications.

Features

Terminal Applications

FeatureiTerm2GhosttyVS CodeWarpCursorTerminal.app
Double underline (SGR 21)
Curly underline (SGR 4:3)
Dotted underline (SGR 4:4)
Dashed underline (SGR 4:5)
Underline color (SGR 58)
Blink (SGR 5)
Overline (SGR 53)
Bright fg colors (SGR 90-97)
Bright bg colors (SGR 100-107)
256-color fg (SGR 38;5)
256-color bg (SGR 48;5)
24-bit fg (SGR 38;2)
24-bit bg (SGR 48;2)
Cursor shape (DECSCUSR)
Cursor horizontal absolute (CHA)
Cursor next line (CNL)
Cursor position report (DSR 6)
ANSI save cursor (CSI s)
ANSI restore cursor (CSI u)
Insert characters (ICH)
Delete characters (DCH)
Insert lines (IL)
Delete lines (DL)
Repeat character (REP)
modifyOtherKeys
CSI u Key Encoding
X10 Mouse Tracking (9)
Button-Event Mouse (1002)
Bracketed paste (DECSET 2004)
Synchronized output (DECSET 2026)
Mouse tracking (DECSET 1000)
SGR mouse mode (DECSET 1006)
All motion mouse (DECSET 1003)
Focus tracking (DECSET 1004)
Origin mode (DECOM)
Insert/replace mode (IRM)
App cursor keys (DECCKM)
Application keypad (DECKPAM)
Alt screen legacy (?47)
Alt screen clear-on-enter (?1047)
Save/restore cursor (?1048)
Alt-scroll mouse wheel (?1007)
Window title (OSC 2)
Icon and title (OSC 0)
Clipboard access (OSC 52)
Foreground color query (OSC 10)
Background color query (OSC 11)
Current directory (OSC 7)
24-bit truecolor
DECALN screen alignment (ESC # 8)
Primary device attributes (DA1)
Device status report (DSR 5)
Secondary Device Attributes (DA2)
Mode Report (DECRPM)
Report text area size in chars (CSI 18 t)
COLORTERM env variable??????
TERM_PROGRAM env variable??????
VTE_VERSION env variable??????
NO_COLOR env variable??????
Mode 2031 color scheme reporting
OSC 52 clipboard write
Color palette (OSC 4)
Cursor color (OSC 12)
Reset color palette (OSC 104)
Reset foreground color (OSC 110)
Reset background color (OSC 111)
Reset cursor color (OSC 112)
System clipboard paste??????

Headless Backends

Parser correctness tested via Termless. A means the parser accepts the sequence, not that it renders correctly.

Featurevtermxterm.jsKittyAlacrittyWezTermvt100.js
Double underline (SGR 21)~
Curly underline (SGR 4:3)
Dotted underline (SGR 4:4)
Dashed underline (SGR 4:5)
Underline color (SGR 58)~~~
Blink (SGR 5)~~~
Overline (SGR 53)
Bright fg colors (SGR 90-97)~
Bright bg colors (SGR 100-107)~
256-color fg (SGR 38;5)~
256-color bg (SGR 48;5)~
24-bit fg (SGR 38;2)
24-bit bg (SGR 48;2)
Cursor shape (DECSCUSR)~
Cursor horizontal absolute (CHA)
Cursor next line (CNL)
Cursor position report (DSR 6)~~~~
ANSI save cursor (CSI s)
ANSI restore cursor (CSI u)
Insert characters (ICH)
Delete characters (DCH)
Insert lines (IL)
Delete lines (DL)
Repeat character (REP)
modifyOtherKeys~~~
CSI u Key Encoding
X10 Mouse Tracking (9)
Button-Event Mouse (1002)~
Bracketed paste (DECSET 2004)
Synchronized output (DECSET 2026)
Mouse tracking (DECSET 1000)~
SGR mouse mode (DECSET 1006)~~~~
All motion mouse (DECSET 1003)~
Focus tracking (DECSET 1004)
Origin mode (DECOM)~
Insert/replace mode (IRM)~
App cursor keys (DECCKM)
Application keypad (DECKPAM)~~~
Alt screen legacy (?47)
Alt screen clear-on-enter (?1047)~
Save/restore cursor (?1048)~~
Alt-scroll mouse wheel (?1007)
Window title (OSC 2)
Icon and title (OSC 0)
Clipboard access (OSC 52)~~~
Foreground color query (OSC 10)~~~
Background color query (OSC 11)~~~
Current directory (OSC 7)~~~
24-bit truecolor
DECALN screen alignment (ESC # 8)
Primary device attributes (DA1)~~~~
Device status report (DSR 5)~~~~
Secondary Device Attributes (DA2)~~~
Mode Report (DECRPM)~~~
Report text area size in chars (CSI 18 t)~~~~
COLORTERM env variable??????
TERM_PROGRAM env variable??????
VTE_VERSION env variable??????
NO_COLOR env variable??????
Mode 2031 color scheme reporting~~
OSC 52 clipboard write
Color palette (OSC 4)
Cursor color (OSC 12)
Reset color palette (OSC 104)
Reset foreground color (OSC 110)
Reset background color (OSC 111)
Reset cursor color (OSC 112)
System clipboard paste??????