[BUG] IME composition characters not displayed inline in CLI input (Vietnamese/Japanese/CJK)
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?
Description:
## Bug Description
When typing with an IME (Input Method Editor) for Vietnamese, Japanese, or other CJK languages
in the Claude Code CLI input field, characters are not displayed inline during composition.
They only appear after the IME commits the input (e.g., pressing Space or Enter).
Typing English works correctly — characters appear immediately as typed.
What Should Happen?
Actual Behavior
Characters remain invisible during IME composition phase.
Only the committed (finalized) text appears after pressing Space.
## Root Cause (suspected)
The CLI uses a custom input component (likely React/Ink) that intercepts keystrokes
at a low level and does not handle compositionstart / compositionupdate /
compositionend events from the IME correctly.
## Environment
- OS: Linux (also likely affects macOS)
- Shell: bash / zsh
- IME: Unikey (Vietnamese) — likely affects all IME-based input method
Error Messages/Logs
Steps to Reproduce
- Open Claude Code CLI in a terminal
- Enable an IME (e.g., Unikey for Vietnamese, Mozc/Fcitx for Japanese)
- Type any Vietnamese or Japanese characters in the input field
- Observe that characters do not appear until Space or Enter is pressed
## Expected Behavior
Characters should appear inline in the input field during IME composition,
the same way they do in standard terminal readline or IDE input fields.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.92
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗