Appearance
iTerm2 Extensions
Proprietary extensions introduced by iTerm2, the popular macOS terminal emulator. iTerm2 defines a wide range of features under OSC 1337, including inline image display, cell size reporting, capability queries, custom marks, and annotations. iTerm2 also introduced the TERM_FEATURES environment variable for declarative capability reporting. Several iTerm2 extensions have been adopted by other terminals — OSC 1337 inline images are supported by WezTerm, Mintty, and others, and the cell size reporting protocol has become important for pixel-accurate image rendering across terminals.
iTerm2 uses OSC 1337 as a namespace for its proprietary extensions, with subcommands separated by semicolons. Key subcommands include: inline images (File=...), cell size reporting (ReportCellSize), capability queries (RequestCapabilities), custom user marks, and annotations. The single-number namespace approach means all iTerm2 extensions share OSC 1337 — the subcommand string distinguishes them.
The TERM_FEATURES environment variable is iTerm2's approach to capability declaration — the terminal sets it at startup with a bitmask of supported features, allowing applications to check capabilities without query-response round trips. This is faster than DA1/DECRPM probing but requires the terminal to set the variable correctly.
iTerm2's inline image protocol (OSC 1337 ; File=...) was one of the first practical inline image solutions for terminals, predating the Kitty graphics protocol. It transmits base64-encoded image data with metadata (width, height, preserve aspect ratio) and has been adopted by several other terminals, making it a de facto standard alongside Kitty graphics and Sixel.
Analysis2026-04-06
iTerm2 Extensions defines 4 features in the terminfo.dev matrix. Average adoption across terminals: 11%. Full compliance (100%): vterm.js. Lowest: xterm.js at 0% (0/2).