Skip to content

Text wraps at width

Category: text · Baseline: core · Tags: ECMA-48 Standard, VT100

Tests whether text that exceeds the terminal width automatically wraps to the next line. This is controlled by DECAWM (auto-wrap mode), which is enabled by default on virtually all terminals. Autowrap is deceptively subtle. Terminals usually enter a pending-wrap state after writing in the last column, then wrap only when the next printable character arrives. Applications and emulators get visible artifacts if they wrap too early, wrap cursor motions, or mishandle wide characters at the boundary.
How this is testedautomated
Write 85 characters, verify text wrapped and a character appears on row 1.

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 all 12 tested terminals — universal adoption. Part of the Core TUI baseline.

Supported by 13 of 14 backends (93%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✓ yes
Warp✓ yes
Kitty0.46.2✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

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

BackendVersionSupportNotes
Alacritty0.26.0✓ yes
vt100.js0.2.1✓ yes
vterm.js0.2.0✓ yes
WezTerm0.1.0-fork.5✓ yes
xterm.js5.5.0✓ yes