-
Notifications
You must be signed in to change notification settings - Fork 1
Bug: Infiniscroll™️ in Claude Code pane under certain conditions #2
Description
If the virtual scrollback buffer is large enough
AND
Claude Code produces one or more fast changing text sections whose height is greater than pane's height,
sometimes the scrollback bug manifests itself.
If the user is given options by Claude Code to e.g. accept changes automatically, to a large plan or in-terminal code snippet, or to write a custom instruction, the scrollback happens usually only once... per option change OR per keystroke.
An exception seems to be with full virtual scrollback (before: 10k lines per pane), where a repetitive scrollback can go on for a couple of minutes, or till Claude finishes with its inference.
To mitigate: use the latest bukowski version, the today's commit(s) seem to have reduced the bug occurence to a great extent.
The fix employs a similar strategy to the pane resize (CTRL+MOUSEWHEEL for vertical, ALT+MOUSEWHEEL for horizontal resize).
Please report here any other cases where the bug slips through the paging process!
UPDATE #1 08.01.2026:
The usual scrollback issue happens when scrollback history is reached AND Claude Code renders "off-screen". It's annoying, but takes <1s on Windows Terminal. I am yet to encounter a "loopback" scroll (where the terminal rewind goes on and on and on for minutes).
UPDATE #2 14.01.2026:
With the latest update, having Claude Code infering, using many tools in parallel and if user simultaneously enters a text in the main input area that's larger in its vertical component (number of lines) than the current terminal's height causes a very high frequency (up to 20/second) of clear screen commands sent. This becomes even bigger of a issue when scrollback history is full. The most likely culprit is the slowly flashing animation of the off screen text elements causing a full scrollback buffer redraw, many times a second. Simply entering enough newlines such as that the upper border of the main input area is off screen leads to a peak in full redraw frequency. I am looking into a possible mitigation strategy where bukowski detects these high frequency redraws, waits until the scrollback buffer is refilled and only updates when oldScrollbackHeight == newScrollbackHeight, but this will be janky as hell.