Appearance
Reset background color (OSC 111)
ESC ] 111 BELOSC 111 resets the default background color to the terminal's configured default. The sequence is
ESC ] 111 BEL. This is the companion to OSC 11 — after changing the background color with OSC 11 ; color BEL, send OSC 111 to restore it. Essential for well-behaved TUI applications that modify terminal colors and need to clean up on exit.How this is testedautomated
Send
Send
OSC 111 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 5 of 9 terminals (56%). Not supported by: vt100.js, Alacritty, WezTerm, xterm.js. Part of the Modern TUI baseline.
Supported by 9 of 14 backends (64%)
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 |
|---|---|---|---|
| vterm | 0.2.0 | ✓ yes | |
| Alacritty | 0.26.0 | ✗ no | OSC 111 background reset requires a real display — headless backends have no color palette to reset |
| Kitty | 0.40.0 | ✗ no | OSC 111 background reset requires a real display — headless backends have no color palette to reset |
| vt100.js | 0.2.1 | ✗ no | Not implemented — pure TypeScript emulator |
| WezTerm | 0.1.0-fork.5 | ✗ no | OSC 111 background reset requires a real display — headless backends have no color palette to reset |
| xterm.js | 5.5.0 | ✗ no | OSC 111 background reset requires a real display — headless backends have no color palette to reset |