Plan files stay with an active Build button after work is already shipped

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Plan Mode leaves completed / already-shipped plans with an active Build button forever.

Today I reopened three plan files under ~/.cursor/plans/ that are fully implemented in my codebase (Don’t Know category feedback, swipe queue algorithm redesign, and image compression defaults). Each still shows an active Build control as if the work had never been done.

I currently have ~148 .plan.md files accumulated locally. Because Build stays clickable, it is easy to accidentally re-run Build on work that already shipped, which risks duplicate or conflicting changes.

Related prior report (now closed; replies disabled): Plan mode "Build" button doesn't update to "Built" after implementation
Staff there said Built status only tracks the session started by clicking Build. That still leaves a durable UX bug: plans with finished work remain Buildable indefinitely, with no archive/complete action in the UI.

Steps to Reproduce

  1. Create a plan in Plan mode (saved under ~/.cursor/plans/*.plan.md).
  2. Implement the plan later in Agent mode / another chat (common workflow), or complete the work such that the original Build session link is gone.
  3. Reopen the plan file / Plans UI days or weeks later.
  4. Observe that Build is still active even though the planned changes are already in the repo.

Expected Behavior

Once planned work is done (or after Build completes), the plan should show Built / completed, disable or remove Build, and ideally support archiving so ~/.cursor/plans/ does not grow unbounded with always-runnable plans.

Operating System

MacOS

Version Information

Version: 3.12.17 (Universal)
Commit: 0fb762053c34788bb7760d5673f8a6d4c8589d50
Build Type: Stable
OS: Darwin arm64 24.5.0 (macOS 15.5)

For AI issues: which model did you use?

N/A (Plan Mode UI / product bug, not a specific model failure)

Additional Information

Also related feature request for archive / disable Build on superseded plans: Plan Mode: warn on duplicate plans, disable Build for superseded plans, and support archiving completed plans

Filing a new bug because the April report is closed and this is still reproducible on Cursor 3.12.17, with the additional harm of plan pile-up (~148 plans) and accidental re-Build risk.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Quick clarification on the Build button: the “Built” state only tracks plans you run by clicking Build on the plan itself. When you implement a plan in Agent mode or a separate chat (as happened here), Cursor never links that work back to the plan, so it stays “Buildable” indefinitely. That’s the current expected behavior rather than a per-plan bug, and it’s exactly why re-clicking Build risks re-running already-shipped work.

For now, the reliable way to clear finished or superseded plans is to delete the .plan.md files under ~/.cursor/plans/. That only removes the saved plan note; your shipped code is untouched. There’s no in-UI archive/complete action yet.

The rest of what you’re describing, auto-detecting completion, disabling Build on superseded plans, and a first-class archive so ~/.cursor/plans/ doesn’t grow unbounded, is something we’re already tracking as a feature request. Your report is a strong addition to that signal here: Plan Mode: warn on duplicate plans, disable Build for superseded plans, and support archiving completed plans. Worth adding your voice there so it stays visible to the team.

More on how Plan Mode works: Plan Mode docs.