Skip to content

OSC 9;4 progress bar

Category: extensions · Baseline: rich · Tags: Operating System Commands (OSC), ConEmu Extensions · 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 testedpartial
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.

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 all 7 tested terminals — universal adoption. Part of the Rich TUI baseline.

Supported by 8 of 14 backends (57%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.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.

BackendVersionSupportNotes
Alacritty0.26.0? unknown
Kitty0.40.0? unknown
vt100.js0.2.1? unknown
vterm0.2.0? unknown
WezTerm0.1.0-fork.5? unknown
xterm.js5.5.0? unknown