Skip to content

TERM_PROGRAM env variable

Category: device · Baseline: modern

$TERM_PROGRAM
The TERM_PROGRAM environment variable identifies the specific terminal emulator running the session, independent of the more generic TERM value. Common values include iTerm.app, Apple_Terminal, WezTerm, vscode, ghostty, and Hyper. A companion variable, TERM_PROGRAM_VERSION, reports the emulator's version string and lets applications gate features on minimum versions. The pair was popularized by Apple Terminal and iTerm2 and is now widely set by macOS-friendly terminals as well as several cross-platform emulators.
How this is testedmanual
Manual verification required — no automated probe available.

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.

Supported by 0 of 14 backends (0%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9? unknown
Ghostty1.3.1? unknown
Terminal.app2.15? unknown
Kitty0.46.2? unknown
VS Code1.113.0? unknown
Warp0.2026.03.18.08.24.03? unknown
Cursor2.6.21? unknown

Headless Backends

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

BackendVersionSupportNotes
Alacritty0.26.0? unknown
vt100.js0.2.1? unknown
vterm0.2.0? unknown
WezTerm0.1.0-fork.5? unknown
xterm.js5.5.0? unknown