Appearance
Curly underline (SGR 4:3)
ESC [ 4:3 mSGR 4:3 draws a wavy/curly underline beneath text, using the ECMA-48 colon sub-parameter syntax:
ESC [ 4:3 m. This underline style was introduced by Kitty and is commonly used by editors and IDEs to indicate spelling errors, lint warnings, or diagnostic information — similar to the red squiggly underline in graphical editors.
Combine with SGR 58 (underline color) to set the underline color independently of the text color, e.g., red curly underline under normally-colored text for errors. Adopted by Ghostty, WezTerm, foot, and other modern terminals. Reset with SGR 24.How this is testedautomated
Send
Send
\x1b[4:3mX (colon sub-parameter syntax), verify underline === "curly".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 11 of 12 terminals (92%). Not supported by: vt100.js. Part of the Modern TUI baseline. Notes: vt100.js: Not in VT100/VT220 — only single underline supported.
Supported by 13 of 14 backends (93%)
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 |