Skip to content

Window title (OSC 2)

Category: extensions · Baseline: modern · Tags: Operating System Commands (OSC), Xterm Extensions · Specification ↗

ESC ] 2 ; title BEL
OSC 2 sets the terminal window title. The sequence is ESC ] 2 ; title ST where ST is the string terminator (ESC \ or BEL). Used by shells to display the current directory or running command in the window title bar or tab header. Window-title setting is one of the oldest and most widely used OSC conventions. Shells use it to show the current directory, editors use it for the open file, and multiplexers often rewrite it. Because the payload is arbitrary text, terminals must parse terminators carefully and applications should avoid emitting untrusted control characters in titles.
How this is testedautomated
Send \x1b]2;Test Title\x07 (OSC 2), verify getTitle() contains "Test Title".

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-05-17

Supported by 11 of 12 terminals (92%). Not supported by: WezTerm. Part of the Modern TUI baseline. Notes: WezTerm: OSC 2 title handled by WezTerm GUI, not headless backend.

Supported by 13 of 14 backends (93%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✓ yes
Warp✓ yes
Kitty0.46.2✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0✓ yes
vt100.js0.2.1✓ yes
vterm.js0.2.0✓ yes
xterm.js5.5.0✓ yes
WezTerm0.1.0-fork.5✗ noOSC 2 title handled by WezTerm GUI, not headless backend