Cursor Plan Mode: Make the AI Show Its Work Before Touching Your Code

April 19, 2026 · Cursor Tips
Cursor Plan Mode: Make the AI Show Its Work Before Touching Your Code
Don’t just say “build it.” Make Cursor explain the design first.
Cursor Tip With real prompts

You ask Cursor to “build this feature,” and suddenly 5 files have changed in directions you never asked for. We’ve all been there. For a while I was basically living on the Revert button.

Since Cursor 3, the new Plan Mode has made this a lot less painful. Instead of writing code immediately, it shows you what it’s going to change and how, then waits for your OK. Today I’m laying out how I actually use it in real work.

📌 What’s in this post

1. What Plan Mode actually is, and how it differs from plain Composer

2. Three real prompts I use (refactor / new feature / bug fix)

3. When NOT to use Plan Mode


🎯 1. Why Plan Mode matters

Cursor’s Composer takes an instruction and edits multiple files at once. Powerful, but lossy. It rewrites code without explaining the design, so if you want to bail mid-flight you hit Revert — and by then you’ve already burned tokens.

Plan Mode wedges a planning step in between. The AI shows you something like this first:

1. Add new function refreshToken() to src/auth/session.ts

2. Modify src/middleware/auth.ts to call refreshToken() on 401 responses

3. Add 3 refresh cases to src/auth/session.test.ts

4. Add REFRESH_SECRET variable to .env.example

You read it, then Approve or tweak — and only then does code get written. The part people miss: at the Plan stage you can say things like “skip item 3” or “use this file instead of that one,” and you’ll land in the right spot way faster than letting Composer run and reverting later.


📝 2. Three real prompts

① Refactor — “break it up safely”

❌ Bad prompt

refactor this file

✅ Good prompt

I want to refactor src/services/order.ts. Show me the plan first.
- OrderService is 450 lines and mixes multiple responsibilities
- Tests must keep passing (src/services/order.test.ts)
- List the new file structure, function signature changes, and every caller affected
- Do NOT touch code until I say OK

The last line is the key. “Do not touch code until I say OK” gets the AI to lead with design even outside of Plan Mode.

② New feature — “map the blast radius first”

I want to add a "role" query-parameter filter to /api/users.
Before implementing, give me:
1. List of files to modify (router, controller, service, DTO, tests)
2. Existing code that will be affected
3. Any breaking changes you anticipate
4. Where new test cases should go
Show the list first. Wait for my OK before writing code.

Framed this way, the AI scans before it edits and tells you “this part is impacted” up front. More often than I expected, this is where I decide “actually, leave that file alone.”

③ Bug fix — “hypotheses before fixes”

After login, sessions sometimes drop after 5 seconds.
Logs: [paste logs]

Don't fix it yet. First:
1. List 3-5 possible root-cause hypotheses, ranked
2. For each, what to check (files, logs, repro steps)
3. Ask me to confirm the most likely one before touching code

No code changes until a hypothesis is confirmed.

This one matters a lot. Without Plan Mode on a bug fix, the AI will happily “fix” some random file it has decided is the cause. Forcing a hypothesis-then-verify step cuts down on wild goose chases a ton.


⚠️ 3. When NOT to use Plan Mode

1) Trivial changes — Renaming a variable, fixing a typo, a 1-2 line tweak. Plan Mode is overkill here. Just let Composer rip.

2) Exploration — When you’re prototyping “let’s see what this looks like,” planning every step slows the feedback loop.

3) Obvious answers — If the docs literally say “do it this way,” skip the plan and write the code.

My honest take: turn Plan Mode on when the blast radius is unclear. Always on, you crawl. Always off, you accumulate surprise diffs.


💡 Takeaways

✅ Plan Mode cuts Revert count when blast radius is large.

✅ Append “do not touch code until I OK it” to any prompt and most modes will act like Plan Mode.

✅ For trivial edits and exploration, turning it off is the right call.


💬 My take

The single biggest time-sink I had with AI coding tools was “unwinding a Composer run that went sideways.” Tokens spent for nothing, and then I have to mentally re-page-in the whole problem again.

Plan Mode isn’t a silver bullet. But when you’re not sure how far a change will reach, flipping it on dramatically lowers the odds of an accident. If you want to try it today, start with the refactor prompt — the difference is immediate.


❓ FAQ

Q. Which Cursor version has Plan Mode?
A. Cursor 3 introduced it formally alongside the Agents Window. On the latest version you can pick it from inside Composer.

Q. How do I tweak the plan once it’s shown?
A. Just reply in natural language — “drop item 3, and leave src/x.ts alone.” The checklist updates, then it asks before executing.

Q. Can I do something similar in models or chats that don’t have Plan Mode?
A. Yes. Put “show me only the plan first, no code until I OK it” in your prompt and most models will mimic Plan Mode. Not perfect, but surprisingly effective.


This post is based on the official Cursor changelog and community reviews. Specific UI details may shift between versions — check the latest docs alongside this.


This post is part of an English mirror of a Korean dev experiments blog. Cross-posted for the global developer audience.




Leave a Comment