Skip to content

LC_TERMINAL env variable

Category: device · Baseline: rich · Tags: iTerm2 Extensions

$LC_TERMINAL
The LC_TERMINAL environment variable was introduced by iTerm2 as a way to identify the terminal across SSH sessions. Because LC_* variables are forwarded by default in OpenSSH's SendEnv configuration, LC_TERMINAL survives the hop from local shell into a remote host where TERM_PROGRAM would otherwise be lost. iTerm2 sets LC_TERMINAL=iTerm2 and LC_TERMINAL_VERSION to the build number. Other terminals occasionally adopt the convention to advertise themselves through SSH in the same way.
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