UI duplicates user input/content 30+ times after first assistant response (v2.1.116, Windows)
Environment
- Claude Code Version: 2.1.116.d8c
- OS: Windows 11 Pro 10.0.26100
- Shell: bash
- Installation Method: Native (curl script), previously npm global install
- Plugins: All disabled (
"enabledPlugins": {})
Description
After the first assistant response in a new session, the UI renders user input and content duplicated 30+ times. The issue appears to be a UI rendering bug - the underlying transcript files are correct and contain no duplicate messages.
Reproduction Steps
- Start a new Claude Code session
- Enter any question/prompt
- Wait for the first assistant response to complete
- Observe UI immediately shows 30+ duplicates of the user input/content
Expected Behavior
UI should display single user input and single assistant response.
Actual Behavior
UI renders the same content 30+ times (see screenshot below).
What I've Ruled Out
- ✅ All plugins disabled - issue persists
- ✅ Cleared IndexedDB/LocalStorage/Cache - issue persists
- ✅ Cleaned session history - issue persists
- ✅ Verified transcript files are correct (no duplicate messages in .jsonl)
- ✅ Issue is UI-layer only, data layer is clean
Key Clues
- Issue started after switching from npm global install to native install (curl script)
- Only triggers after the first assistant response in a session
- Did not occur in version 2.1.111
- Problem reproduces consistently across new sessions
Screenshot
<img width="1461" height="2142" alt="Image" src="https://github.com/user-attachments/assets/ba655027-5c12-40d1-8720-308bca554770" />
Note: I'll need to upload the screenshot separately as I cannot attach images directly via CLI. The screenshot shows the UI with 30+ duplicate copies of the same content stacked vertically.
Impact
This makes Claude Code unusable as the UI becomes completely cluttered after the first response, making it impossible to read or continue the conversation effectively.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗