[BUG] Japanese (CJK) characters garbled during streaming output
Resolved 💬 3 comments Opened Apr 8, 2026 by shota-nagayama Closed Apr 11, 2026
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?
Japanese (CJK multi-byte) characters in the assistant's streaming output are intermittently garbled/corrupted. Characters appear to be split at token boundaries during streaming, resulting in broken/missing characters in the rendered text.
Examples of corrupted output observed:
50チケッ��なら(expected:50チケットなら)関連チケットと Scope外に反映しま��(missing final character)PR #356 ��修正に戻りますか?(corrupted character mid-sentence)
How to Reproduce
- Set locale to
ja_JP.UTF-8 - Have a conversation in Japanese where Claude generates multi-paragraph responses
- Observe that some CJK characters are garbled/missing in the streamed output
The issue occurs randomly during streaming. It is not specific to any particular character — different characters are corrupted in different responses.
Environment
- Claude Code version: 2.1.94
- OS: macOS (Darwin 25.3.0)
- Terminal: Ghostty (xterm-ghostty), also reproduced in VS Code integrated terminal and via cmux
- Shell: zsh
- Locale:
ja_JP.UTF-8
Additional Context
- This is NOT the spinner/status line garbling reported in #42177 — this affects the main assistant output text
- The issue reproduces across multiple terminal emulators (Ghostty, VS Code terminal), ruling out terminal-specific rendering bugs
- The issue also reproduces when using cmux (terminal multiplexer), but is not caused by it since it reproduces without cmux as well
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗