[Bug] Korean IME input not displaying inline at cursor position

Resolved 💬 3 comments Opened Dec 24, 2025 by kindtomato Closed Dec 28, 2025

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:

  1. Launch Claude Code in Windows environment
  2. Start typing Korean characters using Windows IME
  3. 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"}]

View original on GitHub ↗

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