Skip to content

Claude Code odd scrollback behavior on window resize #85

@lucasec

Description

@lucasec

I've been chasing weird quirks with Claude Code's tendency to aggressively rewrite the scrollback across multiple terminal emulators in Emacs. Every emulator seems to have its own quirks and a few packages such as claude-code-ide have taken it a step further and implemented their own render batching and other patches to try to improve the behavior.

It seems like a lot of these problems should be resolved by ghostel implementing DEC 2026 Synchronized Output, and I am finding that ghostel generally has less re-draw quirks than vterm and eat. However, it's not zero, as can be seen by this brief demonstration of popping open the minibuffer:

Untitled.mp4

Interestingly, typing text at any point during the scrolling animation causes the terminal to immediately jump to the end with the scrollback seemingly fully in tact.

Note that I was seeing this behavior even on version of ghostel prior to #73.

To test, I have been resuming a ~4 MB claude code session and then cycling between the normal and detailed transcript modes with C-o + C-e, popping open the minibuffer (I use ivy + counsel-M-x for completion), and resizing the Emacs frame.

Newer versions of Claude (after Anthropic launched their alternative-frame-mode "no flicker" feature) seem to be buggy about re-writing the scrollback in the classic mode (often they will leave the scrollback buffer half rewritten, and this issue seems to affect all terminal emulators), so I tested by backdating with claude install 2.1.87 followed by DISABLE_AUTOUPDATER=1 claude --resume.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions