Skip to content

Semantic prompts (OSC 133)

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

Semantic prompts use OSC 133 markers to tell the terminal where each shell prompt, command input, and command output begins and ends. The markers are: A (prompt start), B (command input start — after prompt, before the user types), C (command output start — after Enter), and D (command finished, with exit code). With these markers, terminals can implement features that were previously impossible: click-to-navigate between prompts, select entire command output, scroll by command boundaries, mark failed commands with a red indicator, and provide command completion times. Shell integration scripts (for bash, zsh, fish) emit these markers automatically. Also known as shell integration or command decoration. Supported by iTerm2 (which originated the protocol), Ghostty, WezTerm, Kitty, and VS Code's integrated terminal.

Supported by 2 of 6 backends (33%)

Support Matrix

BackendVersionSupportNotes
Ghostty1.3.1✓ yes
WezTerm0.1.0-fork.5✓ yes
Alacritty0.26.0✗ noNot implemented in alacritty
Kitty0.40.0✗ noNot implemented in kitty
vt1000.1.0✗ noNot implemented — pure TypeScript emulator
xterm.js5.5.0✗ noNot implemented in xterm.js

Powered by Termless
Playwright for Terminals