Cursor repeatedly forces macOS input source to English during AI code generation on macOS

Describe the Bug

Summary

Cursor repeatedly causes the macOS input source to switch from Chinese Pinyin to ABC (English) while AI is generating or modifying code.

This happens even when I am actively typing Chinese. The input source is forcibly switched to English, interrupting my typing and making it extremely frustrating to use Cursor for everyday development.

This is not a normal IME composition issue. The actual macOS input source is being changed.

Steps to Reproduce

Environment

  • OS: macOS
  • Editor: Cursor
  • Input Method: Baidu Pinyin (百度输入法)
  • macOS automatic input source switching: Disabled
  • Input source switching between documents: Disabled

Steps to Reproduce

  1. Open Cursor on macOS.
  2. Switch to Baidu Pinyin (Chinese input mode).
  3. Start an AI code generation task (Composer / Agent).
  4. While AI is generating code, continue typing Chinese in the editor.
  5. Observe the macOS input source indicator.

Actual Behavior

  • The macOS input source is forcibly switched from Chinese Pinyin to ABC.
  • This happens while AI is actively generating or modifying code.
  • The input source can switch repeatedly during a single generation task.
  • My Chinese input is interrupted, and I have to manually switch back to Chinese.
  • The issue does not normally occur when AI is idle.

I have attached a screenshot showing input source switching events recorded by a third-party input source monitoring/locking utility.

The logs show repeated switching events associated with Cursor, including multiple events within the same second.

Expected Behavior

AI code generation and editor document modifications should never change the user’s active macOS input source.

The user’s selected input method and Chinese/English input state should remain untouched while AI is generating code in the background or modifying editor content.

Troubleshooting Already Performed

  • Disabled macOS automatic input source switching.
  • Confirmed that Chinese input works normally when Cursor is not generating code.
  • Observed that the issue is strongly correlated with AI generation activity.
  • Installed a third-party utility to forcibly lock and restore the input source as a workaround.

The workaround prevents the input source from remaining in English, but it does not solve the underlying issue. It is unreasonable to require users to install additional software just to keep their input method working correctly.

Why This Matters

This is a significant usability issue for developers who use Chinese, Japanese, Korean, or other non-English input methods.

AI-assisted coding is supposed to improve productivity. However, forcibly changing the system input source while users are typing creates constant interruptions and makes the editing experience unreliable.

Please investigate whether Cursor’s AI editing, autocomplete, editor focus management, or Electron/Chromium integration is triggering unintended macOS input source changes.

The editor should never take control of the user’s system input method during AI code generation.

Operating System

MacOS

Version Information

Version 3.24.12

Does this stop you from using Cursor

No - Cursor works, but with this issue

beginner here but this hits hard for CJK users ㅠㅠ
if the editor flips the system input source during AI gen, Hangul/CJK typing gets wrecked mid-flow…
team investigating this would be huge imo — keeping the user’s IME untouched during gen feels like the right fix, no?

Hey @CrazyWeeds,
Could you check whether an extension is causing it? Open the Command Palette (Cmd+Shift+P), run Developer: Reload with Extensions Disabled, then start an agent task and type Chinese as before. Some extensions can switch input methods on their own, like Vim-mode input method switching or Chinese/English auto-switchers. If the switching stops, Extension conflicts shows how to find which one. Restarting Cursor turns your extensions back on.

If it still happens, please re-attach the screenshot from your monitoring tool (it didn’t come through) and paste your version info from Cursor > About Cursor > Copy.