supported osc sequences

osc sequences are how a program tells the terminal something other than text: its title, its folder, a link, a status. this is what resesh understands and what it does with each one.

esc ] number ; data bel parsed by libghostty-vt works over ssh, telnet and local shells

a sequence starts with esc ] and ends with bel or esc \. the last column says what changes in a persistent session kept alive by tmux, which sits between the program and resesh. with the resesh agent nothing in this table changes, and links, prompt marks and program status come back after a reconnect.

oscnamewhat resesh doeswith tmux persistence
titles and folders
0, 1, 2window and icon titlesets the tab subtitle. agents are also recognised from their titles.tmux sends the title of the active pane.
7current folderfile://host/path. the file pane follows it, and command history records it.the folder is read from tmux instead.
9;9current folder, windows formthe conemu form that powershell and cmd prompts use. treated like osc 7.
1337;CurrentDircurrent folder, iterm2 formtreated like osc 7. other osc 1337 keys are ignored.
commands
133prompt and command marksa, b, c and d marks give exact command boundaries and exit codes for the ruler, the command list, command history and the finished-command bell.works for shells started with resesh shell integration.
3008systemd contextstart and end records from systemd 257 and newer supply the host, user, folder and exit result when the shell sends no osc 133.
links and clipboard
8hyperlinksclick to open in your browser. the real target shows on hover.needs tmux 3.4 or newer.
52clipboard writea remote program copies text to the windows clipboard. reading is refused, so a host can never see your clipboard, and playback never touches it.passes through.
status and notifications
7501program statusidle, working, blocked, done and error, with an app name, a message and a percentage. shown as the tab badge and progress bar. the support probe (7501;?) is answered.dropped by tmux. the codex, claude code and shell-wrapper adapters report through a tmux option instead.
9;4progressnormal, error, paused and indeterminate progress on the tab and the taskbar button. cleared when the command ends.
9notificationmarks the tab with a grey attention badge. no windows notification is raised.dropped by tmux.
777;notifynotification, rxvt formthe same grey badge. the reserved title resesh-agent carries agent state from the claude code adapter.dropped by tmux.
7377resesh agent eventsresesh's own form: agent;id=…;state=…;label=…. used by the adapter snippets in settings › agents.dropped by tmux.
colours and pointer
4, 104palette coloursset, query and reset any of the 256 palette colours.
10, 11, 12foreground, background, cursorset and query. programs use the query to tell a light theme from a dark one.
110, 111, 112reset coloursreturn the foreground, background and cursor to the theme's colours.
21kitty colour protocolset, query and reset the same colours by name.
22pointer shapethe mouse pointer takes the shape a program asks for. a link under the pointer still shows the hand.not forwarded by tmux.

an osc that resesh does not know is ignored and never printed. the same holds in rewind and recording playback, which also never write to the clipboard.

./try-it

try one from a shell

each line works in bash on a remote host or in a local tab.

osc 7501 report a status
$ printf '\e]7501;state=working\a' $ printf '\e]7501;state=done\a' the tab badge follows
osc 9;4 show progress
$ printf '\e]9;4;1;60\a' tab and taskbar at 60% $ printf '\e]9;4;0\a' cleared
osc 52 copy to windows
$ printf '\e]52;c;%s\a' \   "$(printf hi | base64)" "hi" is on the clipboard
osc 8 print a link
$ printf '\e]8;;https://resesh.net\a'   printf 'site\e]8;;\a\n' "site" opens resesh.net

not supported

sequences you might expect that resesh ignores today.

osc 52 clipboard read refused on purpose. a remote host should not be able to read what you copied.
osc 1337 images and the other iterm2 keys only CurrentDir is read. inline images are not drawn.
osc 633, vs code shell integration use osc 133, which resesh's own shell integration and most prompts already send.
osc 7501 child records and an alerts list only a program's root status is shown for now. the list of every tab that wants you is planned.

try the beta

free and open source. x64 and arm64 installers, or a portable zip. windows 10 21h2 or newer.