[BUG] Korean input duplicates last character in Claude Code for VS Code 2.0.2
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 typing Korean text in Claude Code VS Code Extension, the very last character of the entire input is duplicated and sent as a separate line, causing unintended command execution.
For example, when I type a multi-line Korean prompt ending with "구체적인 대안은 제시하지 말것", it gets sent as:
- Original message: [full message ending with "...제시하지 말것"]
- Additional line: "것" (the last character duplicated)
This causes Claude to interpret the single duplicated character as a command to execute rather than staying in plan mode, resulting in "Tool interrupted" errors.
<img width="673" height="290" alt="Image" src="https://github.com/user-attachments/assets/a374a1f9-8e5b-416c-9ad1-c32e926e6c0a" />
What Should Happen?
Korean input should be sent exactly as typed without any character duplication.
The last character "것" should not be sent as a separate line.
Error Messages/Logs
Tool interrupted
Stayed in plan mode
The duplicated character "것" appears as a separate input after the main prompt.
Steps to Reproduce
- Open any project in VS Code with Claude Code Extension (v2.0.2) installed
- Open Claude Code panel/chat
- Type a Korean prompt with multiple lines, for example:
"다음 사항에 대해서 검토 후 의견을 알려줘
- 엔드포인트를 몇개 선별해서 우선 적용 후 확장
- 엔드포인트 DTO 별로 수정할 방법이 최선인지? 대안이 복잡하고 리스크가 크면 구체적인 대안은 제시하지 말것"
- Press Enter to submit the prompt
- Observe that the last character "것" is sent again as a separate line
Expected: The entire Korean text should be sent as one complete message
Actual: The last character "것" is duplicated and sent as an additional input, causing "Tool interrupted" error
Note:
- This bug ONLY happens with Korean input (Hangul characters)
- English input works normally
- The bug occurs consistently with any Korean text, regardless of content
- Tested on macOS Tahoe 26.0.1 with default Korean IME
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
1.x (last version of 1.x series worked correctly with Korean input)
Claude Code Version
2.0.2 (VS Code Extension)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Note: The Claude Code VS Code Extension underwent a major UI change from v1.x to v2.x.
- Version 1.x used a terminal-based interface within VS Code
- Version 2.0.2 introduced a new app-like UI with a dedicated panel/chat interface
In v1.x, there was a different Korean input issue where characters appeared delayed (likely a terminal system limitation), but that's completely different from this character duplication bug in v2.0.2.
The current bug (last character duplication) is specific to the new v2.0.2 UI implementation. Due to the architectural change, these are fundamentally different issues - the v1.x delay was terminal-related, while this v2.0.2 duplication appears to be related to the new input handling mechanism in the redesigned interface.
This suggests the new UI's Korean IME composition event handling needs to be fixed.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗