Gemini CLI PR stops wiping terminal scrollback: one escape code was purging history
diegogodinezr · ghdev · 2026-10-17
A PR to google-gemini/gemini-cli fixes terminal scrollback being lost during interactive sessions. The root cause: refreshStatic used ansiEscapes.clearTerminal, whose \x1b[3J (ED 3) instructs terminal emulators to purge the saved scrollback buffer — so output disappeared on window resizes or when toggling expanded output (Ctrl+O), and standard buffer mode is the default.
The fix swaps in non-destructive viewport clearing: \x1b[2J erases only the visible viewport plus cursor-to-origin, with \x1b[3J no longer emitted. The rest of the refresh pipeline (stdout corking, DEC synchronized output, width-change debounce) is unchanged. Trade-off: re-rendered <Static> history now appends after existing scrollback, so earlier renders at a previous terminal width may persist.
More from coding & agent
- Claude cut a 2.6-hour video export to 20 minutes — but only after being told to rebuild the server — byhewar · 2026-10-23
- 3 flight-booking rules my AI agent checks that I'd never do by hand — Efistoffeles · 2026-10-23
- OpenJet claims Qwen3.8-27B coding runs 1.9x faster than llama.cpp on one RTX 3090 — JeremyCMorgan · 2026-10-23
- Building an autonomous SEO agent in Hermes with three skills: programmatic pages, Keywords Everywhere, DataForSEO — EXM7777 · 2026-10-23
- Building a sports betting AI agent with onchain execution and human approval by default: architecture and lessons — Dry-Comfortable-2678 · 2026-10-23
- How do you audit AI agent decisions in regulated workflows? A field survey — Ok_Way_1993 · 2026-10-23