OSC 52 write¶
Feature ID: osc-52-write. Type: feature.
Manual tests: just probe osc-52-write opens this feature's scenarios.
Browse under Window and desktop / OSC 52 clipboard. A scenario may exercise related features; its existence does not establish support.
Policy labels: window-ops.
Specification and related documentation¶
- osc/clipboard.md
- XTerm Control Sequences
xterm-control-sequences
Terminal compatibility¶
Missing records mean unknown. as-of identifies the assessed version or revision, not the first release to support a feature.
| Terminal | Support | As of | Notes and evidence |
|---|---|---|---|
| Alacritty | SupportedImported · unverified | Unversioned | Yes; Writes allowed; reads unimplemented |
| Apple Terminal | UnknownImported · unverified | Unversioned | ?; Not implemented |
| ConPTY (conhost) | Unknown | Unversioned | No assessment recorded. |
| Contour | SupportedImported · unverified | Unversioned | Yes; ? |
| DomTerm | Unknown | Unversioned | No assessment recorded. |
| foot | SupportedImported · unverified | Unversioned | Yes; Writes allowed; reads require `osc52` set to allow reads in `foot.ini` |
| Ghostty | SupportedImported · unverified | Unversioned | Yes; `clipboard-write` (default `allow`), `clipboard-read` (default `ask`) |
| iTerm2 | SupportedImported · unverified | Unversioned | Yes; Off by default; "Applications in terminal may access clipboard" preference |
| kitty | SupportedImported · unverified | Unversioned | Yes; `clipboard_control` (default `write-clipboard write-primary read-clipboard-ask read-primary-ask`); reads prompt the user |
| Konsole | SupportedImported · unverified | Unversioned | Yes; Off by default; profile option "Allow escape sequences to modify clipboard" |
| mintty | SupportedImported · unverified | Unversioned | Yes; `AllowSetSelection` and `AllowPasteSelection` options; reads off by default |
| mlterm | Unknown | Unversioned | No assessment recorded. |
| PuTTY | UnknownImported · unverified | Unversioned | ?; Not implemented |
| Revenant | Partial | git:e2b248588a26dc4cc7e6eaf5fa34286584d093ab | One target letter only; malformed base64 is ignored rather than clearing. CLIPBOARD, PRIMARY and SELECT ownership is independent. allowWindowOps overrides disallowedWindowOps; the default list denies this operation. Checked 2026-09-10. |
| RLogin | Unknown | Unversioned | No assessment recorded. |
| st | Unknown | Unversioned | No assessment recorded. |
| tmux | SupportedImported · unverified | Unversioned | Yes; `set-clipboard` (`on`, `external`, `off`); default `external` |
| rxvt-unicode | Unknown | Unversioned | No assessment recorded. |
| VTE | SupportedImported · unverified | Unversioned | Yes (0.72); Writes allowed; reads unimplemented. Older VTE ignores OSC 52 entirely |
| wayst | Unknown | Unversioned | No assessment recorded. |
| WezTerm | SupportedImported · unverified | Unversioned | Yes; Writes allowed; reads deliberately unimplemented |
| Windows Terminal | SupportedImported · unverified | Unversioned | Yes (1.16); Writes allowed; reads unimplemented |
| xterm | SupportedImported · unverified | Unversioned | Yes; Both denied by the default `disallowedWindowOps` list when `allowWindowOps` is false; true overrides that list |
| xterm.js | PartialImported · unverified | Unversioned | Partial; Requires `@xterm/addon-clipboard`; the addon's provider decides |