Unable to create a plan - tool call failed

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

The literal error every time:
Error: Must provide either a ‘plan’ or both ‘old_str’ and ‘new_str’ for plan updates

The phrasing “for plan updates” is the giveaway — the tool thinks I’m trying to UPDATE an existing plan, not create a new one. But there’s no Pass 8 plan file (I confirmed via dir). Either:

  1. The tool has stale state from a half-failed earlier attempt that “claimed” the Pass 8 name internally without writing the file.
  2. The tool’s parameter validation is stricter than its schema suggests — maybe todos field requires a specific shape, or maybe the very long plan body is being silently truncated in some XML/JSON layer.
  3. There’s an undocumented requirement for old_str/new_str even on first creation under certain conditions.

I’ve now tried:

  • With todos parameter (failed)
  • Without todos parameter (failed)
  • Long plan body with mermaid + code blocks (failed)
  • Short plan body, no embedded fences (failed)
  • Two different name values (failed)

Same error every time. The tool itself appears broken in this session.

Workaround options:

  1. Skip the formal plan file, just use TodoWrite + execute. All the design intent for Pass 8 is in the conversation already (multiple times). The CreatePlan ceremony isn’t strictly required to ship the work — it’s a presentation tool. The TodoWrite list captures the task breakdown, and the conversation thread captures the design rationale.

  2. Write the plan as a regular file in the workspace, e.g. f:\myproject\.cursor\rules\to-do-lists\Pass8_Workers.mdc (matches the existing project convention for tracked plans). This would persist the design context in the workspace where future conversations can find it.

Steps to Reproduce

In plan mode try and create a new plan, in a thread that has created many plans already without a problem

Expected Behavior

plan files is created and written to

Operating System

Windows 10/11

Version Information

Version: 3.1.15 (user setup)
VSCode Version: 1.105.1
Commit: 3a67af7b780e0bfc8d32aefa96b8ff1cb8817f80
Date: 2026-04-15T01:46:06.515Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200

For AI issues: which model did you use?

  • OPUS-4.7, GPT-5.4

Additional Information

request ID: cf83a849-8dbd-4b9f-ad19-6b25f18f93ff

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @FinDevAI

Thanks a lot for the report. We’re aware of some other reports of Opus 4.7 not using the Plan tool correctly (sometimes not at all, sometimes without arguments). I’ve attached your report to that open ticket, and the workarounds that you’ve identified are appropriate for now.

Could you confirm that you’ve faced this exact same issue on GPT 5.4? That’s something we don’t have other reports of right now, and it would be surprising given that GPT 5.4 has been out for a while!

I may be wrong about GPT-5.4 having the same problem. I can’t confirm.

One thing I can confirm is both threads in question were extremely long running, the GPT-5.4 was two days old or older, and the OPUS-4.7 thread had just hit the 12k lines of code generated from scratch mark in a day and had successfully created and executed at least 12 plans, maybe more.

I have been using planning a lot, for big code conversions to Rust, with extensive debugging using telemetry and Psql, a lot of activity thru both threads but in a surprisingly efficient manner with superb results.

I just would love the current OPUS-4.7 thread to live a bit longer in the planning department

Okay the GPT-5.4 planning bug is different but also a problem

Plan File Failure Description

Summary

CreatePlan successfully created a plan file and returned a valid absolute path, but later Cursor reported the file did not exist or could not be opened, even though the file was still present on disk and readable by the agent tools.

Affected file

C:\Users\findevai\.cursor\plans\first_tranche_0c345a9f.plan.md

What happened

  1. A plan was created successfully through Cursor plan flow.
  2. The returned path was:
    C:\Users\findevai\.cursor\plans\first_tranche_0c345a9f.plan.md
  3. The plan was later referenced again in chat and by path.
  4. When trying to open it from the IDE/UI, Cursor indicated that the file did not exist.
  5. However, a filesystem search confirmed the file still exists at that exact path.
  6. The file was not moved into the workspace-local plans folder:
    F:\findevai\.cursor\plans
    That folder had no copy of the plan.

Observed behavior

  • Cursor plan creation returned a path in the global Cursor plans directory:
    C:\Users\findevai\.cursor\plans\...
  • Later, opening that same path from the IDE failed with a “does not exist” style outcome.
  • Agent-side file discovery still found the file at the original absolute path.
  • This created a mismatch between:
    • Cursor’s file-opening behavior
    • actual file existence on disk

Expected behavior

One of these should happen consistently:

  1. Cursor should open the plan successfully from the exact returned absolute path, or
  2. Cursor should transparently move/copy the plan into the workspace-local .cursor\plans directory and keep references updated, or
  3. Cursor should clearly indicate that the file was relocated and show the new path

Instead, the current behavior makes it look like the plan vanished when it did not.

Why this is a real bug

This is not just user confusion about the path:

  • The plan file was still present on disk
  • It was found by direct filesystem search
  • The failure was specifically in Cursor’s ability to resolve/open/reference the plan file reliably

Reproduction pattern

This seems reproducible with plan files created outside the workspace in:
C:\Users\findevai\.cursor\plans

Likely reproduction flow:

  1. Create a plan using Cursor plan mode / CreatePlan
  2. Receive a path under:
    C:\Users\findevai\.cursor\plans\...
  3. Continue working for a while
  4. Later try to reopen the same plan from chat/path/reference
  5. Cursor claims the file does not exist or fails to open it
  6. File still exists on disk if checked directly

Important environmental detail

Workspace:
F:\myproject

The key mismatch is between:

  • global Cursor plans directory:
    C:\Users\findevai\.cursor\plans
  • workspace-local plans directory:
    F:\myproject\.cursor\plans

The problematic plan existed only in the global directory, not the workspace-local one.

Likely root cause

This looks like a path resolution / plan-location tracking bug, where Cursor:

  • creates the file in the global plans location
  • later tries to resolve it differently
  • or expects it under workspace-local .cursor\plans
  • or loses the association between the plan URI/path and the actual file on disk

User impact

  • Makes plans appear lost even when they still exist
  • Breaks confidence in plan-mode workflow
  • Makes it hard to reopen or continue plan-driven work
  • Encourages duplicate/recreated plans because the original appears missing

Useful diagnostic fact

A direct search still found:
C:\Users\findevai\.cursor\plans\first_tranche_0c345a9f.plan.md

and no corresponding file existed under:
F:\myproject\.cursor\plans

Short version

Cursor created the plan successfully, but later could not reopen it even though the file still existed at the exact path originally returned. This appears to be a plan path resolution/tracking bug involving the global Cursor plans directory versus the workspace-local .cursor\plans directory.

@Colin I went this morning to discover if the OPUS-4.7 plan bug is resolved by shutting down cursor and starting up the next day I can confirm that does not circumvent the planning bug. Still cannot create a plan. that thread is now retired.

In discovering this I also trigged an Anthropic full cache re-seed on that thread I ran ALL DAY yesterday

In confirming this planning failure bug still exists on that thread, with one prompt, this morning it just cost me $76.00 USD and for a Canadian that is about 100 bucks - any chance can i get a credit on my account for that ?

This was Work around number 3 now deleted, as it’s a proven failure and unnecessary expense

@Colin I have discovered the root cause I believe for Opus-4.7 plan mode failures - yesterday I had another plan failure by Opus-4.7 when switching from Agent mode to plan mode on the 2nd prompt of a new thread. Today I started a new thread in Plan mode for the first prompt and I successfully created a plan using Opus-4.7

The planning failures occur when I decide to be switching from agent mode to plan mode mid thread. Starting in plan mode from the beginning works.

PS I am having trouble modifying the tags you reccommended for this thread. Unable to figure out how to add tags to a existing post

Otherwise everything is cool and much appreciate that test cost from yesterday has vanished from the detail lines in my usage.