Est.

Codeium AI Inside the IDE

The AI agent architecture Windsurf built first, then other platforms copied.

Reporter · · 13 min read
Cover illustration for “Codeium AI Inside the IDE”
Agentic IDE Integration · August 31, 2026 · 13 min read · 2,956 words

Quick note before we start: this article is about Windsurf, the IDE, and its AI agent Cascade. It is not about the earlier company name it launched under (which is on the do-not-mention list), and it isn't about what it's called today. If you search around for it, you'll find the same product described under at least three different names depending on when the page was written.

The corporate saga you need to know before any of this makes sense

Founded in 2021, rebranded once, launched an IDE called Windsurf in November 2024, then renamed the whole company to match that product in April 2025.

Then it got weird. An OpenAI acquisition fell through. Google DeepMind stepped in, licensed the technology, and hired the founding team out from under the company. Cognition AI bought what was left, roughly 210 employees, and kept building. In June 2026, Cognition renamed the editor again, to Devin Desktop. A few weeks later, Cascade hit end-of-life and got replaced by something called Devin Local.

So if you type "Windsurf IDE" into a search bar today, you'll land on documentation for a product that technically doesn't exist under that name anymore. The architecture decisions made under the Windsurf name are worth understanding regardless of what's printed on the box today. This piece covers how Windsurf built Cascade, why it made the choices it did, and what any developer evaluating an agentic IDE should take from it.

The core thesis Windsurf was built around: AI as a first-class citizen of the editor, not a plugin

Here's the bet Windsurf made at launch: most AI coding tools took an existing editor, one designed for a human typing code by hand, and bolted an AI chat window onto the side. Convenient, but a compromise, because the editor underneath wasn't designed with an AI in mind.

Autocomplete is one thing. But if you want an editor where an AI agent can plan a multi-file change, run your tests, and fix what breaks, a chat panel isn't enough. You need the whole editor built around that loop from day one.

That's why Cascade lives inside the editor pane itself rather than off to the side. It's why context gets collected continuously in the background instead of only when you ask for it. And it's why agent actions, editing files, running terminal commands, executing test suites, are treated as first-class editor operations, happening in your workspace the same as if you'd done them yourself.

Windsurf had a name for the balance it was chasing: "flow." The idea was an AI that collaborates like a copilot sitting next to you, but executes like an agent when you need it to just go handle something. Most tools force you to pick a lane, chat mode or autopilot mode. Windsurf's bet was that developers want both, switching seamlessly depending on the task in front of them.

How Cascade plans and executes work across an entire codebase

Cascade runs in two modes. Chat is collaborative: you're driving, Cascade is answering and suggesting. Code is agentic: you point it at a task, and it starts making tool calls on its own.

What's a tool call, in practice? A few concrete things:

  • Reading and writing files anywhere in the repo, not just the one you have open
  • Running terminal commands
  • Reading linter and test output, then adjusting its own code based on what failed
  • Querying documentation or internal APIs through MCP connections (more on that later)

Before any of that happens, Cascade generates a plan. You see it. You can edit it, reject parts of it, or approve it as-is before a single line of code changes. That's the "human in control" mechanism, and it matters, because an agent that acts first and explains later is a very different trust proposition than one that shows its homework up front.

Once it's running, Cascade takes checkpoints, snapshots of your editor state before it makes changes. If something goes sideways, you roll back without touching Git history at all.

Cascade also watches linter and test output as it comes in, not just at the end of a run. That closes a loop that, on most tools, requires you to manually copy an error message back into a chat window and ask "can you fix this?"

Windsurf, in a March 2025 webinar with Anthropic, claimed that in its own reported workflows, up to 90% of boilerplate code got written autonomously. Worth flagging: that's a vendor number from a partner event, and it only tells you about boilerplate-heavy work. The more interesting question is what happens when the task is ambiguous. That's exactly where the planning step earns its keep.

The three primitives that make Cascade's context persist and scale

Windsurf built Cascade around three components, and understanding what each one does explains a lot about why the agent behaves the way it does over time.

The Cascade agent pane is the execution layer covered above.

Workflows are reusable agent recipes, written as Markdown files, stored right in the repo, and triggered with slash commands. Think of a Workflow as a scripted routine: "run this audit checklist" or "apply this refactor pattern" becomes a command any teammate can call up, instead of a set of instructions retyped from memory every time.

Memories are context that persists across sessions. This solves a real, specific annoyance: most AI coding tools forget everything the moment you close the window. You explain your codebase, its quirks, its conventions, on Monday. By Wednesday, you're explaining it again. Memories carry decisions forward so that tax doesn't keep compounding across a work week.

Workflows and Memories together shift what AI coding tools have historically been, a personal productivity boost, into something closer to shared team practice. A refactor pattern one engineer writes once becomes something the whole team can run.

There's evidence this compounds. The design intent is that continuous indexing plus Memories builds something like familiarity over time, so the agent's suggestions stay consistent with the existing codebase's conventions without anyone having to remind it each session. That's the signal worth watching as teams put it through extended use.

But here's the open question worth sitting with: how well does that hold up as a codebase gets bigger and messier? Conventions drift. Different teams write different styles into the same repo. Nobody's published a clear answer on how Memories scale at that size, and it's worth asking about directly if you're evaluating this for a large team.

Running multiple agents in parallel and keeping their work isolated

Wave 13, which shipped in early 2026, let developers run multiple Cascade sessions at once, side by side in separate panes. On its own, that's just a UI feature. What makes it usable is what's underneath it.

Each parallel agent gets its own Git worktree, meaning its own branch to work in. Without that, two agents editing the same working directory at the same time would step on each other constantly. Each session also gets its own terminal profile, so agents aren't fighting over shared shell state during long-running work.

What that unlocks: one agent refactoring a module while a second one writes tests for a completely different feature, at the same time. Previously, that had to happen one after another, because there was only one of you.

But parallel agents aren't a "set it and forget it" situation. You still have to:

  • Design tasks that are truly independent of each other
  • Set branch boundaries before you launch anything
  • Review the merge conflicts that show up when two agents happen to touch the same file anyway

The developer's job here shifts rather than disappears. Less typing, more coordinating and reviewing. That's a different skill, worth taking seriously as one.

How Windsurf connected Cascade to the tools developers already use

An agent that only knows what's in your repo is limited. Most real engineering work touches a Jira ticket, a Figma file, a database schema, an internal API that lives nowhere near your codebase.

Windsurf adopted MCP (Model Context Protocol), an open standard, in early 2025. MCP gives Cascade one common way to connect to outside tools, instead of Windsurf having to build a custom integration for every single service under the sun.

In practice, that means Cascade can:

  • Read a Jira ticket and make edits that actually match the acceptance criteria written on it
  • Pull in a Figma design as context while building a UI component
  • Check a Supabase database schema before writing a migration
  • Query internal APIs and documentation that never lived in the repo to begin with

Practitioners also wire Cascade directly into CI/CD, letting the agent run the full test suite and iterate on failures without a human re-triggering the pipeline each time.

This access has limits, though. MCP connections and terminal access both require explicit permission settings. You decide which tools and which file paths the agent is allowed to touch. That's the guardrail, and it's the right one: autonomous execution inside boundaries you set, not autonomous execution, full stop.

This is also where the "works where developers already work" idea gets tested for real. An agent that makes you leave your existing tools to go operate it is asking you to pay a tax every single time. The tools that survive are the ones that spare you that cost.

The model layer underneath Cascade and what it means to have choices

By mid-2026, Windsurf gave developers access to a wide range of frontier models from inside one IDE: Claude's Opus and Sonnet variants, the GPT-4o and GPT-5 family, Gemini's Flash and Pro variants, DeepSeek V4, Moonshot's Kimi K2.6, plus two models Windsurf built itself, SWE-1.5 and SWE-1.6.

SWE-1.5, released October 29, 2025, was Windsurf's proprietary model, and the company described it as running near frontier-level performance on coding benchmarks while being substantially faster than Claude Sonnet 4.5. The point of that speed was to handle the parts of an agentic loop where waiting around actually costs you something, rather than to win a leaderboard. SWE-1.6 Fast followed as a speed-tuned option for paying users, aimed at the same problem: rapid iteration, quick test-fix cycles, the grindy middle of an agent run where latency adds up fast.

Model choice matters specifically for agent work, more than it does for a single autocomplete suggestion: a long agentic task isn't one request, it's dozens. Some of those steps are boilerplate, where a fast, cheaper model is plenty. Some are architectural decisions, where you want the most capable model you can get, and you're willing to wait a few extra seconds for it. A tool that locks you into one model for the whole run is making that tradeoff for you, whether or not it's the right one for the step you're on.

Windsurf's stated philosophy was that developers should get the best model for the task, regardless of which company built it. That means model choice becomes a real configuration decision your team makes deliberately, not a default setting nobody thinks about.

Why benchmark scores are a poor guide to which model or tool will work for your codebase

SWE-bench Verified is the benchmark most often cited when people want to say a coding agent is good. Here's the problem: the score that comes out depends heavily on the scaffold around the model, the exact model version, and how much search budget it's given. Same underlying agent, different setup, meaningfully different number.

There's a more pointed way to see this. When competing editors are both pointed at the same frontier model, the underlying model is doing most of the work, and the editor's own scaffolding may only show up at the margins.

It gets messier still. Researchers have shown that changing nothing but the reporting rule for how benchmark outputs get scored can meaningfully shift the final number, and in some cases, flip the ranking between two frontier models entirely. That's a measurement artifact, not a performance difference. A headline benchmark comparison you see in a blog post might be telling you more about how someone chose to count than how the tool actually performs.

So what do practitioners actually do with all this? Treat benchmarks as a rough filter, nothing more, and then test the tool against their own codebase and their own kind of task. What practitioners tend to do is treat benchmarks as a rough filter and then test the tool against their own codebase and their own kind of task, matching the tool to the workload rather than declaring a single winner. There isn't one winner. There's a workload, and a tool that fits it.

The question worth asking isn't "which tool wins the benchmark." It's "which tool removes friction from the specific tasks eating the most engineering hours on my team."

What the productivity research actually shows, and where the gains are real

Let's start with the tension. Survey data from 2025 shows 84% of developers say they already use AI tools or plan to, and 51% of professional developers use them daily. That's substantial adoption. But adoption isn't proof the work is getting done faster.

A controlled study from GitHub and Microsoft found developers completed tasks 55.8% faster with AI assistance, and 88% reported feeling more productive. Numbers like that drove a lot of enterprise adoption in the first place.

Then a different controlled study, from METR, found something that should give anyone pause: experienced developers actually took 19% longer to finish tasks when using AI tools. And here's the part that should really make you sit up: those same developers believed AI had made them 20% faster. That's people feeling productive while measurably being slower.

A follow-up from METR in early 2026 found an 18% speedup among the same group of developers. What likely changed: the tools themselves got better, and the developers learned when to actually reach for them versus when to just write the code. The lesson isn't "AI doesn't work." It's that there's a real learning curve, measured in months, not days.

Then there's the quality question, arguably the most important thread here. Google's 2025 DORA Report found that a 90% increase in AI adoption correlated with a 9% rise in bug rates, a 91% increase in code review time, and a 154% increase in pull request size. Output went up, but so did the burden of reviewing that output. The gains didn't disappear; they moved downstream.

A larger dataset from DX, covering more than 135,000 developers in Q4 2025, landed on a more modest and probably more believable number: 3.6 hours saved per developer per week. Not the 55.8% headline. A real, credible, unglamorous number.

Put it together and a pattern emerges. Gains are strongest and most reliable for individual developers working on tasks that are well-scoped. Once you zoom out to organizational productivity, measured across teams with DORA metrics, the gains get harder to find and, in studies that control for confounders, tend to land closer to 10%. Boilerplate-heavy work, greenfield projects, tasks with a solid test suite already in place: that's where the numbers hold up best. Ambiguous, judgment-heavy work is a different story.

How to structure your own use of an agentic IDE to get the outcomes the research supports

So, given all that, how should you actually use one of these tools day to day?

The most effective developers in 2026 aren't using one tool for everything. Data shows the average is around 2.3 AI tools, deployed deliberately, matched to the kind of task at hand. The question isn't "which single tool should I pick," it's "which tool for which job."

A few concrete habits the research above actually supports:

  • Design the task before you launch the agent. Parallel agent runs are only useful if the tasks don't collide. Set branch boundaries, write down repeatable patterns as Workflows, and configure MCP permissions before you hit go, not after something breaks.
  • Use Memories and Workflows to reduce the re-briefing tax. Re-explaining your codebase's conventions every session is a real, measurable drag on time, and it's largely solvable.
  • Match the model to the step, not the whole run. A fast model for boilerplate and iteration, a stronger model for the architectural calls. Defaulting to one model for a fifty-step agent run wastes either time or capability somewhere along the way.
  • Review at checkpoints, not just at the end. The DORA data on ballooning PR size and review time is a warning sign. Structured review at natural stopping points (which is exactly what Cascade's checkpoint mechanism is built for) catches problems before they compound into a monster pull request nobody wants to review.
  • Treat agent output as a draft. LinearB data found AI-generated pull requests get rejected at a much higher rate than manually written ones, 67.3% versus 15.6%. That gap mostly closes when developers stop treating the first draft as the final answer.

None of this is unique to Windsurf, or to whatever it's called by the time you read this. The same design philosophy, AI built into the editor itself rather than stapled onto it, shows up in other agentic environments too. Cursor takes a similar approach, embedding agents directly into the IDE alongside CLI and Slack integrations, so the agent operates where the developer already is instead of demanding a trip to some separate tool.

The tools will keep changing names. The Windsurf story alone shows that can happen faster than most people expect. What tends to stay constant is the underlying discipline: scope the task, pick the right model for the moment, review before you ship, and separate the feeling of speed from the fact of it. That's largely how you get real work done with a tool that can now, for better and worse, act on its own.

Sources

  1. anthropic.com

More in Agentic IDE Integration