What
The part of Claude Code that draws the terminal screen can now hold the control codes that switch the alternate screen (the full-window view used by fullscreen interfaces), mouse mode and surface mode, and write them together with the next frame instead of sending them straight away.
- Held codes (
keepForNextFrame, kept inkeptForNextFrame) are written with the next frame, on the next tick, or at once when the alternate screen is left. - Other output written while something is held waits behind it (
writeAfterKept). - Leaving the alternate screen always flushes held output first and marks the frame (
leftAltScreenSinceFrame). - Switching the alternate screen on or off (
setAltScreenActive) now also notifies anything tracking mouse hover, right after the switch.
This applies to everyone and has no switch.
Why
In practice, entering or leaving a fullscreen view now reaches the terminal in the same write as the first frame drawn for it, and other output keeps its order around the switch. If you saw flicker or stale hover highlighting when fullscreen views opened or closed, this is the area that changed.
Whether this visibly reduces flicker or tearing in fullscreen views has not been confirmed.