Appearance
Mode Report (DECRPM)
ESC [ ? mode $ pDECRPM (CSI ? Pd $ p) queries whether the terminal recognizes and has enabled a specific DEC private mode. The response CSI ? Pd ; Ps $ y reports the mode state: 1=set, 2=reset, 0=not recognized. Essential for feature detection.
How this is testedautomated
Send CSI ? 25 $ p (query DECTCEM), verify response contains mode value.
Send CSI ? 25 $ p (query DECTCEM), verify response contains mode value.
The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.
Analysis2026-04-06
Supported by 8 of 12 terminals (67%). Not supported by: Kitty, Terminal.app, Warp, vt100.js. Part of the Modern TUI baseline. Notes: Kitty: Headless mode has no output stream for DECRPM responses; vt100.js: No output stream — pure TypeScript emulator.
Supported by 6 of 14 backends (43%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✓ yes | DECAWM is set |
| Ghostty | 1.3.1 | ✓ yes | DECAWM is set |
| VS Code | ✓ yes | ||
| Cursor | ✓ yes | ||
| Warp | ✗ no | ||
| Terminal.app | ✗ no |
Headless Backends
Parser correctness only — a ✓ means the parser accepts the sequence.
| Backend | Version | Support | Notes |
|---|---|---|---|
| vterm | 0.2.0 | ✓ yes | |
| xterm.js | 5.5.0 | ✓ yes | |
| Alacritty | 0.26.0 | ~ partial | Headless mode has no output stream for DECRPM responses |
| Kitty | 0.40.0 | ~ partial | Headless mode has no output stream for DECRPM responses |
| WezTerm | 0.1.0-fork.5 | ~ partial | Headless mode has no output stream for DECRPM responses |
| vt100.js | 0.2.1 | ✗ no | No output stream — pure TypeScript emulator |