Skip to content

Kitty color stack push (OSC 30001)

Category: extensions · Baseline: rich · Tags: Operating System Commands (OSC), Kitty Extensions · Specification ↗

ESC ] 30001 BEL
OSC 30001 saves the terminal's current color state to a stack maintained by the terminal emulator. The sequence is ESC ] 30001 BEL and snapshots the foreground, background, cursor, selection, and full palette colors. This pairs with OSC 30101 (pop) to give applications a clean way to temporarily change colors and reliably restore them later — useful for theme previews, colorized diffs, or full-screen applications that want to leave the terminal in its original state on exit. Originally introduced by Kitty as part of its color management work; foot and Ghostty have adopted the same protocol.
How this is testedpartial
Send OSC 30001 BEL and verify the terminal remains responsive (push sequence consumed without error).

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 all 4 tested terminals — universal adoption. Part of the Rich TUI baseline.

Supported by 6 of 14 backends (43%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
Terminal.app2.15✓ yes
Kitty0.46.2✓ yes
VS Code1.113.0? unknown
Warp0.2026.03.18.08.24.03? unknown
Cursor2.6.21? unknown

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0? unknown
vt100.js0.2.1? unknown
vterm0.2.0? unknown
WezTerm0.1.0-fork.5? unknown
xterm.js5.5.0? unknown