Appearance
Synchronized output (DECSET 2026)
ESC [ ? 2026 hSynchronized output prevents flicker during screen updates by batching terminal output. The application sends
ESC [ ? 2026 h before a render and ESC [ ? 2026 l after. The terminal buffers all output between these markers and renders it as a single atomic frame.
Without synchronized output, complex TUI updates (clearing screen, repositioning cursor, writing content) may partially render between frames, causing visible tearing or flicker. This is especially noticeable over slow connections or with complex layouts.
This protocol was proposed by the terminal-wg (Terminal Working Group) and adopted by Ghostty, Kitty, WezTerm, foot, Contour, and other modern terminals. It has become the standard way to achieve flicker-free TUI rendering.How this is testedautomated
Send
Send
\x1b[?2026h, write text, send \x1b[?2026l, verify output rendered without crash.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 all 12 tested terminals — universal adoption. Part of the Modern TUI baseline.
Supported by 14 of 14 backends (100%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✓ yes | DECRPM: mode reset |
| Ghostty | 1.3.1 | ✓ yes | DECRPM: mode reset |
| VS Code | ✓ yes | ||
| Warp | ✓ yes | ||
| Cursor | ✓ yes | ||
| Terminal.app | ✓ yes |