First Impressions of Windsurf Planning Mode

- It uses o3 from OpenAI (which by the way now is 80% less expensive)
- Plans are created from your conversations with the model about what you want to work on
- Plans get updated while you and the AI work
- It doesn't cost anything extra to use it (as long as you are on a paid subscriber plan)
First Impression - Banger! 🧨
It's a beautiful, seamless, effortless experience, and has greatly enhanced my development experience.
This was my first time using o3. My default model to code with is Google's Gemini 2.5 Pro. That model is excellent. Very intelligent and consistent with tool calling.
o3 hit differently for me yesterday. There were times when I felt like it was anticipating my future needs, which made my dev session feel effortless.
How to Use Planning Mode
Turn it on in your chat with Cascade (Windsurf's agentic AI).
Next, you simply discuss what you want to work on.
My AI Onboarding System had a markdown file where I defined Collaboration Modes which controlled the AI behavior, including when to write or not write code.
One of those modes was Architecture and Design. In this mode, the AI was instructed not to write and edit files, but plan with me how to architect and implement features.
When I turned on Planning Mode, I disabled all of my Collaboration Modes to see what it can do on its own. Planning Mode appears to make that Collaboration Mode obsolete. Not needed anymore. Which is awesome! One less toggle I need to worry about.
As I said Planning Mode is seamless. I never once had to say, "update the plan". It knew exactly when to do it and did it throughout the dev session.
Here are some tips on how to use Planning Mode.
Always have the plan.md file open
It's really helpful to see the the plan file being updated as you work. It's used to keep the AI on track, but it also does the same for me. At one point it helped me decide if I wanted to fix a bug or work on the next task.
Use Planning Mode as the Default Mode
Turn it on, and keep it on. I saw no reason to turn it off. I believe you must be a paying subscriber to use it, but aside from that, it costs nothing to use.
During my dev session it was very cool, and comforting to see it update the plan at exactly the right moments, i.e. not only checking off work completed, but adding new tasks in the middle of the plan as bugs came up, or I wanted to tweak something.
Work in on Small Plans
Given how powerful o3 reasoning is, you might be tempted to make long-term plans. However, I think working in software development calls for a different approach.
In this new age of agentic AI coding, vibecoding, whatever you call it, it requires we fail fast, iterate rapidly, and adjust plans accordingly to new information.
IMO, it makes more sense to make smaller plans. For example, yesterday I spent 8 hours using the new Wave 10 working on a brand new app idea I'm calling RecipeWreck. I'll be sharing more about that in another post.
I could have spent time developing a long list of features, really building out a full vision for what the app could be. I have no doubt Planning Mode is capable of handling that. The problem is I know the plans would change (and this system appears capable of handling that), perhaps drastically, or I might cancel the project if I learn it's not worth my time. That ends up being wasted time, cognitive energy, AI tokens, and $$$.
Instead, I developed a plan to prototype the core idea and get to a MVP, not to launch, but to evaluate if the idea had potential. Within the 8 hours I used Planning Mode I was able to accomplish that. Now I'm ready to create a new plan for my next phase of development.
Here's how I see plans working in this new age of shipping software fast.
- Prototype high-level concepts
- Initial MVP
- Individual Features as Sprints or whatever timebox works for you and your team
- Bug fixes, stability, polish
Each one of these would be its own succinct plan. You are the one in control of the long-term vision plans which gets updated as you develop your app from concept to one with regular daily active users.
Use GitHub MCP Integration
I'll have to make this into a separate post, but how I've integrated GitHub is a banger. During my dev session yesterday it was committing work on its own and making suggestions for how to improve my GitHub workflows. It was a little bumpy at times but that's down to me being new to using GitHub feature branches.
By the end of my workday, letting the AI take total control of making commits, doing PRs, merges to the remote repository, and then running the terminal commands to clean things up locally was a much better devex (developer experience).
I only recently started having AI write GitHub Issues, which became essentially plans for what to work on. But now that Planning Mode exists, I'll have to reconsider where I want the plans to live and which is the single source of truth. I'm thinking it's possible to have plans originate in Winsurf plan.md files and have the AI automagically save them to remote GitHub repos.
As I refine my workflow, I can see this becoming more like a background process I forget is even happening.
More to Come
I'll end here, and let you know that today and tomorrow Windsurf has more feature releases. As big as Planning Mode is, there's more to come! I'm very bullish on Windsurf and am excited to see what they have in store. I recommend reading their post about Planning Mode. It was a fascinating read.