Appearance
XTSAVE — save DEC private modes (CSI ? Pm s)
ESC [ ? Pm sXTSAVE saves one or more DEC private modes onto an internal stack. The sequence is
CSI ? Pm s where Pm is a semicolon-separated list of mode numbers. XTRESTORE (CSI ? Pm r) restores the most recent saved values.
This is the canonical xterm pattern for temporarily changing modes. For example, a TUI that wants to enter mouse-tracking and bracketed-paste during its run can CSI ? 1000 ; 2004 s at startup, then CSI ? 1000 ; 2004 r on exit — the previous values are restored regardless of what the calling shell had configured. Without XTSAVE, applications must query DECRPM for each mode, store the result, and write it back manually.
Adopted by xterm, Ghostty, Kitty, WezTerm, foot, and other modern terminals.How this is testedautomated
Send
Send
\x1b[?7s (save DECAWM), verify the sequence is consumed and the terminal stays responsive.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 9 of 14 backends (64%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✓ yes | Sequence consumed; terminal responsive |
| Ghostty | 1.3.1 | ✓ yes | Sequence consumed; terminal responsive |
| Terminal.app | 2.15 | ✓ yes | Sequence consumed; terminal responsive |
| Kitty | 0.46.2 | ✓ yes | XTSAVE private mode save not exposed via Python batch bridge |
| VS Code | 1.113.0 | ? unknown | |
| Warp | 0.2026.03.18.08.24.03 | ? unknown | |
| Cursor | 2.6.21 | ? unknown |
Headless Backends
Parser correctness only — a ✓ means the parser accepts the sequence.
| Backend | Version | Support | Notes |
|---|---|---|---|
| vt100.js | 0.2.1 | ✓ yes | |
| vterm | 0.2.0 | ✓ yes | |
| xterm.js | 5.5.0 | ✓ yes | |
| WezTerm | 0.1.0-fork.5 | ~ partial | XTSAVE private mode save not exposed in headless mode |
| Alacritty | 0.26.0 | ✗ no | XTSAVE private mode save not implemented by alacritty |