anthropics / anthropics/claude-code
[BUG] Claude Desktop + claude.ai: Projects grid leaves stale painted fragments after scrolling
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 147k
- Forks
- 24k
- PR merge metrics
- PR metrics pending
Description
Preflight Checklist
- I have searched existing issues and this hasn't been reported yet
- This is a single bug report (please file separate reports for different bugs)
- I am using the latest version of Claude Code
What's Wrong?
Note: this is a Claude Desktop / claude.ai UI bug (Projects grid), not the Claude Code CLI.
It reproduces in both Claude Desktop and claude.ai in Chrome.
Scrolling down and back up in the Projects grid leaves stale rendered content painted over the
grid. Because it reproduces in both Claude Desktop and claude.ai in Chrome, this appears to be
in the Projects grid component rather than the desktop wrapper.
Stale content remains painted over the grid, in one of two forms:
- Stale fragments — portions of cards from rows further down the list render at the top of
the viewport, overlapping the real first-row cards. In the desktop app the stale layer is
horizontally misaligned with the live grid: the ghost card boxes over the first row sit
slightly to the right of the real cards (roughly 15–45 px), while a further ghost date label
lands in the left margin, outside the grid entirely. In the browser the ghost boxes are
nearly aligned horizontally (at most a few px to the right) but shifted upward, so ghost
titles and date labels sit above and over the first row. Which cards appear varies between
attempts. - Clipped top row — the topmost cards render with their upper portion cut off.
Frequency
- Desktop app: I have not yet observed a clean scroll-down / scroll-up cycle.
- Browser: roughly half of attempts, and streaky — several consecutive clean renders, then
several consecutive broken ones.
The difference in rate between the two platforms, and the streakiness rather than clean
randomness, suggests a timing-sensitive interaction between scroll handling and paint.
What does NOT affect it
- Scroll speed — no difference between slow and fast.
- Scroll distance — partial scroll and full scroll to the bottom yield the same result. Scrolling roughly one card row plus a few pixels still reproduces it; the exact minimum has not been pinned down.
- Gesture continuity — it occurs even within a single uninterrupted drag: press and hold the
scrollbar thumb, drag down, drag back up, release only at the end. This rules out anything
keyed to the end of a scroll gesture (pointerup, momentum settle, debounced re-render on idle).
Clearing conditions (desktop)
Clears on any forced repaint — alt-tab, or opening and closing another window over the app —
but never on further scrolling.
Desktop launched with --disable-gpu
The bug does not go away; it gets worse:
- Every scroll cycle paints a different set of stale fragments.
- Stale content appears outside the grid columns entirely — a project description fragment in
the left margin, date labels past the last column on the right. - A white rectangle renders at top center. Unlike the other artifacts it survives window
occlusion, clearing only on switching tabs within the app and back.
Software rendering reproducing it more severely, plus the browser reproduction, rules out a GPU
compositing or driver cause.
What Should Happen?
After scrolling back to the top, the grid re-renders cleanly, showing only the current cards.
Error Messages/Logs
Steps to Reproduce
- Open the Projects view (Claude Desktop, or claude.ai in Chrome) with enough projects that
the grid scrolls. - Scroll down. A partial scroll is enough; scrolling all the way to the bottom gives the
same result. - Scroll back up to the top.
- Observe stale card fragments painted over the first row, or the first row clipped at the top.
Desktop: reproduces on every attempt so far. Browser: roughly every other attempt, in streaks.
Reproducible across app restarts.
Claude Model
Not sure / Multiple models
Is this a regression?
I don't know
Last Working Version
No response
Claude Code Version
Claude Desktop 2.2553.1 (MSIX); also claude.ai in Chrome 153.0.8010.53
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Environment
- Claude Desktop: 2.2553.1 (MSIX package)
- Browser: Chrome 153.0.8010.53, claude.ai/cowork/projects
- OS: Windows 11 Pro 25H2, build 26200.9457
- Hardware: ASUS ROG Strix GL703VD — i5-7300HQ, 16 GB RAM
- Display adapter in use: Intel HD Graphics 630, driver 31.0.101.2140 (WDDM 3.1)
- NVIDIA GTX 1050 present but not driving the display
- Display: 1920x1080 @ 120Hz, 100% DPI, DWM DPI scaling disabled
- Theme: light
Additional notes
- Reproducible across app restarts.
- DPI is 100% with DWM scaling disabled, so not a fractional-scaling artifact.
Screenshots
Desktop app, stale fragments (cropped / full window):
Desktop app, clipped top row (cropped / full window):
Desktop app launched with --disable-gpu (cropped / full window / persistent white rectangle):
Browser (claude.ai in Chrome), stale fragments (full window / two cropped attempts):
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository file, test, or entry point is identified, and the report states that the bug is in the Claude Desktop and claude.ai Projects grid rather than the Claude Code CLI. First reproduce the scroll-down and scroll-up sequence in the Projects view; done means the grid returns to the top without stale fragments, clipped cards, or persistent painted artifacts.
Written by the indexing model from the issue text.
Assessment
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100