[BUG] Thai language input display incorrectly - diacritics and vowels misaligned
Bug Description
Thai language input is broken when typing in Claude Code CLI. Thai diacritics (tone marks) and vowels are misaligned/misplaced, making the text unreadable.
Environment
- OS: macOS 15.1 (Darwin 25.1.0)
- Claude Code Version: 2.1.15
- Terminal: Default macOS Terminal / iTerm2
- Shell: zsh
- Locale: UTF-8
Steps to Reproduce
- Open Claude Code CLI
- Try to type Thai text (e.g., "สวัสดี")
- Observe that the vowels and tone marks are displayed incorrectly
Expected Behavior
Thai text should display correctly with vowels and tone marks properly positioned above/below consonants:
- สวัสดี (correct)
Actual Behavior
Thai vowels and tone marks are misaligned, appearing in wrong positions or separated from their base consonants. See screenshot below:
<img width="268" height="116" alt="Image" src="https://github.com/user-attachments/assets/549b3d27-8f07-4efe-b355-87506f68fd44" />
The text "สวัสดี สวัสดี" appears garbled with diacritics in wrong positions.
Additional Context
- This issue is similar to #10429 (Vietnamese Input Not Working)
- Thai language uses combining characters (vowels above/below, tone marks) similar to Vietnamese
- The root cause is likely the same: custom input handling doesn't properly support IME composition events and Unicode combining characters
- Thai input works correctly in regular terminal but broken in Claude Code CLI
Impact
This affects all Thai-speaking users who need to communicate in Thai when using Claude Code.
Suggested Fix
- Add proper support for Thai IME
- Handle composition events for languages with diacritics/combining characters
- Support multi-byte UTF-8 input sequences with combining characters
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗