Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Hi Cursor Support,
I’m experiencing inconsistent Keep/Undo behavior in Cursor 3.20.17 (Universal) on macOS.
In the same project and chat:
- Adding a test comment to App.js shows Keep/Undo above the chat input and marks the change as pending in Review.
- Adding the same test comment to src/views/DocumentViewer/DocumentViewer.js applies the change, but Keep/Undo is missing above the chat input and in Review.
- When I open DocumentViewer.js directly in the code editor, Keep/Undo controls are visible beside individual change blocks.
The controls also work normally in a newly opened folder.
I have tried toggling Inline Diffs off and on, restarting Cursor, and moving the affected project’s workspaceStorage folder to a backup location. The workspace reset appeared to help temporarily, but the issue returned.
This makes it difficult to reliably review and undo changes from individual agent requests.
Is this a known issue in 3.20.17? Is there a supported fix or a setting that explains the different behavior between files?
I can provide screenshots and the affected request ID.
Best regards,
Thor Steinicke
Steps to Reproduce
In my affected project, using Cursor 3.20.17 on macOS:
- Open an Agent chat.
- Ask the agent to add only a test comment at the top of App.js.
- Keep/Undo buttons appear above the chat input and in Review.
- Undo that test change.
- In the same chat, ask the agent to add only a test comment at the top of src/views/DocumentViewer/DocumentViewer.js.
- The change appears in the file and the chat, but Keep/Undo buttons are missing above the chat input and in Review.
- Open DocumentViewer.js directly in the code editor. Keep/Undo controls are visible beside individual change blocks.
I can reproduce this difference in my existing project, but I have not reproduced it in a fresh folder.
Expected Behavior
After the agent edits a file, Keep/Undo controls should consistently appear above the chat input and in Review, as they do for App.js.
The same behavior should apply to DocumentViewer.js. I should be able to review, keep, or undo pending agent changes without having to locate individual change blocks in the code editor.
Operating System
MacOS
Version Information
3.20.17 (Universal)
For AI issues: which model did you use?
cursor grok 4.6
For AI issues: add Request ID with privacy disabled
9fce9d0a-a291-40bd-bc7b-85b08c2b00bd
Additional Information
Troubleshooting already attempted:
- Toggled Inline Diffs off and on.
- Disabled Auto Save.
- Restarted Cursor.
- Backed up and removed only the affected project’s workspaceStorage subfolder, then reopened the project.
The workspace reset appeared to help temporarily, but did not resolve the issue consistently.
Further testing showed that even a one-line comment behaves differently between App.js and DocumentViewer.js in the same Agent chat. Keep/Undo works for App.js, while DocumentViewer.js only shows these controls inside the code editor.
I have not reproduced the issue in a fresh folder. I would appreciate a fix that preserves my project files and chat history.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor