What do you like best about WindSurf AI IDE?
Cascade is the center of gravity here, and it is the feature that moved Windsurf from something I was evaluating to something I open every morning. It is not autocomplete with a chat window bolted on. I describe a feature, adding an authenticated endpoint to an Express service for example, and Cascade plans the change across the route file, the middleware, the model, and the environment config, then walks through the edits in steps I can review before anything lands. That pacing is the part I did not expect to care about. Other agents I have used sprint through a refactor and leave me to discover the damage afterward. Cascade pauses at sensible points, shows me the diff, and waits. On a codebase I am responsible for, that difference decides whether I let the agent touch anything beyond a single file.
The codebase awareness underneath it is what makes those multi-file edits actually correct. Cascade reads the repository, follows import chains, and knows that renaming a function in one service means three call sites elsewhere need to move too. I tested this early on with a deliberately messy refactor in a client project, splitting a bloated utility module into three focused ones, and it caught every consumer, including one in a test file I had forgotten existed. It misses things occasionally on very large repos, but the hit rate is high enough that I stopped doing the manual grep pass first.
Memories deserves its own paragraph because it is the feature that compounds. Tell Cascade once that a project uses the repository pattern with dependency injection, or that API responses follow a specific envelope shape, and it remembers across sessions. After a couple of days on a project the suggestions stop fighting my conventions and start extending them. I used to keep a conventions document open in a side pane purely so I could paste chunks of it into every AI conversation. That document still exists, but I have not opened it in weeks.
Tab autocomplete is the quiet workhorse. It is fast, it is context aware, and it does not consume quota, so I never hesitate to lean on it for the routine typing between the bigger agentic tasks. Nothing dramatic to report, it simply works, which is exactly what inline completion should do.
Model flexibility matters more in practice than I assumed it would. Inside one editor I switch between the frontier models and Windsurf's own SWE line depending on the task:
- A frontier model for gnarly architectural questions or unfamiliar territory
- The in-house SWE model for routine implementation work, where its speed is genuinely startling and the quota cost is minimal or zero
- A cheaper option for boilerplate and test scaffolding where reasoning depth is wasted
Being able to route work by difficulty rather than paying frontier prices for everything changed how far my monthly allowance stretches. It also means I evaluate new models the day they appear in the picker instead of juggling separate subscriptions.
Previews closed a context switch I had stopped noticing. Editing a web frontend used to mean editor, browser, dev tools, back to editor, on a loop. With the live preview inside the IDE I click an element on the rendered page and Cascade knows which component I mean, so "make this card's padding match the others" is a one-line instruction rather than a hunt through the component tree. For frontend polish work it has become my default way of communicating with the agent.
The natural language terminal and MCP support round out the toolset. Asking for "the git command that undoes the last commit but keeps the changes staged" and getting the right incantation without a search tab is a small daily saving that adds up. MCP lets Cascade reach outside the editor, pulling from a database or a docs source mid-task, which turns some formerly manual research steps into part of the agent's own workflow.
The free tier is worth a flat, unexcited mention: it is usable. Unlimited autocomplete and enough agent access to run real tasks means I could evaluate the tool on actual client work for two weeks before paying anything, and when I recommend it to someone I can tell them to try it properly rather than against a crippled demo. Not a feature exactly, but it shaped my decision.
Shared workflows and rules turned out to matter once more than one person was involved. We keep a handful of team-editable instruction sets in the repo, things like our migration checklist and our conventions for error handling, and Cascade follows them the way it follows Memories. New contributors get the team's operating knowledge applied to their AI output from day one instead of learning it through review comments. It is the closest thing I have seen to making tribal knowledge executable.
One more structural point in its favor: Windsurf is not locked to its own editor. The plugin coverage across the JetBrains suite and other environments means the same account and the same AI layer follow me when a project demands PyCharm instead of the standalone IDE. Colleagues who refuse to leave IntelliJ get most of the value without switching editors, which made team adoption a far easier conversation. Review collected by and hosted on G2.com.
What do you dislike about WindSurf AI IDE?
The pricing model has been the least stable part of the product, and I say that as someone who thinks the current value is fine. Since I started using it the billing structure has been reworked, credits gave way to daily and weekly usage quotas, and the Pro tier price moved upward in the process. Each individual change was defensible, but the cumulative effect is that I have had to relearn how my usage maps to cost more than once, and the quota limits are less transparent than a plain credit counter was. My workaround is routing everything routine through the in-house SWE model, which barely touches the quota, and saving the frontier models for work that earns them. That discipline keeps me comfortably inside the limits, but a new user running every prompt through the most expensive model will hit the ceiling faster than they expect, and the product does not do enough to warn them.
Long Cascade sessions degrade. Somewhere past the twenty-five or thirty message mark on a complex task, the agent starts losing track of what it already changed, occasionally re-suggesting an edit it made an hour earlier. The fix I have settled into is treating conversations as disposable: keep each session scoped to one task, let Memories carry the durable context forward, and start fresh when the thread gets long. Once I adopted that habit the problem mostly vanished, but I had to discover the habit myself, because nothing in the product nudges you toward it.
Cold start is slower than it should be. The editor takes noticeably longer to launch than a plain VS Code install, and the first Cascade invocation of a session adds a few seconds of warmup. Once everything is warm it feels fine for the rest of the day, so this is a morning annoyance rather than a working one, but on a machine that reboots often it registers.
Documentation lags the product. Features ship at a genuinely fast pace, which I appreciate, but more than once I have found a new capability through a changelog note or a community post before any official docs existed for it. For a tool this central to my day I would trade a week of feature velocity for docs that keep up.
Extension parity with stock VS Code is close but not complete. Because the editor is a fork, a few extensions I relied on either were not available or arrived later than their marketplace counterparts, and one proprietary extension from my old setup has no equivalent at all. Most of my toolkit transferred without incident, settings and keybindings included, so this cost me a single afternoon of finding substitutes rather than an ongoing problem. Anyone with an unusual extension stack should audit it before committing.
Turbo Mode, which lets Cascade run terminal commands without asking, is one I keep switched off. The speed appeal is obvious, but an agent executing commands unsupervised on a client codebase is a risk profile I am not willing to accept, and I would like more granular controls, an allowlist of safe commands for instance, before I reconsider. Review collected by and hosted on G2.com.