[BUG] Windows: cmd (Command Prompt) rendering issue - text overlapping and garbled display since v2.1.3~v2.1.5

Open 💬 24 comments Opened Jan 21, 2026 by WangShiSoftware

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?

Text display issues on Windows terminals since v2.1.3:

  1. cmd (Command Prompt) - SEVERE:
  • Text completely garbled and overlapping
  • Multiple lines render on top of each other
  • UI elements duplicated and overlap
  • Unusable
  1. PowerShell - MINOR:
  • Small rendering glitches (extra characters like S appearing at line starts)
  • Some minor artifacts
  • Still usable but not perfect

Symptoms:

  1. Text overlapping: Multiple lines of text render on top of each other (e.g., Reada28nlines instead of proper separate lines)
  2. UI elements duplicated: Elements like accept edits on (shift+tab to cycle) appear twice and overlap
  3. Cursor position errors: New content writes over old content positions

Environment:

  • Claude Code Version: 2.1.14 (also reproduced on 2.1.5, 2.1.12)
  • Installation Method: Native installer (~\.local\bin\claude.exe)
  • OS: Windows
  • Working Version: 2.1.2 (no issue in either terminal)

Screenshots:

<img width="1113" height="652" alt="Image" src="https://github.com/user-attachments/assets/eb9af1a6-c332-44c5-b812-3a891c1805fb" />

<img width="932" height="547" alt="Image" src="https://github.com/user-attachments/assets/f8e6ad37-d3df-4eaa-b240-7fcefb724d3b" />

PowerShell : MINOR issue

<img width="1104" height="890" alt="Image" src="https://github.com/user-attachments/assets/567402c9-4796-422a-add5-ef5a63973ec5" />

What Should Happen?

Text should display correctly without overlapping or garbling. Each line should render in its own position, and UI elements should not duplicate.

Error Messages/Logs

No error messages. This is a visual rendering issue - see attached screenshots.

Steps to Reproduce

  1. Install Claude Code v2.1.3 or later on Windows (native installer)
  2. Open cmd (Command Prompt)
  3. Run claude to start a conversation
  4. Ask Claude to read some files or perform any tool operation
  5. Observe garbled/overlapping text in output

Note: Based on release notes analysis, the issue was likely introduced in v2.1.3 by this change:

> "Improved terminal rendering stability by preventing uncontrolled writes from corrupting cursor state"

Subsequent fixes in v2.1.6, v2.1.7, and v2.1.12 did not fully resolve this issue on Windows.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.2

Claude Code Version

2.1.14

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

_No response_

View original on GitHub ↗

24 Comments

github-actions[bot] · 5 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/17050
  2. https://github.com/anthropics/claude-code/issues/14720
  3. https://github.com/anthropics/claude-code/issues/14885

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

WangShiSoftware · 5 months ago

This is a different issue.

#17050 shows text scattered across random screen positions (layout/positioning problem).

My issue shows text overlapping within the same lines - characters from different outputs merge together (e.g., Reada28nlines), and UI elements duplicate in place.

Different symptoms:

  • #17050: Layout broken, elements in wrong positions
  • This issue: Text stacking/overlapping at correct positions

Also, I've identified a regression point:

  • v2.1.2 works correctly
  • Issue introduced in v2.1.3 ("Improved terminal rendering stability by preventing uncontrolled writes from corrupting cursor state")

Terminal: cmd (severe) and PowerShell (minor glitches)

onesam-jpg · 5 months ago

Additional Report - Windows 11 + Windows Terminal

Environment:

  • Claude Code version: 2.1.17
  • OS: Windows 11
  • Terminal: Windows Terminal (Git Bash)
  • TERM: xterm-256color

Symptoms:

  • Text overlapping and garbled display
  • Multiple lines rendering on top of each other
  • UI elements duplicated
  • Status line and main content mixing together
  • Characters appearing in wrong positions

Screenshot evidence: The terminal shows severe rendering corruption with text from different UI sections (welcome message, recent activity, status bar, input area) all overlapping in the same visual space.

Attempted workarounds:

  • Disabled status line via ~/.claude/settings.json"statusLine": false
  • Issue persists even with status line disabled

Impact: Makes Claude Code essentially unusable as the output cannot be read properly.

This appears to be the same issue as originally reported, confirming it affects the latest 2.1.17 version on Windows Terminal with Git Bash.

jaried · 5 months ago

This issue persists in v2.1.19 as well. See #20784 for details on WSL2 Ubuntu 22 and Windows 10 CMD environments.

pmcormier · 5 months ago

Can confirm I experience the identical issue. Windows 11. Terminal (command prompt). Experienced in versions 2.1.5, 2.1.7, and 2.1.9.

esafak · 5 months ago

MacOS is broken for me too.

Teja865 · 5 months ago

Environment

  • Claude Code CLI version: 2.1.22 (broken), 2.0.50 (works)
  • Claude Desktop App version: Latest (downloaded Jan 29, 2026)
  • OS: Windows 10 (Build 10.0.19045.6456)
  • Node.js: v20.20.0
  • Terminals tested: PowerShell, CMD, Windows Terminal, Cursor integrated terminal
  • Subscription: Claude Pro ($118 USD/month)

Problem Description

Issue 1: Claude Desktop App - Code tab shows black screen

  • Chat tab works fine
  • Code tab shows completely black/blank screen
  • Shows "Effecting..." but never loads
  • Reinstalling doesn't fix it

Issue 2: Claude Code CLI v2.1.x hangs on Windows

  • Running claude command shows no output (blank/frozen)
  • claude --version and claude --help work
  • claude -p "hello" hangs with no response
  • Happens in all terminals: PowerShell, CMD, Windows Terminal, Cursor

What works

  • Claude Code CLI v2.0.50 works perfectly in standalone PowerShell
  • Claude Desktop App Chat tab works
  • Network connectivity is fine (API responds)

Steps to Reproduce

  1. Install Claude Code CLI via npm install -g @anthropic-ai/claude-code
  2. Open any terminal on Windows 10
  3. Run claude
  4. Screen stays blank/black - no UI renders

Workaround

Downgrade to v2.0.50:

npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code@2.0.50

Expected Behavior

Claude Code should display the interactive TUI properly on Windows.

---

Feedback to Anthropic Team

I am a paying customer ($118 USD/month) and I have been struggling with this issue for 2+ days. This has completely blocked my development work.

Problems with this situation:

  1. Wasted tokens and usage - I spent significant tokens and API usage just trying to debug this issue that is on Anthropic's side, not mine.
  1. Wasted time - Hours of productivity lost troubleshooting a bug that should have been caught before release.
  1. No human support - I emailed customer support multiple times. No human has responded. Only an AI auto-reply agent responds, which cannot actually help with technical issues like this.
  1. Paying for broken product - I am paying $118/month for a product that doesn't work. The Windows rendering bug has been reported by many users, yet it was still released.

Requests:

  1. Please prioritize fixing this Windows rendering bug - it affects many paying customers
  2. Please improve customer support - real humans should respond to technical issues
  3. Please test on Windows before releasing updates
  4. Consider compensating affected users for lost usage/tokens spent debugging Anthropic's bugs

This is frustrating for customers who rely on Claude Code for their daily work.

Screenshots

[Attach your screenshots here]

nimoalr · 5 months ago

<img width="1930" height="268" alt="Image" src="https://github.com/user-attachments/assets/5f098703-0b69-4dfe-aa6c-bd76134be2e5" />

Same issue here on 2.1.23 - Claude Code is basically unusable on Windows right now.

jaried · 5 months ago

Have you tried using Windows Terminal? I'm on Windows 10 with Windows Terminal and don't experience this issue with v2.1.23. See #21156 for a similar discussion.

nimoalr · 5 months ago

I'm using Powershell inside vscode.

Teja865 · 5 months ago

claude team are went for holidays even they are not responfing to mails

chuchiring · 5 months ago

Version 2.1.27 still has this issue; 2.1.2 is the last working version.

WangShiSoftware · 5 months ago

Version 2.1.29 still has this issue!

I installed v2.1.2 to avoid this, but it switched from npm to native installer for me, then I found it is still not fixed.

frustrated...

<img width="994" height="522" alt="Image" src="https://github.com/user-attachments/assets/bd682e01-1eaf-49d9-a3dc-ade5b8887470" />

jaried · 5 months ago

你试试windows终端,不用cmd,我换成windows终端后,没这个问题了。

WangShiSoftware · 5 months ago
你试试windows终端,不用cmd,我换成windows终端后,没这个问题了。

👍

<img width="1280" height="1046" alt="Image" src="https://github.com/user-attachments/assets/e45e1e1c-e8f6-4a93-b753-7fb9fdc6fbae" />

jaried · 5 months ago

cmd对utf-8、emoji等支持不好,windows终端是新写的。

marcoscale98 · 5 months ago

Unusable also on MacOS

chuchiring · 5 months ago

Generate a long warning (100+ chars), python code block, and table。

这句话贴claude code去运行 百分白重现bug

elnawk · 4 months ago

Additional Report - Vertical (Single-Character-Per-Line) Rendering Variant

Environment:

  • Claude Code version: 2.1.47 (native installer, claude.exe at ~\.local\bin\)
  • OS: Windows 11 Pro (Build 10.0.26200)
  • Terminal: CMD.exe (via .bat file), also reproduced in Windows Terminal + CMD profile
  • TERM: xterm-256color

Symptoms:
This is a different variant from the text-overlapping issue. The status bar and UI text render vertically, one character per line, instead of horizontally:

1
6
:
1
6

|

O
p
u
s

4
.
6

|

P
r
o
j
e
c
t
s

|

n
o
-
g
i
t

Expected: 16:16 | Opus 4.6 | Projects | no-git (single horizontal line)

What did NOT fix it:

  • set TERM=dumb - Ink TUI ignores this
  • set NO_COLOR=1 - No effect
  • set COLUMNS=120 / set LINES=30 - No effect
  • Running via Windows Terminal with CMD profile - Same issue

Workaround that WORKS:
Launch Claude Code via PowerShell instead of CMD.exe:

@echo off
start "" powershell.exe -NoProfile -NoExit -Command "Set-Location 'C:\Users\username\Projects'; claude"

PowerShell's VT100 parser handles the ANSI escape sequences correctly, while CMD.exe's legacy console host misinterprets cursor positioning sequences, causing each character to appear on a new line.

Root cause analysis:
This issue started after the automatic npm to native installer migration. The previous npm-based claude (launched via Node.js/npx) worked fine in CMD.exe. The new native claude.exe binary initializes ConPTY differently, which is incompatible with CMD.exe's console host.

Timeline:

  • ~2 weeks ago: npm-based claude worked fine in CMD.exe
  • Feb 17-18: Automatic migration to native installer (claude.exe)
  • Feb 19: Vertical rendering observed in CMD.exe
crippledgeek · 4 months ago

Seeing a similar artifact on Windows 10 + Windows Terminal + PowerShell (Claude Code latest).

When running git merge --no-ff with a multi-line heredoc commit message via the Bash tool, the spinner/status indicator text bleeds into the command output:

PuzMerge made by the 'ort' strategy.

instead of:

Merge made by the 'ort' strategy.

The "Puz" prefix appears to be residual spinner characters that weren't cleared before the output was rendered. This is the "minor" PowerShell variant described in the original report — small artifacts from spinner text overlapping with command output.

Screenshot:
The artifact appears on the line showing the merge strategy, with spinner characters prepended to the git output.

Avimarzan · 3 months ago

Still reproduces on v2.1.107 — Windows 11 Pro, Windows Terminal + PowerShell.

Symptom matches the "text overlapping within same lines" variant: a band of garbled/smeared text with residual highlight background appears mid-transcript during streaming output (plan mode content in my case, with long wrapped lines). So the workaround of "use Windows Terminal + PowerShell instead of cmd" no longer avoids it — it reproduces in that environment too.

deshiknaves · 28 days ago

This issue is marked as a windows issue, but I've been seeing this on Mac for the last few weeks. Whenever /clear or /compact is called it corrupts the output. Anecdotally I can say it happens whenever the agent tries to clear the screen. This is the closest issue that I've seen for this issue. The only way to fix this is to close the session and reload the session. This has been extremely annoying.

Let me know if it should remain on this ticket or you want to look at this seprately.

If it's helpful the terminal is Ghostty.

chirag127 · 28 days ago

Adding a fresh data point: this is still happening on 2.1.181 (Windows 11 Enterprise, native installer at ~/.local/bin/claude.exe, Git Bash inside Windows Terminal, model claude-opus-4-8).

The specific manifestation that surfaces it for me is the AskUserQuestion multi-question code path: when the model batches 2+ questions in a single picker, the resulting TUI overlay garbles — questions/options visually merge, checkbox states drift between questions, navigation hints duplicate. Single-question calls render fine.

That symptom was previously filed as #20795 in January 2026 and closed-as-duplicate-of-this issue 3 days later. As of June 2026 (5 months later) it's still happening. Filed a fresh issue at #69294 with the 2.1.181 repro details and a list of related open issues (#62493, #67426, #68082, #65967, #62657, #10258), but pointing back here so the data point stays attached to the umbrella bug.

Workaround the end-user has been forced into: telling the model in CLAUDE.md to "never batch 2+ questions in a single AskUserQuestion call", which means structured forced-choice input on Windows is permanently degraded to one-decision-per-turn.

taifunk · 13 days ago

Corroborating data point — a different terminal, same signature.

Environment:

  • Claude Code: 2.1.198 (latest)
  • OS: Windows 10 Pro (10.0.19045)
  • Platform: Anthropic API (Claude subscription)
  • Terminal: Orca (Stably AI) — an Electron desktop terminal that renders through xterm.js (confirmed in the install: @xterm/* addons) over node-pty 1.1.0 / ConPTY
  • Regression: I can't personally attest to a last-working version (I only have current), but this matches the v2.1.3 suspicion in this thread — see below.

I'm hitting the overlapping/garbled output described here, but on a standalone xterm.js terminal rather than cmd.exe. xterm.js is already represented in this thread via the VS Code and Cursor integrated terminals; Orca is another, independent xterm.js + ConPTY host — a dedicated desktop terminal rather than an editor's embedded one. So the signature now spans native Windows consoles (cmd.exe, PowerShell) and several separate xterm.js hosts (VS Code, Cursor, Orca), plus tmux (#29937) and Ghostty (#55089) via the cross-refs. The common factor across all of them is Claude Code, not any one terminal.

What it looks like: output lines draw on top of each other, characters double up ("documents" comes out "docdocs", "inventory" as "invntory"), and a column of stray leftover characters is stranded at the right edge — the tail ends of earlier, wider lines that never got erased. This looks like a right-edge-specific version of the "band of garbled text with a residual highlight background during streaming" reported earlier in this thread (Avimarzan, 2.1.107); in my case the leftover cells cluster at the right margin.

When it happens: under heavy concurrent output. I run several Claude Code background agents at once on a 4-core box, and it garbles when they're all streaming at the same time and the machine is CPU-saturated. Idle output is clean. I haven't reduced it to a single controlled repro, so treat the load correlation as an observation, not a measurement.

Steps to reproduce (rough):

  1. Windows, in a ConPTY-based terminal (here: Orca / xterm.js), on a CPU-constrained machine.
  2. Generate fast, concurrent streaming output — e.g. several background agents running simultaneously.
  3. During the heaviest concurrent streaming, the conversation pane garbles as above.

It's a paint bug, not data loss: Ctrl+L forces a full repaint and the screen comes back completely clean — the underlying content was intact the whole time, only the on-screen paint was wrong. That's consistent with the renderer's model of the cursor and line width drifting from the terminal's actual grid, so later erase-to-end-of-line and cursor moves land in the wrong place. (Contrast with #29937, where Ctrl-L does not help because the corruption lives in Ink's virtual buffer — here a repaint fixes it, which points at a different failure locus.)

Version note: I'm on 2.1.198, the latest (the highest I saw in this thread was 2.1.181). The rendering fixes in 2.1.144 ("garbled glyphs in very long sessions"), 2.1.147 ("stale/doubled rows on Windows background sessions"), and 2.1.154 ("fullscreen TUI corruption") are already in my build and don't cover this path. It also lines up with the v2.1.3 "preventing uncontrolled writes from corrupting cursor state" change pinned here as the regression point — same subsystem.

Related: #55089 (streaming cursor-position drift, closed as duplicate) and #29937 (Ink cached-position drift under tmux).