[BUG] Ctrl+J newline broken under Korean IME after v2.1.84 cursor tracking fix
Description
After updating to Claude Code v2.1.84, Ctrl+J no longer inserts a newline when the Korean (Hangul) IME is active. It still works correctly in English input mode.
This regression appears to be caused by the v2.1.84 change:
"Fixed native terminal cursor not tracking the text input caret, so IME composition (CJK input) now renders inline and screen readers can follow the input position."
Steps to Reproduce
- Open Claude Code in Warp terminal
- Switch macOS input source to Korean (한국어)
- Press
Ctrl+Jin the chat input - Expected: A newline is inserted
- Actual: Nothing happens
Switch back to English input → Ctrl+J works as expected.
Before v2.1.84
Ctrl+J inserted a newline in both Korean and English input modes without any custom keybinding configuration.
After v2.1.84
- English input:
Ctrl+J→ newline ✅ - Korean IME active:
Ctrl+J→ no response ❌
Workaround Attempted
Adding "ctrl+j": "chat:newline" to ~/.claude/keybindings.json restores newline in English mode only. Korean IME mode remains broken, suggesting the issue is in how key events are captured/dispatched when IME composition is active.
Root Cause Hypothesis
The v2.1.84 cursor tracking fix changed the key input processing path so that IME composition now renders inline. This likely moved key event handling from the terminal's native layer (where Ctrl+J = LF regardless of IME state) to Claude Code's internal keybinding system, which does not receive Ctrl+J when the Korean IME is active.
Environment
- Claude Code: 2.1.84
- Terminal: Warp 0.2026.03.18.08.24.03
- OS: macOS Sequoia 15.5 (24F74) x86_64
- Input Method: macOS built-in Korean IM
- Machine: iMac (Retina 5K, 27-inch, 2019), Intel Core i5-9600K
Related Issues
- #26075 — Add
chat:newlinekeybinding action - #22732 — Korean IME composition visibility
- #10547 — Ctrl+Backspace / Ctrl+Arrow with CJK input
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗