[BUG]Chinese IME candidate window position incorrect in Warp 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 using Claude Code in Warp Terminal, the Chinese Input Method Editor (IME) candidate window appears far away from the cursor position. This makes
it very difficult to type Chinese characters.
What Should Happen?
Environment
- Claude Code version: 2.1.86
- Terminal: Warp Terminal v0.2026.03.18.08.24.stable_03
- OS: macOS (Darwin 25.3.0)
- TERM: xterm-256color
Steps to Reproduce
- Open Claude Code in Warp Terminal
- Switch to Chinese IME (e.g., Pinyin input)
- Start typing Chinese characters
- Observe the candidate window position
Expected Behavior
The IME candidate window should appear near the cursor, similar to how it works in:
- Terminal.app (Apple's default terminal)
- iTerm2
- Other TUI applications like opencode running in the same Warp Terminal
Actual Behavior
The candidate window appears far away from the cursor, making it unusable.
Additional Context
Workaround
Use Terminal.app or iTerm2 to run Claude Code (IME works correctly there).
Error Messages/Logs
Running claude doctor shows:
ERROR Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
This suggests the issue is related to the Ink framework's raw mode handling with Warp Terminal.
Related: https://github.com/vadimdemedes/ink/#israwmodesupported
Steps to Reproduce
- Open Claude Code in Warp Terminal
- Switch to Chinese IME (e.g., Pinyin input)
- Start typing Chinese characters
- Observe the candidate window position
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.86
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Warp
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗