claude-code - 💡(How to fix) Fix [BUG] Ctrl+C (app:interrupt) does not work when macOS CJK IME is active [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#47173Fetched 2026-04-13 05:39:30
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Author
Timeline (top)
labeled ×4commented ×1

Error Message

Error Messages/Logs

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

When a CJK input method (Korean, Japanese, Chinese) is active on macOS, Ctrl+C is silently swallowed by the OS-level IME composition layer before it reaches the terminal. Zero bytes arrive at stdin. Since app:interrupt is hardcoded to Ctrl+C and cannot be rebound, there is no way to cancel a running operation without switching back to English first.

What Should Happen?

Ctrl+C should interrupt the running operation regardless of active input method, or an alternative interrupt key (e.g., Escape during a running operation) should be available.

Error Messages/Logs

Steps to Reproduce

  1. macOS with Korean IME (or any CJK input method) enabled
  2. Switch to Korean input mode
  3. Start Claude Code and trigger a long-running operation
  4. Press Ctrl+C — nothing happens
  5. Verified with raw stdin test: zero bytes arrive at process.stdin

Claude Model

None

Is this a regression?

No, this never worked

Last Working Version

No response

Claude Code Version

2.1.92 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Proposed fix: Make app:interrupt rebindable via keybindings.json, or treat Escape as interrupt when an operation is running (Escape is never consumed by IME, and chat:cancel is irrelevant while streaming). Affects all CJK input method users.

extent analysis

TL;DR

Make the app:interrupt keybinding rebindable via keybindings.json or treat Escape as an interrupt key when an operation is running to resolve the issue.

Guidance

  • Investigate modifying the keybindings.json file to rebind the app:interrupt key to a different combination that is not consumed by the IME composition layer.
  • Consider treating the Escape key as an interrupt key when an operation is running, as it is not consumed by the IME.
  • Test the proposed fix with different CJK input methods to ensure it resolves the issue across various scenarios.
  • Verify that the fix does not introduce any regressions or conflicts with existing keybindings.

Example

No explicit code example is provided, but the fix may involve adding a custom keybinding to keybindings.json, such as { "key": "escape", "command": "app:interrupt" }, to override the default Ctrl+C binding.

Notes

The proposed fix assumes that modifying the keybindings.json file or treating Escape as an interrupt key will resolve the issue. However, further testing and verification are necessary to ensure the fix works as expected.

Recommendation

Apply the workaround by making the app:interrupt keybinding rebindable via keybindings.json or treating Escape as an interrupt key, as this approach allows for a flexible solution that can be tailored to individual user needs.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Ctrl+C (app:interrupt) does not work when macOS CJK IME is active [1 comments, 2 participants]