[BUG] SCROLLING TO TOP EVERY INSERT, AUTOMATICALLY
Status Fixed / completed
Reported on v2.1.78
Maintainer reply ✓ Yes — claude[bot]
Activity 14 comments · opened Mar 20, 2026 · closed Apr 26, 2026
💡 Likely answer: A maintainer (claude[bot], contributor)
responded on this thread — see the highlighted reply below.
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
When Claude is writing new lines, when they insert, if you are not at the very bottom of the terminal (you've scrolled up a bit to read something), the terminal will instantly go to the very top of the terminal.
Super annoying, makes it impossible to read output while Claude works. Please fix...
What Should Happen?
It should stay where it is instead of scrolling to the top.
Error Messages/Logs
Steps to Reproduce
- Scroll up a bit from the bottom of the terminal.
- Wait for Claude to send a message
- See it go to the top of your terminal history automatically...
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.78
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
WSL (Windows Subsystem for Linux)
Additional Information
Using WSL2 Ubuntu terminal.
14 Comments
I'd say this bug is a meme-able part of the Claude Code userbase. It's always been here - always will be. (unless they finally fix it)
When on earth is this damn bug going to be fixed?
It comes back every 10 patch versions. So frustrating. I was using 2.1.45 and it was working decently for everything, but it didn't have 1m context. So I had to update and now everything is broken again.
New version (2.1.81) came out that got rid of the output per line, and mentions WSL in the release information. This did not fix the issue.
This bug is incredibly annoying for those of us who still read Claude’s terminal output instead of just vibe-coding straight into disaster. Every time you scroll up to inspect something, Claude Code helpfully decides that what you actually wanted was the bottom of the terminal again. If this never gets fixed, it genuinely starts to look like nobody on the team still reads Claude’s output either.
<img width="489" height="467" alt="Image" src="https://github.com/user-attachments/assets/bff432cb-9f94-4f2d-b5fb-1d814677c4a6" />
My env:
Honestly, I don't think they do. Because they're all on blazing fast, unrestricted mode with large context windows. So they probably just have things loop until they're magically perfected automatically. While us peasants have to wait 20 minutes for one feature.
Reproduction Matrix
| OS | Terminal | Shell | Reproduced |
|---|---|---|---|
| macOS | Native (Terminal.app) | zsh | ✅ Yes |
| macOS | Warp | zsh | ❌ No |
| Windows | Native (Windows Terminal) | PowerShell | ✅ Yes |
| Windows | Warp | PowerShell | ❌ No |
| Linux | Warp (SSH) | bash | ✅ Yes |
| Linux | Warp (SSH) + tmux | bash | ✅ Yes |
Observation: Issue reproduces across all OS/shell combinations but is consistently absent when using Warp as the terminal emulator locally. Over SSH (even via Warp), the issue still reproduces.
@nullbio
ACK!
OT: Just found a huge potential security bug in one of our AI generated WIP pr's so I am 100% not going to run claude in unrestricted mode. Looking into a bright future for devs who actually wait 20mins for a feature:)...
I'm experiencin this issue as well and its really annoying
I am here wondering if I still have this issue. I think I do but have gotten used to it. Yeah.. I remember, it's been so long that I've grown completely immune to it, cognitively. It's been too long.
Its especially bad now because as of late it seems to clear the conversation so you can't even scroll up to read it when it stops, so you'll be in a dialog with it finessing decisions, then it starts working away it will throw you to the top of the conversation thats no longer relevant, when I hit left arrow to get back to the bottom (because I've accidentally halted everything hitting other keys), its often times lost all the valuable discussion replaced by code diffs
Yeah Opus 4.6 has instilled great autonomy. But it would be nice if we get to audit its actions a bit more reliably.
An hour ago I had a fun one. I went into remind mode. I selected a message that maybe had some rewind collision with another branch/fork of a common ancestor. I typed out a proper A4 of information. Error message "that meesage no longer exists" or something like that. My input message was not printed. The jsonl files, none contained this text.
I ended up dusting off a strategy for recovering the terminal state when claude's TUI would completely disable and stop rendering. I believe these cases back then were if I didn't act on the epileptic episodes the TUI scroll would have.
So we spent a good 15 minutes digging up strings from the process dump in various encodings. UTF8 etc. Looked at the V8 engine string blobs.
This time... Nothing.
It pisses me off because once I've written down a full page of information I do not try to remember the deets. They're written down, they're set in stone. But not this time. Ouch
This is a duplicate of #35403, which was fixed as of version 2.1.101.
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.