[BUG] Vietnamese IME input drops/swallows characters in CLI on Windows Terminal
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?
When typing Vietnamese using an IME (e.g., UniKey/Telex) in the Claude Code CLI input field on Windows Terminal, characters are dropped or swallowed during composition. The input becomes garbled or incomplete.
Important: This issue only affects Claude Code's input — typing Vietnamese in the same Windows Terminal session (e.g., in bash, PowerShell, or other CLI tools) works perfectly fine. This confirms the problem is in Claude Code's input handling, not the terminal or IME.
Related issue: #43381 (same problem on Linux)
What Should Happen?
Vietnamese characters should appear correctly during and after IME composition, just like they do in the same terminal when not inside Claude Code's input field.
Steps to Reproduce
- Open Claude Code CLI in Windows Terminal
- Enable a Vietnamese IME (e.g., UniKey with Telex or VNI method)
- Type any Vietnamese text in the Claude Code input field
- Observe that characters are dropped, swallowed, or garbled
Error Messages/Logs
N/A - no error messages, characters are simply lost during input
Claude Model
None
Is this a regression?
Unknown
Last Working Version
_No response_
Claude Code Version
Latest
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
- The same IME works correctly in Windows Terminal for all other CLI applications
- Workaround: type Vietnamese text in another application (Notepad, browser, etc.) and paste into Claude Code with Ctrl+V
- This likely affects all IME-based input methods (Vietnamese, Chinese, Japanese, Korean) on Windows Terminal
- Root cause is likely the custom input component (React/Ink) not properly handling IME composition events
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗