Appearance
OSC 9;4 progress bar โ
Category: extensions ยท Tags: Conemu ยท Specification โ
OSC 9;4 is a ConEmu-originated protocol for reporting task progress to the terminal. The sequence
ESC ] 9 ; 4 ; st ; pr BEL sets progress state (st: 0=remove, 1=normal, 2=error, 3=indeterminate, 4=paused) and percentage (pr: 0-100). Terminals render this as a native progress indicator โ typically in the tab bar, title bar, or taskbar.
Originally a ConEmu extension, it has been widely adopted: Ghostty (1.2+), iTerm2 (3.6.6+), Windows Terminal, Konsole, mintty, and WezTerm all support it. This makes it one of the most cross-terminal ways to display progress. CLI tools like curl, wget, and build systems can emit these sequences to provide native progress feedback.How this is tested: Send
OSC 9;4;1;50 BEL (set 50% progress), verify the sequence is consumed (cursor doesn't advance). Clear with OSC 9;4;0 BEL.Analysis2026-03-26
Supported by all 1 tested terminals โ universal adoption. Part of the Rich TUI baseline.
Supported by 1 of 18 backends (6%)
Terminal Applications โ
| Terminal | Version | Support | Notes |
|---|---|---|---|
| cmux | โ yes | ||
| iTerm2 | 3.6.9 | ? unknown | |
| Ghostty | 1.3.1 | ? unknown | |
| VS Code | 1.112.0 | ? unknown | |
| Cursor | 2.6.21 | ? unknown | |
| Warp | 0.2026.03.18.08.24.03 | ? unknown | |
| Terminal.app | 2.15 | ? unknown | |
| Kitty | 0.46.2 | ? unknown |
Headless Backends โ
Parser correctness only โ a โ means the parser accepts the sequence.
| Backend | Version | Support | Notes |
|---|---|---|---|
| Alacritty | 0.26.0 | ? unknown | |
| vt100.js | 0.2.1 | ? unknown | |
| vterm | 0.2.0 | ? unknown | |
| WezTerm | 0.1.0-fork.5 | ? unknown | |
| xterm.js | 5.5.0 | ? unknown | |
| xterm.js | 6.0.0 | ? unknown | |
| xterm.js | 5.4.0 | ? unknown | |
| xterm.js | 6.1.0-beta.195 | ? unknown |