Claude Code v2.1.20: Thai text output drops vowels and

Status Fixed / completed
Maintainer reply None cached
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.

View original on GitHub ↗

9 Comments

TIANQIAN1238 · 7 months ago

lmao。
hope them fix it as soon as possibie😂

MiniSankaz · 7 months ago

Same Issue. Hope them priority this issue, This so more impact in my work. LOL

someak · 7 months ago

+1 Reproducing on macOS (Darwin 25.2.0), iTerm2, Claude Code 2.1.20.

Environment:

  • macOS Sequoia
  • iTerm2 with JetBrains Mono + Noto Sans Thai (non-ASCII font)
  • Locale: C.UTF-8

Behavior:

  • Sara aa (า / U+0E32) is dropped in both input and output inside Claude Code only
  • Terminal outside Claude Code displays Thai correctly — echo "กา ขา คา" works fine
  • Confirmed font and locale are not the issue — this is a TUI rendering bug

Please prioritize — Claude Code is unusable for Thai language users.

1827mk · 7 months ago

Please ... 🥹🥹🥹

ChirawatCh · 6 months ago

Please solve it.

monthop-gmail · 6 months ago

Technical Root Cause Analysis

I analyzed the minified cli.js and 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:

// Current (BUGGY):
if(A>=3633&&A<=3642||A>=3655&&A<=3662||...)return!0

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:

A>=3633&&A<=3642

To:

A===3633||A>=3636&&A<=3642

This excludes U+0E32 (Sara Aa) and U+0E33 (Sara Am) from zero-width detection.

Unicode Reference

From the Unicode Standard:

  • U+0E32 THAI CHARACTER SARA AA - General Category: Lo (Letter, other) - NOT a combining mark, display width = 1
  • U+0E33 THAI CHARACTER SARA AM - General Category: Lo (Letter, other) - NOT a combining mark, display width = 1

These are spacing vowels that follow their consonant, not combining diacritical marks.

Verification

Tested on Claude Code 2.1.31:

  • Input: สวัสดีจ้า
  • Display: สวัสดีจ้ (Sara Aa missing)
  • Files: Saved correctly with (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! 🙏

monthop-gmail · 6 months ago

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

./thai-vowel-fix.sh        # Apply fix
./thai-vowel-fix-revert.sh # Revert

Note: Run with ./ or bash, not sh (scripts use bash-specific syntax)

The fix excludes Thai vowels า (U+0E32) and ำ (U+0E33) from zero-width character detection.

phuriwat-lk · 5 months ago

Platform: Windows 11
Shell: PowerShell (VS Code integrated terminal)
Claude Code version: 2.1.89 (Claude Code)

ปัญหา: เมื่อพิมพ์ภาษาไทยในช่อง input ของ Claude Code สระและวรรณยุกต์จะทับกับตัวอักษรและหายไป ทำให้ไม่สามารถพิมพ์ภาษาไทยได้ถูกต้อง

Steps to reproduce:

  1. เปิด Claude Code ใน VS Code terminal (PowerShell)
  2. พิมพ์ภาษาไทยที่มีสระ เช่น "สวัสดี"
  3. ตัวอักษรและสระทับกัน / หายไป

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" />

akaradeach · 4 months ago

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.

  • Platform: win32
  • Version: 2.1.109
  • Terminal: Windows PowerShell + VS Code integrated terminal
  • Workaround: copy-paste works; direct keystroke input does not.

+1 for prioritization — blocks Thai-speaking users from interactive prompts.