[Bug] NO_FLICKER mode garbles Japanese text output on Windows

Resolved 💬 2 comments Opened Apr 2, 2026 by kiskysd Closed Apr 28, 2026

Bug Description

When CLAUDE_CODE_NO_FLICKER=1 is enabled on Windows, Japanese text in Claude's streaming output is rendered as mojibake (garbled characters). Disabling the flag renders the same text correctly.

Steps to Reproduce

  1. Set environment variable CLAUDE_CODE_NO_FLICKER=1
  2. Run claude on Windows Terminal
  3. Ask Claude to output Japanese text (e.g., "これを次の行にコピペします。")
  4. The streaming output renders as garbled characters like 縫雑|縫剥ケ九.陪後↓縫り綢斐.縫励し縫吟.
  5. Disable CLAUDE_CODE_NO_FLICKER → same text renders correctly

Screenshots

NO_FLICKER OFF (correct):

これを次の行にコピペします。

NO_FLICKER ON (garbled):

縫雑|縫剥ケ九.陪後↓縫り綢斐.縫励し縫吟.

Analysis

The garbled output pattern suggests the alt-screen rendering path used by NO_FLICKER mode is writing UTF-8 bytes but the console is interpreting them as Shift_JIS (CP932). This only affects the NO_FLICKER rendering path — standard rendering works fine with the same terminal configuration.

Note: This is distinct from #34247 (general Unicode UI element mojibake on Windows) as it specifically affects text content output only when NO_FLICKER is enabled.

Environment Info

  • Platform: Windows 11 Home 10.0.26200
  • Terminal: Windows Terminal
  • Shell: Git Bash (bash)
  • System locale: ja-JP
  • System codepage: 65001 (UTF-8)
  • Windows Beta UTF-8 support: Enabled
  • Version: 2.1.89

🤖 Generated with Claude Code

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗