Skip to content

Locale query/set (OSC 701)

Category: extensions · Baseline: legacy · Tags: Operating System Commands (OSC) · Specification ↗

ESC ] 701 ; locale BEL
OSC 701 queries or sets the terminal's current locale, which controls character encoding and text input behavior. To set: ESC ] 701 ; locale BEL where locale is a locale identifier like en_US.UTF-8. To query: ESC ] 701 ; ? BEL, and the terminal responds with its current locale. Originally introduced by rxvt-unicode so applications running inside the terminal could discover or override the encoding the terminal was decoding text as — important for users who routinely mixed UTF-8 and legacy 8-bit encodings. Also supported by mintty. Modern terminals are universally UTF-8 and silently consume the sequence.
How this is testedpartial
Send OSC 701 ; ? BEL and verify the terminal responds with a locale string or silently consumes the query.

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 4 tested terminals — universal adoption. Part of the Unicode baseline.

Supported by 6 of 14 backends (43%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
Terminal.app2.15✓ yes
Kitty0.46.2✓ yes
VS Code1.113.0? unknown
Warp0.2026.03.18.08.24.03? unknown
Cursor2.6.21? unknown

Headless Backends

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

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