Skip to content

TBC clear tab stop (CSI g)

Category: text · Tags: ECMA-48 Standard, VT100 · Specification ↗

CSI Ps g
TBC (Tab Clear) clears tab stops. CSI 0 g clears the tab stop at the current cursor position; CSI 3 g clears all tab stops. After clearing all tab stops, tab characters have no effect (cursor does not advance). TBC is used together with HTS to set up custom tab stop patterns for formatted output.
How this is tested: Clear all tab stops with \x1b[3g, send a tab from column 0 — verify cursor does not advance (stays at column 0), confirming all tab stops were cleared.
Analysis2026-04-06

Not supported by any tested terminal. Part of the Core TUI baseline.

Supported by 0 of 14 backends (0%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✗ nocursor at col 80, expected 1
Ghostty1.3.1✗ nocursor at col 270, expected 1
Kitty0.46.2✗ noTab stop clear (TBC) not exposed via Python batch bridge
VS Code1.113.0? unknown
Warp0.2026.03.18.08.24.03? unknown
Cursor2.6.21? unknown
Terminal.app2.15? unknown

Headless Backends

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

BackendVersionSupportNotes
Alacritty0.26.0✗ noTab stop clear (TBC) not exposed via alacritty_terminal API
vt100.js0.2.1✗ noTab stop manipulation not implemented in vt100.js
vterm0.2.0✗ noTab stop manipulation not implemented in vterm.js
WezTerm0.1.0-fork.5✗ noTab stop clear (TBC) not exposed via wezterm-term API
xterm.js5.5.0✗ noTab stop clear (TBC) not implemented in xterm.js headless mode