MemoryLake
Back to all articles
NewsJuly 31, 2026·7 min read

Windsurf Is Now Devin Desktop: How to Migrate Without Losing Your Context (2026)

On June 2, 2026, Windsurf users restarted their editor and it opened as Devin Desktop. There was no migration wizard and no opt-in — a routine over-the-air update, a new name, a new default view. Cascade, the local agent that made Windsurf distinctive, was deprecated with a hard cutoff on July 1, 2026, replaced by Devin Local, a Rust rewrite reported to be around 30% more token-efficient and capable of running subagents.

Here is the honest headline for anyone searching for a migration guide: most of your configuration came along by itself. Extensions, keybindings, LSPs, and workflows were preserved. `.windsurfrules` is still readable alongside the newer `.devin/` format. Files under `~/.windsurf/` remained readable through the transition while new writes go to `~/.devin/`. Plan pricing and account status carried over. Reviewers of the transition did not report context or memory loss for standard workflows.

So this is not a rescue mission. It is the better question: your rules survived a forced engine swap — did your knowledge? This guide covers what transferred, what you have to rebuild by hand, and how to make the next forced migration a non-event.

What actually changed

The rebrand and the engine swap

Cognition acquired the remaining product for roughly $250 million after Google DeepMind hired the founding team — CEO Varun Mohan, co-founder Douglas Chen, and key engineers — in a deal reported at about $2.4 billion. Three substantive things changed: the branding, the default interface (an editor canvas became an "Agent Command Center," a kanban board of active agents), and the local engine, with Cascade giving way to Devin Local.

The interface change matters more than it sounds. Windsurf was an editor with an agent attached; Devin Desktop is an agent manager that happens to contain an IDE. Your habits move, but the unit of work shifts from "file I am editing" to "agents I am running."

What carried over automatically

Configuration, in short. Rules files, editor setup, workflows, and account state made the trip. If your project conventions lived in .windsurfrules, they are still being read — which is the single best argument for having written them down in the first place.

What did not carry over

Everything you established in conversation with Cascade. The reason the payments module tolerates duplicate writes. The refactor that was attempted in March and abandoned, and why. Which test suite lies. That knowledge was never a file, and no rebrand can port what was never stored — the same gap covered in why Windsurf forgets your Cascade context and why Windsurf forgets your project rules.

Cascade also reached end of life with no extension and no opt-out. Whatever workflow depended on its specific behavior needed rebuilding on Devin Local, including subagent patterns that reviewers describe as still unreliable on multi-step tasks.

The manual migration

Step 1: Convert your rules into Devin-native form

Start with what already works. Open .windsurfrules, read it as if you were a new hire, and split it into the two things it is probably conflating:

  • Standing instructions — conventions, formatting, review expectations, what never to touch. These belong in your rules file, and Devin Desktop still reads the Windsurf one while you migrate to the .devin/ layout.
  • Project facts — architecture, service boundaries, deprecations, decisions with reasons. These are not instructions; they are knowledge, and they grow.

Doing this split now is what makes the next step tractable.

Step 2: Rebuild the knowledge you only ever said out loud

Devin has a Knowledge system, and it is better than a single markdown file: entries live at the organization level, can be pinned to no repo, a specific repo, or all repos, persist across sessions, and are retrieved contextually rather than dumped in upfront. You can also invoke an entry deliberately with a macro such as !deploy-checklist.

Use it, with two caveats that come straight from the design. First, Devin reads the entire Knowledge contents, so the official guidance is to keep entries specific, concise, and current — split rather than write monoliths. Second, Knowledge is curated by you: nothing your agent learns during a session becomes an entry on its own. That is the manual labor this migration actually requires, and it is why Devin forgetting task context still happens on a well-configured setup.

Work through your last two weeks of agent conversations and write down anything you explained more than once. Repetition is the audit: whatever you kept re-typing is what was never stored.

The Better Way: Keep Your Project Memory Outside the Editor

Notice the pattern. Your rules survived because they were files in your repo. Your knowledge did not survive because it lived inside a tool that no longer exists. The lesson is not "write a bigger rules file" — it is to stop storing project knowledge in whichever agent you happen to be using.

MemoryLake sits outside the editor: architecture, decisions, and incident history live in one memory layer that Devin Desktop, Claude Code, Codex, or whatever replaces them next year all read from.

Step 1: Create an API key

Generate a key and make your first request in about 30 seconds.

Create a MemoryLake API key
Create a MemoryLake API key

Step 2: Upload your first memories

Drop in the documents, images, and files that carry your project's real context — the rules file you just rewrote, architecture notes, ADRs, runbooks, post-mortems, API specs.

Upload your first memories to MemoryLake
Upload your first memories to MemoryLake

Step 3: Connect your AI & agents

Give Claude, Codex, OpenClaw, and your other agents access to that memory via MCP or the API. Keep Devin's Knowledge for Devin-specific operating instructions, and keep the durable project knowledge in the layer that outlives the tool. Related paths are covered in migrating from Cursor to Claude Code and why Claude Code forgets project context.

Connect your AI and agents via MCP
Connect your AI and agents via MCP

What the switch actually costs

Price the parts. Learning the Agent Command Center: a day of mild disorientation. Porting .windsurfrules and splitting it properly: an hour or two. Writing the Knowledge entries you should have had all along: half a day, and the only part that produces lasting value.

Then the recurring cost you avoid. If your standing project context is 2,000 tokens and it gets restated 20 times a day across sessions and agents, that is roughly 1.2M tokens a month spent repeating yourself, plus the four or five minutes of re-briefing at the start of every session. A forced migration is the cheapest possible moment to fix that, because you are already paying the rebuild cost once.

Best practices for this migration

Rebuild knowledge as small, dated, reasoned entries

"Postgres for chat history — Redis lost data under queue-mode workers, decided 2026-05" beats a paragraph of prose. Short entries retrieve well, and Devin's guidance to keep Knowledge concise is a constraint, not a suggestion.

Keep instructions and facts in separate homes

Instructions tell the agent how to behave and belong to the tool. Facts describe your system and belong somewhere tool-independent. Mixing them is why rules files grow until nobody trusts them.

Write once, read everywhere

Every time you explain something to an agent that you will need again, put it in the shared layer rather than the thread. That single habit is what makes the next rebrand — and there will be one — a configuration change instead of a knowledge-rebuilding project.

Conclusion

The Windsurf-to-Devin-Desktop transition was unusually gentle on configuration and completely indifferent to knowledge. Your keybindings, workflows, and .windsurfrules came through an unannounced engine swap intact. The months of context you built in Cascade conversations did not, because it was never anywhere it could be read from.

Devin's Knowledge system is a good place for curated operating instructions, and worth setting up properly now. But the thing that actually protects you is keeping project memory outside the editor entirely — so the next time a tool is renamed, deprecated, or acquired, the only thing you have to migrate is a connection.

Frequently asked questions

Did I lose anything when Windsurf became Devin Desktop?

Configuration-wise, very little: extensions, keybindings, LSPs, workflows, and .windsurfrules were preserved, ~/.windsurf/ stayed readable during the transition, and reviewers reported no context or memory loss for standard workflows. What did end was Cascade itself, retired on July 1, 2026 with no opt-out, along with anything that depended on its specific behavior.

Does Devin Desktop still read `.windsurfrules`?

Yes — it is readable alongside the newer .devin/ format, so you are not forced to rewrite everything on day one. Treat that as a transition window, and use it to split standing instructions from project facts rather than porting the file verbatim.

What is the difference between Devin Knowledge and a rules file?

Knowledge entries live at the organization level, can be pinned to a specific repo or all repos, persist across sessions, and are retrieved when relevant rather than always loaded. A rules file is always-on instruction text. Knowledge is closer to memory — but it is curated by hand, read in full, and only available inside Devin.

Will Devin remember what my agent learned in a session?

Not by itself. Knowledge entries are things you write; a session's discoveries do not become entries automatically. If you want that to accumulate, you need a place to write it that both you and your agents can read.

How do I avoid rebuilding all of this when I switch tools again?

Keep architecture, decisions, and incident history in a memory layer your agents read over MCP or an API, and keep only tool-specific operating instructions inside the tool. Then a rebrand or a migration costs you a config change, not a month of re-explaining.