After a recent Cursor update, when editing Markdown in Source view: while composing Chinese pinyin (underlined composition), pressing Backspace to delete some pinyin letters also deletes already committed Chinese/text that was already in the document.
This does NOT happen in:
Markdown Preview editing surface
Cursor Chat input
Browser text fields
System apps (Notes, etc.)
So it is specific to the Monaco Source editor input path, not the IME app itself.
Steps to Reproduce
Open any .md file in Cursor.
Switch to Source view (not Preview).
Type and commit some Chinese text (e.g. 需要首先拟定).
Start a new pinyin composition (e.g. type lunwen without confirming).
Press Backspace several times to delete part of the pinyin.
Observe: committed document text before the caret is also deleted.
Expected Behavior
Backspace during IME composition should only modify the current composition string (pinyin), not previously committed document text.
Hey, thanks for the detailed report and the recording. That really helps.
To narrow down the cause, can you help with a couple of things?
Does the same thing happen in a non-markdown file, like a plain .txt or .py, or only in .md in Source mode? This is key since it will show whether it’s a Monaco issue in general or something markdown-specific.
What Cursor version were you on before the update when this started?
When you changed editor.editContext / editor.experimentalEditContextEnabled, did you fully restart Cursor after each change? These settings only apply after a restart, so it’s important to confirm the result with a restart between toggles.
I get that this is really disruptive when typing in Chinese. Reply with those three details and we’ll keep digging.
File type scope
I mainly hit this in Markdown Source mode (Preview is fine).
I also just checked non-markdown files:
.txt: [YES reproduces ]
.py: [YES reproduces ]
So it looks like a general Monaco/editor IME issue.
Version before the update
From local update logs:
Before: Cursor 3.17.21 (running through Aug 29)
Update prepared/applied early Aug 30 → Cursor 3.18.9
Current: 3.18.9 (VSCode 1.128.0, Electron 40.10.3, Chromium 144, macOS 26.4.1, Apple M3)
editContext restart method
Important correction: when toggling editor.editContext / editor.experimentalEditContextEnabled,
I used command+p for Cursor quit + relaunch.
Also still true from the original report:
Reproduces with Apple Pinyin and WeChat IME
Reproduces with Cursor --disable-extensions
Chat input / browser inputs are fine; Markdown Preview editing is fine
Thanks, these details really help. Since the issue happens in .txt, .py, and .md Source view, and with two different IMEs, that’s a good sign it’s in Monaco’s general editor input path, not something specific to Markdown or a particular IME. Also, you’ve got a clear window where it worked on 3.17.21 and broke on 3.18.9. This shouldn’t happen, and it’s definitely not something in your setup.
I’ve shared everything, including the details and the video, with the team. I can’t give an exact timeline yet, but I’ll reply in the thread as soon as there’s an update.
For now, if this is seriously blocking your work, a temporary workaround is to roll back to 3.17.21 where the issue didn’t happen. Let me know if you need a link to the previous version.