Thai characters don't render correctly in CLI interactive mode
Description
Thai characters render correctly in the normal terminal but do not render properly inside Claude CLI interactive mode.
Example
Thai text like สระอา (sara aa vowel), สวัสดี (hello), กขคง (alphabet) displays incorrectly within the Claude CLI interface.
Environment
- OS: macOS (Darwin 24.6.0)
- Locale:
LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 - Terminal: Works correctly with Thai rendering outside Claude CLI
Steps to Reproduce
- Open terminal (Thai characters render correctly here)
- Run
claudeto enter interactive mode - Type or receive output containing Thai characters
- Thai characters don't render properly
Expected Behavior
Thai characters should render the same way as in the regular terminal.
Actual Behavior
Thai characters are not rendered correctly inside Claude CLI's interactive UI.
Workaround
Using --output-format text bypasses the UI and renders correctly, but loses the interactive experience.
Notes
This appears to be related to Claude Code's terminal UI (Ink/React-based) not handling Thai combining characters or complex script rendering properly. Thai script uses combining vowels and tone marks that require proper Unicode handling.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗