[Bug] Korean IME input not displaying inline at cursor position
Bug Description
---
Bug Report: Korean IME Input Display Issue
Summary:
Korean (and possibly other CJK languages) IME input does not display inline at the cursor position. Instead, the input appears in a separate input area, unlike standard terminal behavior.
Environment:
- OS: Windows
- Terminal: VS Code integrated terminal
- Claude Code flags: --permission-mode dontAsk --model sonnet --ide
Expected Behavior:
Korean characters should be composed and displayed inline at the cursor position, as they do in:
- Windows Terminal
- PowerShell
- Standard command prompt
Actual Behavior:
Korean IME input appears in a separate input window/area instead of being displayed inline where the cursor is located.
Steps to Reproduce:
- Launch Claude Code in Windows environment
- Start typing Korean characters using Windows IME
- Observe that input appears in a separate area, not at cursor position
Visual Evidence:
[Screenshot attached: ✳_입력_위치_문제_251224_1513.jpg]
The screenshot shows the cursor position versus where the Korean input actually appears.
Impact:
This makes Korean input feel unnatural compared to standard terminal experience, though functionality is not broken.
Additional Context:
- Other terminal applications handle Korean IME correctly
- Only affects Claude Code's interactive terminal UI
- Issue confirmed with visual evidence
Environment Info
- Platform: win32
- Terminal: null
- Version: 2.0.76
- Feedback ID: 114925c6-1a77-4b4c-855b-0aa15167f56d
Errors
[{"error":"Error: Request was aborted.\n at _createMessage (B:/~BUN/root/claude.exe:455:3157)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-24T06:38:49.941Z"},{"error":"eiD: Diagnostics file path mismatch: expected C:\\dev\\github\\my_playground\\text.txt, got file://c:\\dev\\github\\my_playground\\text.txt/)\n at beforeFileEdited (B:/~BUN/root/claude.exe:1144:51616)\n at async call (B:/~BUN/root/claude.exe:1197:1286)\n at async Vo1 (B:/~BUN/root/claude.exe:2139:17437)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-24T06:46:04.348Z"},{"error":"Error: Request was aborted.\n at _createMessage (B:/~BUN/root/claude.exe:455:3157)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-24T06:46:38.104Z"},{"error":"Error: Request was aborted.\n at _createMessage (B:/~BUN/root/claude.exe:455:3157)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-24T06:47:13.334Z"},{"error":"Error: Request was aborted.\n at _createMessage (B:/~BUN/root/claude.exe:455:3157)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-24T06:47:46.428Z"},{"error":"Error\n at nh (B:/~BUN/root/claude.exe:58:1144)\n at <anonymous> (B:/~BUN/root/claude.exe:59:10093)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:861:50)\n at processTicksAndRejections (native:7:39)\n at request (B:/~BUN/root/claude.exe:61:2149)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-24T06:48:24.946Z"},{"error":"Error: Request was aborted.\n at makeRequest (B:/~BUN/root/claude.exe:798:3940)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-24T09:44:31.969Z"},{"error":"Error: Request was aborted.\n at _createMessage (B:/~BUN/root/claude.exe:455:3157)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-24T09:48:35.468Z"}]This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗