Ctrl+C (SIGINT) does not work with Apple Korean IME in Claude Code on iTerm2/Ghostty`
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 on macOS with the Apple Korean IME enabled, Ctrl+C does not send SIGINT while the Korean input source is active.
The issue only occurs inside the Claude Code TUI.
- With the Korean input source selected, pressing
Ctrl+Chas no effect. - After switching the input source back to English,
Ctrl+Cimmediately works again. - Outside of Claude Code (regular shell),
Ctrl+Cworks normally.
I initially suspected Herdr because I normally run Claude Code inside it, but I reproduced the exact same issue without Herdr.
---
What Should Happen?
Show Press Ctrl-C again to exit.
---
Error Messages/Logs
No error messages are displayed.
---
Steps to Reproduce
- Use macOS with the Apple Korean IME enabled.
- Launch Claude Code.
- Switch the current input source to Korean.
- Start any long-running operation (or simply wait at the Claude prompt).
- Press
Ctrl+C.
Actual
Nothing happens.
Switch the input source back to English and press Ctrl+C again.
Result
Ctrl+C immediately works and sends SIGINT.
Additional observations:
- Terminal.app: Cannot reproduce.
- iTerm2: Reproducible.
- Ghostty: Reproducible.
- Herdr: Not related. The issue also occurs when Claude Code is launched directly.
---
Claude Model
Sonnet (default)
---
Is this a regression?
I don't know
---
Last Working Version
N/A
---
Claude Code Version
2.1.220
---
Platform
Anthropic API
---
Operating System
macOS
---
Terminal/Shell
Other
(Tested with both iTerm2 and Ghostty. Terminal.app does not reproduce the issue.)
---
Additional Information
While debugging, I found an interesting difference in iTerm2.
If the following option is enabled (default):
Settings
→ Profiles
→ Keys
→ Applications can change how keys are reported = true
the issue is reproducible.
If I disable this option:
Applications can change how keys are reported = false
the issue disappears completely.
However, Ghostty exhibits the same behavior without such a setting, which suggests the issue may be related to Claude Code's interaction with modern terminal keyboard protocols (Kitty Keyboard Protocol or similar) when the Apple Korean IME is active.
This issue appears to require all of the following:
- Apple Korean IME
- Claude Code
- A terminal supporting modern keyboard protocols (e.g. iTerm2 or Ghostty)
Terminal.app works correctly under the same environment.