[Bug] NO_FLICKER mode garbles Japanese text output on Windows
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
- Set environment variable
CLAUDE_CODE_NO_FLICKER=1 - Run
claudeon Windows Terminal - Ask Claude to output Japanese text (e.g., "これを次の行にコピペします。")
- The streaming output renders as garbled characters like
縫雑|縫剥ケ九.陪後↓縫り綢斐.縫励し縫吟. - 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
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗