Skip to content

Tertiary Device Attributes (DA3)

Category: device · Baseline: rich · Tags: VT510 · Specification ↗

ESC [ = c
DA3 (CSI = c) returns the terminal's unit ID as a DCS response. Less commonly supported than DA1/DA2, primarily by xterm and terminals that aim for high VT compatibility.
How this is testedautomated
Send CSI = c, check for a DCS ! | response.

The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.

Analysis2026-04-06

Supported by 4 of 12 terminals (33%). Part of the Rich TUI baseline. Notes: Kitty: Headless mode has no output stream for DA3 responses; vt100.js: No output stream — pure TypeScript emulator; xterm.js: DA3 not implemented in xterm.js.

Supported by 3 of 14 backends (21%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✗ noNo DA3 response
VS Code✗ no
Warp✗ no
Cursor✗ no
Terminal.app✗ no

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
vterm0.2.0✓ yes
Alacritty0.26.0~ partialHeadless mode has no output stream for DA3 responses
Kitty0.40.0~ partialHeadless mode has no output stream for DA3 responses
WezTerm0.1.0-fork.5~ partialHeadless mode has no output stream for DA3 responses
vt100.js0.2.1✗ noNo output stream — pure TypeScript emulator
xterm.js5.5.0✗ noDA3 not implemented in xterm.js