[BUG] IME composition characters not displayed inline in CLI input (Vietnamese/Japanese/CJK)

Resolved 💬 2 comments Opened Apr 4, 2026 by congbkhit Closed May 14, 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?

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

  1. Open Claude Code CLI in a terminal
  2. Enable an IME (e.g., Unikey for Vietnamese, Mozc/Fcitx for Japanese)
  3. Type any Vietnamese or Japanese characters in the input field
  4. 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_

View original on GitHub ↗

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