Appearance
Reset underline color (SGR 59)
CSI 59 mSGR 59 resets the underline color to its default value, which typically matches the current text foreground color. The sequence is
ESC [ 59 m. This is the companion reset for SGR 58 (set underline color), analogous to how SGR 39 resets the foreground color set by SGR 38.
Using SGR 59 allows applications to clear an explicit underline color without resetting other attributes — the underline style itself (single, double, curly, dotted, dashed) and any other SGR state remain in effect. To remove the underline entirely, use SGR 24 instead.
SGR 59 is supported wherever SGR 58 is supported: Kitty, WezTerm, foot, Ghostty, Alacritty, VTE-based terminals, iTerm2, mintty, Konsole, and Windows Terminal.How this is testedautomated
Send
Send
\x1b[4m\x1b[58;2;255;0;128mX\x1b[59mY, verify the cell at (0,0) has the colored underline and the cell at (0,1) has underline active but no explicit underlineColor (or a null/default value).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 10 of 14 backends (71%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✓ yes | |
| Ghostty | 1.3.1 | ✓ yes | |
| Terminal.app | 2.15 | ✓ yes | |
| Kitty | 0.46.2 | ✓ yes | |
| VS Code | 1.113.0 | ? unknown | |
| Warp | 0.2026.03.18.08.24.03 | ? unknown | |
| Cursor | 2.6.21 | ? unknown |