Appearance
Reset foreground color (OSC 110)
ESC ] 110 BELOSC 110 resets the default foreground color to the terminal's configured default. The sequence is simply
ESC ] 110 BEL. This is the companion to OSC 10 — after changing the foreground color with OSC 10 ; color BEL, send OSC 110 to restore it. Applications that modify the default foreground (e.g. for theme switching) should reset on exit to avoid leaving the terminal in a modified state.How this is testedautomated
Send
Send
OSC 110 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 110 foreground reset requires a real display — headless backends have no color palette to reset |
| Kitty | 0.40.0 | ✗ no | OSC 110 foreground 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 110 foreground reset requires a real display — headless backends have no color palette to reset |
| xterm.js | 5.5.0 | ✗ no | OSC 110 foreground reset requires a real display — headless backends have no color palette to reset |