Chat scroll jumps to center and bounces uncontrollably when scrolling up

Open 💬 5 comments Opened Apr 8, 2026 by fazxes
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Bug Report

App version: 26.406.31014 (1395)
Platform: macOS

Description

After the latest update, scrolling up in a chat conversation causes the viewport to jump to the center of the message list. Once this happens, attempting to scroll down results in the scroll position bouncing up and down erratically, making it impossible to navigate the conversation.

Steps to Reproduce

  1. Open the Codex desktop app (version 26.406.31014)
  2. Open a conversation with a long message history
  3. Scroll up slightly from the bottom

Expected: The chat scrolls up smoothly, and scrolling down returns to the previous position.

Actual: The viewport jumps to the center of the chat list. Attempting to scroll down causes the scroll to bounce between up and down positions repeatedly. The conversation becomes unnavigable.

Workaround

Switching to a different chat and switching back lands at the correct position initially — but the bug re-triggers as soon as you scroll up even slightly.

Additional Context

This regression started with the latest update (version 26.406.31014, build 1395). Previous versions did not have this behavior. The issue occurs on long conversations and appears to be related to virtualized list scroll position anchoring.

View original on GitHub ↗

5 Comments

github-actions[bot] contributor · 4 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #15743
  • #15715
  • #16864

Powered by Codex Action

overFloweee · 4 months ago

I can reproduce what appears to be the same regression on Codex app for macOS 26.406.31014 (1395).

My symptom is slightly different in wording but likely the same underlying scroll bug:

  • In a very long conversation, when I scroll downward toward the latest output, the thread can suddenly jump back to the top.
  • After that, getting back to the newest messages becomes very difficult and the scroll behavior feels unstable / "bouncy".
  • This started after updating to 26.406.31014 (1395).

So from my side, this is not only "scrolling up jumps to center" — in long threads it can also look like scroll position restoration is broken, causing the view to reset to the top while navigating.

Thanks for looking into this.

overFloweee · 4 months ago

I did a deeper local comparison between the older macOS build 26.325.31654 (1272) and the regressed build 26.406.31014 (1395), and I now have stronger evidence that this is likely a thread scroll controller regression, not just a generic CSS issue.

What seems to have changed in the newer build:

  • the thread uses a more complex bottom-based / reversed scroll model
  • message height changes are handled through explicit scroll compensation
  • the older build also appears to have a more complete scroll mode separation between:
  • stick to bottom
  • user scrolling
  • programmatic jump/find scroll

My current hypothesis is that there are two regressions interacting:

  1. Measured-height compensation appears to be triggered with the wrong direction check in the newer bottom-based coordinate system.
  • In practical terms, content height changes seem to be compensated even when they should not be, which can push the viewport unexpectedly.
  1. The newer build seems to be missing or weakening the older scroll state machine / timing-window isolation.
  • That allows manual user scrolling, auto-follow to bottom, and programmatic positioning to interfere with each other.

I tested this by doing a local hot patch to the packaged app:

  • first, correcting the measured-height compensation condition
  • second, restoring the old-style separation between user / stick-to-bottom / programmatic scroll behavior

Result on the same machine and same long threads:

  • scroll behavior became much more stable
  • the large jump / bounce behavior was significantly reduced
  • it is not a claim of a complete fix, but it strongly suggests the regression is in the scroll controller logic itself

So if someone on the team is triaging this, the most promising place to inspect seems to be the thread virtualization / scroll controller around:

  • height-delta compensation after measured turn height changes
  • bottom-distance comparisons
  • scroll mode transitions between user scrolling, programmatic find/jump, and stick-to-bottom auto-follow

From my side this is now reproducible enough, and the hot-patch result makes me fairly confident the problem is in that area.

R-9000 · 4 months ago

I can reproduce this as well on a newer build...

Environment:

  • Codex app: 26.409.20454 (1462)
  • CLI: codex-cli 0.119.0
  • Bundled: codex-cli 0.119.0-alpha.28
  • Hardware: Apple Silicon (Mac mini M4 Pro, 64 GB RAM)
  • macOS: 26.4.1

I also saw the same issue on macOS 26.4.

For me, this happens with a mouse. In longer threads (maybe also in not so long?!), scrolling becomes erratic: the view jumps, bounces, and sometimes resets to a different position. This only happens in the Codex app; scrolling is normal in other apps.

leftoverBits · 2 months ago

I can also reproduce this on a newer Codex App build & macOS version:

  • Codex App: 26.602.30954
  • Hardware: Apple M3 Max
  • macOS: 26.5

In a longer chat threads (not sure how long), the App jumps up:

  • Every time Codex completes a work step.
  • Every time Codex finishes processing and responds to the prompt
  • Every time Codex's response is interacted with (e.g. clicking eternal links)
  • Returning to app after clicking away to a different application.

This is making it difficult, and sometimes impossible to read the latest response from Codex.