^[control-codes
live in libghostty-vt

Operating system commands

OSC 9 ; 9 Working Directory

View as Markdown

Tell the terminal the shell's working directory, the ConEmu way.

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

OSC 9 ; 9 ; "dir" ST tells the terminal the shell’s current working directory, so that a new tab can open in the same place. It does what OSC 7 does, without the file:// and the host name.

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 keeps the directory, as it does one from OSC 7, 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-vt0f171f6YesCONEMU9-1: keeps the directory, as for OSC 7
Konsole26.11.70, a24c3d71Noonly OSC 9 ; 4, the progress report, is acted on
ConEmubuild 230724, its documentationYesConEmu specific OSC

Validation

CONEMU9-1: The working directory

\e]9;9;C:\\Users\a
|______|
pwd ""
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.