Appearance
Reset cursor color (OSC 112)
ESC ] 112 BELOSC 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
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 8 of 14 backends (57%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✓ yes | |
| Ghostty | 1.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.
| Backend | Version | Support | Notes |
|---|---|---|---|
| Alacritty | 0.26.0 | ✗ no | OSC 112 cursor color reset requires a real display — headless backends have no color palette to reset |
| Kitty | 0.40.0 | ✗ no | OSC 112 cursor color reset requires a real display — headless backends have no color palette to reset |
| vt100.js | 0.2.1 | ✗ no | Not implemented — pure TypeScript emulator |
| vterm | 0.2.0 | ✗ no | OSC 112 cursor color reset not implemented in vterm.js |
| WezTerm | 0.1.0-fork.5 | ✗ no | OSC 112 cursor color reset requires a real display — headless backends have no color palette to reset |
| xterm.js | 5.5.0 | ✗ no | OSC 112 cursor color reset requires a real display — headless backends have no color palette to reset |