Rollback doesn’t restore previous chat state and files remain in Git Changes

I’m not sure if this happens to anyone else, but quite often in Cursor the rollback doesn’t properly restore the previous chat state.

In particular, I’ve noticed that modified files sometimes remain under Changes in Git tracking even after performing a rollback.

Has anyone else experienced the same issue? If so, have you found a solution or workaround?

System info:

  • CPU: Apple M2

  • RAM: 8 GB

  • OS: macOS 26.5.1 (25F80)

  • Cursor: 3.19.7

  • VS Code / Electron base: v24.18.1

Hi there!

We detected that this may be a bug report, so we’ve moved your post to the Bug Reports category.

To help us investigate and fix this faster, could you edit your original post to include the details from the template below?

Bug Report Template - Click to expand

Where does the bug appear (feature/product)?

  • Editor, Tab & Chat (autocomplete, Composer, in-editor agent)
  • Terminal & commands
  • Models, pricing & API keys (availability, Auto/Max, BYOK/Bedrock)
  • MCP & tools
  • Cloud Agents & Automations (cursor.com/agents, scheduled/event)
  • BugBot & Code Review
  • Cursor CLI
  • Cursor Mobile
  • Remote (SSH / Dev Containers / WSL)
  • Account, billing & login
  • Something else…

Describe the Bug
A clear and concise description of what the bug is.


Steps to Reproduce
How can you reproduce this bug? We have a much better chance at fixing issues if we can reproduce them!

  1. …
  2. …
  3. …

Expected Behavior
What is meant to happen here that isn’t working correctly?


Screenshots / Screen Recordings
If applicable, attach images or videos (.jpg, .png, .gif, .mp4, .mov)


Operating System

  • Windows 10/11
  • MacOS
  • Linux

Version Information

  • For Cursor IDE: Menu → About Cursor → Copy
  • For Cursor CLI: Run agent about in your terminal
IDE:
Version: 2.xx.x
VSCode Version: 1.105.1
Commit: ......

CLI:
CLI Version 2026.01.17-d239e66

For AI issues: which model did you use?
Model name (e.g., Sonnet 4, Tab…)


For AI issues: add Request ID with privacy disabled
Request ID: f9a7046a-279b-47e5-ab48-6e8dc12daba1
For Background Agent issues, also post the ID: bc-…


Additional Information
Add any other context about the problem here.


Does this stop you from using Cursor?

  • Yes - Cursor is unusable
  • Sometimes - I can sometimes use Cursor
  • No - Cursor works, but with this issue

The more details you provide, the easier it is for us to reproduce and fix the issue. Thanks!

Where does the bug appear (feature/product)?

  • Editor, Tab & Chat (autocomplete, Composer, in-editor agent)

Describe the Bug

The rollback feature does not always restore the workspace to the previous chat state.

After performing a rollback, some files that were modified by Cursor remain listed under Git Changes, even though I would expect the rollback to revert those changes as well.

This happens intermittently, but often enough to make the rollback behavior unreliable.


Steps to Reproduce

  1. Open a project tracked with Git.

  2. Start a chat/agent session in Cursor.

  3. Let Cursor modify one or more files.

  4. Perform a rollback to a previous point in the chat.

  5. Check the Git source control panel.

  6. Some modified files may still remain under Changes instead of being restored to their previous state.


Expected Behavior

When performing a rollback, I expect both the chat state and all file changes associated with that point in the conversation to be restored consistently.

Files modified after the selected rollback point should no longer appear as modified in Git if those changes were introduced by Cursor during the reverted steps.


Screenshots / Screen Recordings

I can provide a screen recording if needed.


Operating System

  • MacOS

Version Information

IDE: Cursor 3.19.7
CPU: Apple M2
RAM: 8 GB
OS: macOS 26.5.1 (25F80)
VS Code / Electron Base: v24.18.1


For AI issues: which model did you use?

The issue does not appear to be specific to a particular model.


For AI issues: add Request ID with privacy disabled

Request ID: Not available


Additional Information

The issue seems to affect the synchronization between the chat rollback state and the actual file state in the workspace.

The chat appears to roll back, but the corresponding filesystem changes are sometimes not fully reverted, leaving files marked as modified in Git.


Does this stop you from using Cursor?

  • Sometimes - I can sometimes use Cursor

Same, for me using latest version of cursor broke revert entirely, I went back to 3.14 and it works fine.

Hey @AcidDiz,

A restore only reverts files the agent edited with its own edit tools. Anything a terminal command, a subagent, or you changed by hand stays under Changes, and .ipynb files aren’t restored. It reverts files only, not the chat, which is why the earlier message just becomes editable. (Checkpoints docs.)

If files the agent itself edited are staying behind, next time it happens grab this before anything else: Help → Toggle Developer Tools → Console, click Restore Checkpoint, filter for [composer], and paste the lines plus the file names that stayed. No original file state found or an error line tells us exactly what happened.

Reliable fallback meanwhile: commit before an agent session. To clear leftovers, git checkout -- <file> or git stash discards them — those throw away the uncommitted changes, so check the file list first.