Double ESC rollback: conversation history not fully visible in Ghostty until window is resized/fullscreened
Bug Description
When using Claude Code in Ghostty terminal on macOS, double-pressing ESC to roll back a conversation turn causes the conversation history to not be fully visible. The content appears truncated/cut off. Resizing or fullscreening the Ghostty window forces a re-render and makes all conversation history visible.
Environment
- Terminal: Ghostty (macOS)
- OS: macOS (Darwin 25.4.0)
- Claude Code mode: flclick / interactive mode
Steps to Reproduce
- Open Claude Code in Ghostty terminal
- Have a multi-turn conversation (several exchanges)
- Double-press
ESCto trigger conversation rollback - Observe that conversation history is not fully visible — content appears cut off
- Resize or fullscreen the Ghostty window → conversation history becomes fully visible
Expected Behavior
After double-ESC rollback, the full conversation history should be visible without needing to resize the window.
Actual Behavior
Conversation history is truncated/not fully rendered until a window resize event is triggered (e.g., by fullscreening the window).
Hypothesis
Claude Code's rollback rendering does not trigger a proper terminal viewport refresh / scroll-to-bottom after re-rendering conversation history. The content is rendered but outside the current viewport, and only a terminal resize event (SIGWINCH) causes the display to correct itself.
Workaround
Fullscreen or manually resize the Ghostty window after double-ESC rollback to force terminal re-render.
Related Issues
- #682 (Double ESC crash / unreliable rollback)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗