Appearance
Semantic prompts (OSC 133)
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
| Backend | Version | Support | Notes |
|---|---|---|---|
| Ghostty | 1.3.1 | ✓ yes | |
| WezTerm | 0.1.0-fork.5 | ✓ yes | |
| Alacritty | 0.26.0 | ✗ no | Not implemented in alacritty |
| Kitty | 0.40.0 | ✗ no | Not implemented in kitty |
| vt100 | 0.1.0 | ✗ no | Not implemented — pure TypeScript emulator |
| xterm.js | 5.5.0 | ✗ no | Not implemented in xterm.js |