^[control-codes
live in libghostty-vt

Operating system commands

OSC 9 ; 12 Prompt Start

View as Markdown

Mark where the shell's prompt starts, the ConEmu way.

OSC 9 ; 12 ST
ECMA-48
§8.3.89 OSC – Operating System Command, p. 51
Specification
ConEmu specific OSC, ConEmu's ANSI escape codes

OSC 9 ; 12 ST tells the terminal that the prompt starts at the cursor, so that it can find the prompts in what scrolled by. A shell sends it from its prompt string. It does the job of the A mark of OSC 133.

It is one of the commands ConEmu, a Windows terminal, put under OSC 9; the progress report page lists them all, and their definition is the ConEmu specific OSC table in ConEmu’s documentation. iTerm2 uses OSC 9 ; text ST for a notification, and a terminal that has both tells them apart by what follows the 9.

A default xterm ignores all of OSC 9, which is not among the OSC numbers it knows.

libghostty-vt marks the prompt, as it does for OSC 133, so the case is a known difference.

Support

TerminalVersionSupportNotes
VT220manual, 2nd ed., 1984NoOSC is not among the controls it recognizes (§4.2)
VT510manual, 1st ed., 1993Noignores an OSC string (chapter 4)
xtermpatch 412, xterm-411aNoOSC 9 is not among the OSC numbers it knows
libghostty-vt0f171f6YesCONEMU12-1: marks the prompt start, as for OSC 133
Konsole26.11.70, a24c3d71Noonly OSC 9 ; 4, the progress report, is acted on
ConEmubuild 230724, its documentationYesConEmu specific OSC

Validation

CONEMU12-1: The start of a prompt

\e]9;12\a
$
|$_____|
attr 1,1 semantic=output
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.