Skip to content

Reset cursor color (OSC 112)

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

ESC ] 112 BEL
OSC 112 resets the cursor color to the terminal's configured default. The sequence is ESC ] 112 BEL. This is the companion to OSC 12 — after changing the cursor color, send OSC 112 to restore it. Applications that modify cursor color for visual feedback (e.g. mode indicators in vim-like editors) should send this on exit.
How this is testedautomated
Send OSC 112 BEL and verify the terminal remains responsive (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 4 of 9 terminals (44%). Not supported by: vterm.js, vt100.js, Alacritty, WezTerm, xterm.js. Part of the Modern TUI baseline.

Supported by 8 of 14 backends (57%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✓ yes
Warp✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

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

BackendVersionSupportNotes
Alacritty0.26.0✗ noOSC 112 cursor color reset requires a real display — headless backends have no color palette to reset
Kitty0.40.0✗ noOSC 112 cursor color reset requires a real display — headless backends have no color palette to reset
vt100.js0.2.1✗ noNot implemented — pure TypeScript emulator
vterm0.2.0✗ noOSC 112 cursor color reset not implemented in vterm.js
WezTerm0.1.0-fork.5✗ noOSC 112 cursor color reset requires a real display — headless backends have no color palette to reset
xterm.js5.5.0✗ noOSC 112 cursor color reset requires a real display — headless backends have no color palette to reset