[BUG] Vietnamese IME input drops/swallows characters in CLI on Windows Terminal

Resolved 💬 4 comments Opened Apr 8, 2026 by xpunique Closed May 21, 2026

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

  1. Open Claude Code CLI in Windows Terminal
  2. Enable a Vietnamese IME (e.g., UniKey with Telex or VNI method)
  3. Type any Vietnamese text in the Claude Code input field
  4. 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

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗