Claude Code v2.1.20: Thai text output drops vowels and
Status Fixed / completed
Maintainer reply None cached
Workaround ✓ Mentioned in thread ↓
Activity 9 comments · opened Jan 27, 2026 · closed Aug 19, 2026
UPDATE: This is now a CRITICAL blocking issue.
Claude Code itself cannot type sara aa (า) when generating Thai responses, making it completely unusable for Thai language work.
Impact:
- Users cannot type sara aa (า)
- Claude Code cannot generate Thai text with sara aa (า)
- Affects ALL Thai language workflows
- No workaround except downgrade
This needs URGENT attention as v2.1.20 is currently broken for Thai users.
9 Comments
lmao。
hope them fix it as soon as possibie😂
Same Issue. Hope them priority this issue, This so more impact in my work. LOL
+1 Reproducing on macOS (Darwin 25.2.0), iTerm2, Claude Code 2.1.20.
Environment:
C.UTF-8Behavior:
echo "กา ขา คา"works finePlease prioritize — Claude Code is unusable for Thai language users.
Please ... 🥹🥹🥹
Please solve it.
Technical Root Cause Analysis
I analyzed the minified
cli.jsand found the exact bug location.The Bug
In the character width calculation function (minified as
MD7), there's an incorrect range check for Thai characters:This treats code points 3633-3642 as zero-width combining characters. However:
| Decimal | Unicode | Character | Unicode Category | Should be zero-width? |
|---------|---------|-----------|------------------|----------------------|
| 3633 | U+0E31 | ◌ิ (Sara I) | Mn (Mark, Nonspacing) | ✅ Yes |
| 3634 | U+0E32 | า (Sara Aa) | Lo (Letter, other) | ❌ NO - This is a SPACING character! |
| 3635 | U+0E33 | ำ (Sara Am) | Lo (Letter, other) | ❌ NO - This is a SPACING character! |
| 3636-3642 | U+0E34-3A | ◌ี ◌ึ ◌ื etc. | Mn (Mark, Nonspacing) | ✅ Yes |
The Fix
Change from:
To:
This excludes U+0E32 (Sara Aa) and U+0E33 (Sara Am) from zero-width detection.
Unicode Reference
From the Unicode Standard:
Lo(Letter, other) - NOT a combining mark, display width = 1Lo(Letter, other) - NOT a combining mark, display width = 1These are spacing vowels that follow their consonant, not combining diacritical marks.
Verification
Tested on Claude Code 2.1.31:
สวัสดีจ้าสวัสดีจ้(Sara Aa missing)า(confirms this is display-only bug)Same issue affects สระอำ (ำ), e.g.,
น้ำdisplays asน้(though Sara Am is less commonly typed).Impact
This bug makes Claude Code unusable for Thai users. Sara Aa (า) is one of the most frequent Thai characters.
---
Hope this helps the team fix it quickly! 🙏
Temporary Fix Scripts
While waiting for official fix, I created shell scripts to patch cli.js:
🔗 https://github.com/monthop-gmail/oss-contributions/tree/main/claude-code-thai-vowel-fix
Usage
Note: Run with
./orbash, notsh(scripts use bash-specific syntax)The fix excludes Thai vowels า (U+0E32) and ำ (U+0E33) from zero-width character detection.
Platform: Windows 11
Shell: PowerShell (VS Code integrated terminal)
Claude Code version: 2.1.89 (Claude Code)
ปัญหา: เมื่อพิมพ์ภาษาไทยในช่อง input ของ Claude Code สระและวรรณยุกต์จะทับกับตัวอักษรและหายไป ทำให้ไม่สามารถพิมพ์ภาษาไทยได้ถูกต้อง
Steps to reproduce:
Expected: ตัวอักษรแสดงถูกต้อง
Actual: สระและวรรณยุกต์หายหรือทับกัน
<img width="919" height="271" alt="Image" src="https://github.com/user-attachments/assets/34636f2d-442f-4784-aa44-837b1fd8b7e4" />
<img width="679" height="327" alt="Image" src="https://github.com/user-attachments/assets/bcd0d813-50d1-432d-9772-bb3400d3a785" />
Still reproduces on v2.1.109 / Windows 11 Enterprise / PowerShell (also VS Code integrated terminal).
Typing Thai directly into the Claude Code prompt drops combining characters (sara/tone marks). Example: typing
ทำงานไม่ได้renders asทงานไ ได. Same PowerShell session types Thai fine outside Claude Code.+1 for prioritization — blocks Thai-speaking users from interactive prompts.