v2.1.89 regression: flicker-free rendering destroys terminal scrollback by default
v2.1.89 regression: flicker-free rendering destroys terminal scrollback
v2.1.89 introduced "flicker-free alt-screen rendering with virtualized scrollback" (CLAUDE_CODE_NO_FLICKER=1), but this behavior appears to be enabled by default, causing terminal scrollback to be destroyed after ~2 pages of output.
Observed behavior
When Claude Code output exceeds the visible terminal height (~24 rows), the terminal is fully re-rendered — the startup banner and conversation are reprinted from scratch. This destroys existing scrollback content. The startup mascot/banner remains visible at the top because it's re-rendered each time, but intermediate content is lost.
Evidence
I ran identical tests across three configurations using PTY sessions (24 rows × 120 cols):
Test: Two consecutive prompts — "print numbers 1-100" then "print alphabet A-Z"
| Configuration | Result |
|---|---|
| v2.1.87 | Single banner, linear output: header → 1-100 → A-Z. Scrollback preserved. |
| v2.1.89 (default) | Banner appears 3 times in output. CC re-renders the entire conversation when content exceeds screen height. Scrollback destroyed on each re-render. |
| v2.1.89 + CLAUDE_CODE_NO_FLICKER=0 | Same as v2.1.87 — single banner, linear output, scrollback preserved. |
v2.1.89 default output (truncated for clarity)
▐▛███▜▌ Claude Code v2.1.89 ← 1st render
11
...
85
▐▛███▜▌ Claude Code v2.1.89 ← 2nd render (re-render, scrollback destroyed)
❯ print the numbers from 1 to 100...
1
...
83
▐▛███▜▌ Claude Code v2.1.89 ← 3rd render (re-render again)
1
...
100
❯ now print the alphabet...
1. A
...
26. Z
Reproduction
- Install Claude Code v2.1.89
- Open any terminal (iTerm2, xterm.js, etc.)
- Start a session and ask for output longer than the terminal height
- Scroll up — only ~2 pages of content are available
Workaround: Set CLAUDE_CODE_NO_FLICKER=0 in environment or Claude Code settings.
Environment
- macOS (Darwin 25.4.0, arm64)
- Claude Code v2.1.89
- Tested in: iTerm2, xterm.js (via Tauri WebView)
- Both terminals exhibit the same behavior
17 Comments
can confirm CLAUDE_CODE_NO_FLICKER=0 does not fix this on windows 11 + windows terminal + bash. set it in ~/.claude/settings.json env block, restarted session, transcript still disappears mid-conversation at low context usage (~11%).
env:
downgrading to 2.1.87 restores normal behavior per other reports
https://t.me/+t_ed3b95DqczNmU1
Confirming that CLAUDE_CODE_NO_FLICKER=0 works as a fix for MacOS. Destruction of terminal scrollback is inconsistent, as usually it will preserve the entry prompt banner: "welcome back <user>" but will begin evicting old lines of conversation data only.
Claude Code v2.1.89
Terminal.app zsh
MacOS 26.4 (25E246)
Workaround working for me, just like in 2.1.87.
My problem:
What Should Happen?
It should show the conversation as normal.
Error Messages/Logs
Steps to Reproduce
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.87
Claude Code Version
2.1.89
Platform
Anthropic Max Account
Operating System
Ubuntu 24.04/Debian Linux
Terminal/Shell
Ghostty
Another issue from
CLAUDE_CODE_NO_FLICKERis that shift+enter don't work anymore when it's set to 1, setting to 0 resolves the issue (shift + enter doesn't submit and creates a new line)Can confirm. After 2.1.87, the messages would disappear randomly in the middle of a conversation. There is no way to scroll up to see past messages. It can happen multiple times in the same session.
Still an issue and very annoying.
CLAUDE_CODE_NO_FLICKER=0 does NOT work for me in version 2.1.90.
This must be properly fixed !
confirming
CLAUDE_CODE_NO_FLICKER=0worked for me in v2.1.91.What happens:
After upgrading to v2.1.89+, terminal conversation history disappears mid-session. You can no longer scroll up to see earlier messages, tool outputs, or plan discussions. It's not context compaction — the text is visually gone from the terminal, even though Claude still remembers it.
This can happen multiple times in a single session. Sometimes the welcome banner survives but all conversation content above the latest response is wiped. There's no warning or indication it's about to happen.
Confirmed on:
CLAUDE_CODE_NO_FLICKER=0is suggested as a workaround but is unreliable — confirmed broken on v2.1.90. Downgrading to v2.1.87 is the only consistent fix.Why it matters:
Long sessions with plans, multi-step implementations, and debugging require scrolling back to reference earlier output. Losing that history mid-session forces you to re-ask questions or rely on memory. This is the single most disruptive regression since flicker-free rendering was introduced.
Related issues: #2479, #42076, #27242
Confirmed on:
Linux - OpenSUSE Tumbleweed, KDE Plasma 6.5.5, Yakuake terminal
Downgrading to v2.1.87 is the only consistent fix for me too.
hey. it's fixed at the terminal level here
https://github.com/Dcouple-Inc/Pane/pull/120
open source, using xtermjs which is the same terminal as VS Code. feel free to copy this fix or download the latest release to run claude code on any operating system with the fix in place. i was so mad and frustrated at this that I had to fix it myself.
yeah i had to switch off cursor/vscode and build myself an ide that managed xtermjs (the library they both use) well enough for the complex TUIs to not break.
works great and i have a fix for the scroll jump i just implemented rn here
https://github.com/Dcouple-Inc/Pane/pull/120
@parsakhaz This issue is not about "scroll jumps". It's about scrollback. With claude code >2.1.87 there basically is no scrollback (only 1-2 pages of scrollback exists at any time). Prior to v2.1.88, I can scroll back through ~17 pages (screens). One or two pages of scrollback is not enough to work with claude code, the system is unusable.
Isn't that the new "no flicker mode" that's configurabl? I'm on the newest version on windows with WSL and i have full scrollback + no scroll jumps. Maybe I misunderstood
Nvm, I'm on .87- sorry
This is a duplicate of #41814, which was fixed as of version 2.1.101.
Confirmed fix via v2.1.114
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.