[Bug Report] Unable to process empty bug report submission

Open 💬 0 comments Opened Jun 12, 2026 by Stingraylien

Bug Description

Environment Info

  • Platform: linux
  • Terminal: vte-based
  • Version: 2.1.173
  • Feedback ID: f8f8b230-33b8-4c1d-812f-a4ddc91e98b5

Title

[BUG] IME candidate window not displayed in interactive TUI on Linux X11 (IBus / Bopomofo) — re-filing auto-closed #30982

What's Wrong?

When using an IBus-based IME (Bopomofo 注音 / chewing 新酷音) inside the Claude Code
interactive TUI on Linux X11, the candidate selection window never appears. The same
IME works correctly in the same GNOME Terminal at a normal shell prompt; the problem
only occurs inside Claude Code. This makes it impossible to type Chinese (or other
CJK languages) directly in Claude Code without resorting to external workarounds
(e.g. composing text in a separate dialog and pasting it in).

This was previously reported as #30982, which reproduced the exact same environment
(Ubuntu 24.04, GNOME X11, IBus, chewing). That issue was auto-closed as inactive on
2026-04-04 without a fix, and the bot instructed affected users to file a new issue
referencing it. The bug still reproduces on the current version (2.1.173).

What Should Happen?

The IME candidate window should appear and allow character composition/selection
inside the Claude Code TUI, just as it does at a regular shell prompt in the same
terminal.

Steps to Reproduce

  1. On Ubuntu 24.04 (GNOME, X11 session) with IBus running, add the chewing (新酷音)

or any Bopomofo input engine.

  1. Open GNOME Terminal and confirm the IME works at the shell prompt — candidate

window appears normally.

  1. Launch claude.
  2. Switch to the IME and try to type Chinese in the input box.
  3. The candidate/selection window never appears; characters cannot be composed.

Additional Information

  • A commenter on #30982 noted that OpenCode (a Go TUI built with Bubble Tea) handles

IME pre-edit correctly in the exact same terminal/IME setup, so this is not a
terminal or IME-framework limitation — it appears to be specific to how the
Ink/React-based TUI manages the terminal cursor, causing the IME to lose track of
the caret position (or to never receive composition events at all).

  • Related issues: #30982 (auto-closed, same bug), #22147, #19616, #1547, #50650.
  • Workaround currently in use: a zenity dialog bound to a global hotkey that copies

the composed text and pastes it into the terminal — usable, but this should work
natively.

Environment

  • Claude Code Version: 2.1.173
  • OS: Ubuntu 24.04.4 LTS
  • Desktop: GNOME (X11 session, XDG_CURRENT_DESKTOP=ubuntu:GNOME)
  • Terminal: GNOME Terminal 3.52.0 (VTE 0.76.0)
  • IME Framework: IBus 1.5.29-rc2
  • Input Engines: chewing (新酷音), libbopomofo, m17n:zh:bopomofo
  • Node.js: v18.19.1

Is this a regression?

I don't know — it has never worked in this environment.

Errors

[]

View original on GitHub ↗