Skip to content

Query Terminfo (XTGETTCAP)

Category: device · Baseline: rich · Tags: Xterm Extensions · Specification ↗

ESC P + q hex-name ESC \\
XTGETTCAP (DCS + q Pt ST) queries terminfo capabilities via DCS escape sequences. The terminal responds with the capability value, allowing applications to query terminal features without parsing terminfo databases. Used by notcurses and foot. XTGETTCAP is xterm's bridge between runtime queries and the termcap/terminfo database. Instead of trusting the inherited TERM entry, an application can ask the terminal itself for selected capabilities. The response is DCS-encoded and hex-encoded, so support requires both protocol and parser care.
How this is testedautomated
Send DCS + q 544e ST (hex-encoded query for TN capability), 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-05-17

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

Supported by 3 of 14 backends (21%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✗ no
Warp✗ no
Kitty0.46.2✗ noHeadless mode has no output stream for XTGETTCAP responses
Cursor✗ no
Terminal.app✗ no

Headless Backends

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

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