Plans are not versioned

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When planning changes, I find it extremely frustrating that Cursor does not version plans. This makes it difficult to deal with seeing what changed whenever a Cursor agent updates a plan. It also is extremely frustrating when Cursor removes something important because it took something the user asked for too far. The user has to tell Cursor to redo work it already did, and pay accordingly, because the user cannot revert changes.

Steps to Reproduce

Use planning mode, tell Cursor to do stuff. In my particular use case I asked Cursor to remove code in the plan that already existed in source files. Cursor removed that code but also removed code for which no source files existed and I had to ask Cursor to regenerate something that it already produced but then removed.

Expected Behavior

  1. I did not expect Cursor to remove code for which source files did not exist.
  2. I did not expect Cursor to not be able to revert the plan to the older version that existed with the code it generated and added to the plan.
  3. I expected Cursor to remove only code for which referenced source files actually existed.
  4. I expected Cursor to show me what changed from the prior plan to the current one exactly as it already does for source files under version control even when those source files have uncommitted changes.

Operating System

MacOS

Version Information

Version: 2.4.31 (Universal)
VSCode Version: 1.105.1
Commit: 3578107fdf149b00059ddad37048220e41681000
Date: 2026-02-08T07:42:24.999Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Darwin arm64 25.2.0

For AI issues: which model did you use?

claude-4.5-opus-high

For AI issues: add Request ID with privacy disabled

f08c0ff7-e3b4-4cee-b368-a092337c98db

Does this stop you from using Cursor

No - Cursor works, but with this issue

after plan is created for the first time, save it to workspace, there is a button, assuming you are using git in the project add .cursor/plans to not be ignored by git and you got history. or use timeline feature directly in vscode/cursor
or always ask agent to make a new plan from the old one

Hey, thanks for the report. This is more of a feature request than a bug. Plan versioning (diffs, rollback) isn’t implemented yet.

For now, you can use a couple of workarounds:

  1. Track it in Git: after you create a plan, save it to your workspace (there’s a button for that). Then make sure .cursor/plans isn’t in your .gitignore. This way you’ll get full Git history for your plans.
  2. Timeline: use the built-in Timeline panel (at the bottom of the Explorer sidebar) to view local file history for your plan files, even without commits.

About the case where the agent deletes plan items it shouldn’t: that’s more about LLM behavior. When you ask it to remove items from a plan, try to be more specific, like: “remove only the items where the source files already exist in the project.”

I’ll pass the plan versioning request to the team.

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.