[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

  1. Scroll up a bit from the bottom of the terminal.
  2. Wait for Claude to send a message
  3. 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.

View original on GitHub ↗

14 Comments

NubeBuster · 5 months ago

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)

swc00057 · 5 months ago

When on earth is this damn bug going to be fixed?

nullbio · 5 months ago
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)

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.

nullbio · 5 months ago

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.

rene-hermenau · 5 months ago

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:

  • OS: macOS (Darwin 25.3.0, arm64)
  • Shell: zsh 5.9
  • Claude Code: v2.1.81
nullbio · 5 months ago
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 alt="Image" width="489" height="467" src="https://private-user-images.githubusercontent.com/878194/567400956-bff432cb-9f94-4f2d-b5fb-1d814677c4a6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxOTU0MTIsIm5iZiI6MTc3NDE5NTExMiwicGF0aCI6Ii84NzgxOTQvNTY3NDAwOTU2LWJmZjQzMmNiLTlmOTQtNGYyZC1iNWZiLTFkODE0Njc3YzRhNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMyMlQxNTU4MzJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05YmU2MTJlZDAyODdlOGU4OWFkMWY0NmYyZGJjYWI1MDUzNDFiMGVkMTVjZTE4YjVkMjdmNzYzMWJhMmFiZDQzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.NhzJ6hyJSGiHAHCErV8W9vZ9-fNsJrC0Vo3U7b4lryY"> My env: OS: macOS (Darwin 25.3.0, arm64) Shell: zsh 5.9 * Claude Code: v2.1.81

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.

swc00057 · 5 months ago

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.

rene-hermenau · 5 months ago

@nullbio

Honestly, I don't think they do.

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:)...

mdance · 4 months ago

I'm experiencin this issue as well and its really annoying

NubeBuster · 4 months ago

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.

mdance · 4 months ago

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

NubeBuster · 4 months ago

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

claude[bot] contributor · 4 months ago

This is a duplicate of #35403, which was fixed as of version 2.1.101.

github-actions[bot] · 3 months ago

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.