[BUG] Terminal UI rendering corruption on Windows
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?
Bug: Terminal UI rendering corruption on Windows
Environment
- Claude Code version: 2.0.76
- OS: Windows 10 (Build 10.0.26100.7462)
- PowerShell: 7.5.4
- Windows Terminal: 1.23.13503.0
- Also tested with Windows Console Host (conhost)
Description
The terminal UI becomes progressively corrupted during use. Text overlaps, duplicate lines appear, and the interface becomes unusable. The issue occurs in both Windows Terminal and the legacy Windows Console Host (conhost).
Symptoms
- Multiple duplicate "Calculating..." / "Bloviating..." / "Moseying..." spinner lines stacking up
- Bash command output appearing duplicated with misaligned text
- "Running PreToolUse hooks..." text appearing in wrong positions (right side of screen)
- Autocomplete menu rendering with overlapping/garbled entries
- Status tables completely misaligned
- Issue starts mild and progressively worsens during session
Steps to reproduce
- Launch Claude Code (
claude) in any Windows terminal - Run
/statusor any command that triggers hooks - Continue using the CLI - UI corruption worsens over time
What I've tried (none fixed it)
- Windows Terminal: Changed Graphics API to Direct2D
- Windows Terminal: Changed Text measurement mode to "Windows Console"
- Windows Terminal: Enabled software rendering (WARP)
- Windows Terminal: Disabled partial Swap Chain invalidation
- Switched to Windows Console Host (conhost) - same issue
Screenshots
<img width="1324" height="703" alt="Image" src="https://github.com/user-attachments/assets/c44480f6-947e-4e68-9a2c-07eff3435cb2" />
<img width="1327" height="708" alt="Image" src="https://github.com/user-attachments/assets/52ca480c-8b02-4754-bf29-bd9be157312d" />
<img width="981" height="516" alt="Image" src="https://github.com/user-attachments/assets/3746693b-c42c-4451-b7bf-12610560b9ee" />
<img width="1109" height="627" alt="Image" src="https://github.com/user-attachments/assets/1192f682-61ab-4c05-b5bc-3f708ba2c96b" />
Notes
- Fresh session starts rendering correctly
- Corruption accumulates with each command/hook execution
- Appears to be an Ink renderer issue with cursor positioning or screen buffer management on Windows
What Should Happen?
The terminal UI should render cleanly with:
Single spinner line ("Calculating...", "Bloviating...", etc.) that updates in place
Bash command output displayed once, properly aligned
Hook status ("Running PreToolUse hooks...") appearing in correct position
Autocomplete menu rendering without overlap
Status tables properly aligned
Error Messages/Logs
No error messages - this is a visual rendering issue. The UI becomes progressively corrupted:
Spinner lines stack vertically instead of updating in place (20+ duplicate lines)
"Running PreToolUse hooks..." text appears misaligned on the right side
Bash commands appear duplicated
Autocomplete suggestions overlap and become unreadable
Status command output completely garbled
Environment:
Claude Code: 2.0.76
OS: Windows 10 Build 10.0.26100.7462
PowerShell: 7.5.4
Windows Terminal: 1.23.13503.0
Also tested: Windows Console Host (conhost) - same issue
Steps to Reproduce
Install Claude Code 2.0.76 on Windows
Open any terminal (Windows Terminal or conhost)
Run claude in a project directory with hooks configured
Type status or /status
Observe UI starts rendering correctly initially
Continue using CLI - run a few more commands, type /sta to trigger autocomplete
UI corruption worsens progressively - spinner lines duplicate, text overlaps, layout breaks
Minimal hook config that triggers the issue (.claude/settings.json):
json{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": ["command"]
}
]
}
}
Note: Issue occurs even without custom hooks, but hooks accelerate the corruption. The rendering degrades with each screen update.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.0.76
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
What I've tried (none fixed it):
Windows Terminal: Changed Graphics API from Automatic to Direct2D
Windows Terminal: Changed Text measurement mode from "Grapheme clusters" to "Windows Console"
Windows Terminal: Enabled "Use software rendering (WARP)"
Windows Terminal: Enabled "Disable partial Swap Chain invalidation"
Switched to Windows Console Host (conhost) - same issue occurs
Ran via Command Prompt with pwsh -c claude - same issue
Observations:
Fresh session starts rendering correctly for the first few seconds
Corruption accumulates with each command/screen redraw
Hooks seem to accelerate the issue but it happens without hooks too
Issue appears to be Ink renderer miscalculating cursor positions or not clearing previous frames properly on Windows
The right-side aligned "Running PreToolUse hooks..." text suggests column calculation is broken
Possibly related:
Ink (React for CLI) has known issues with Windows terminal rendering
May be related to how ANSI escape sequences for cursor movement are handled on Windows
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗