Skip to content

Overwrite at cursor

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

Tests whether writing a character at the cursor position overwrites the existing character at that position. This is the default behavior in replace mode (IRM off) — characters replace whatever was previously at the cursor location. Replace-mode writing is the default mental model for terminal grids: a printable cell overwrites the cell under the cursor. Insert mode is the explicit exception. Testing overwrite behavior catches backends that accidentally append, preserve stale attributes, or fail to advance the cursor after replacing content.
How this is testedautomated
Write "AB", move to col 1 via \x1b[1G, write "C", verify cell (0,0) is "C" (overwrote "A").

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