Windsurf vs Claude Code, Now That Windsurf Is Devin Desktop
Windsurf was renamed Devin Desktop in June 2026, and its Cascade agent was removed in September in favour of Devin Local. How the IDE and its agent compare with Claude Code on models, context, rules files, permissions and MCP, and who each suits.
7 min read
Windsurf no longer exists under that name. Cognition renamed it Devin Desktop on 2 June 2026, and on 8 September removed Cascade, the agent most Windsurf comparisons are about; its successor is Devin Local. So the real comparison is Devin Desktop, a full IDE with a built-in agent and a Kanban view of every agent you run, against Claude Code, Anthropic’s agent that runs in your terminal, your editor, a desktop app and the web. Choose Devin Desktop if you want the editor and the agent in one product, a choice of models from several labs, and indexed code search. Choose Claude Code if you want one agent that works the same wherever you open it, runs Claude models, and scripts cleanly. They are not exclusive: Devin Desktop can host Claude Code’s agent as a third-party agent.
What Windsurf is today
Cognition’s announcement, Windsurf is now Devin Desktop (opens in a new tab), dated 2 June 2026, describes a full IDE with an agent manager built in, backwards-compatible with Windsurf and VS Code extensions and keybindings, delivered to existing users as an ordinary update with their plan unchanged. The IDE now opens on the Agent Command Center, a Kanban board of your local and cloud agent sessions grouped by status, and Spaces group sessions, pull requests and files for one piece of work. The surf command became devin-desktop.
Cascade was given a transition period and then retired. The Devin Desktop changelog (opens in a new tab) entry for version 3.9.19, 8 September 2026, says Cascade has been removed and Devin Local is now the only agent available in Devin Desktop, with a prompt to continue old conversations in Devin Local. The brand now covers four products:
- Devin Desktop: the IDE formerly called Windsurf, with Devin Local as its built-in agent.
- Devin CLI: a terminal agent. Devin Local runs the same agent harness, so settings, rules and permissions carry across.
- Devin Cloud: the autonomous agent that works on its own virtual machine. It is covered in Devin vs Claude Code.
- Devin Review: code review on pull requests.
An IDE with agents, or an agent that visits your tools
The products start from opposite ends. Devin Desktop is where you edit: tab completion, the file tree, extensions, previews in a built-in browser pane, and agents in a panel or in the Command Center. Claude Code is an agent first. It runs in a terminal, in extensions for VS Code and JetBrains IDEs, in the Claude desktop app and on the web, and it leaves the editor to you. The surfaces are compared in Claude Code desktop vs CLI vs VS Code.
The overlap is the Agent Client Protocol. Devin Desktop can run third-party agents that speak it inside the Command Center, and its documentation lists Anthropic’s Claude Agent, Codex CLI, OpenCode, Junie and Gemini CLI as examples. The third-party agent does the work under its own maker’s terms and billing, not Devin Desktop’s. If your team likes the Command Center but prefers Claude Code’s agent, that is an option rather than a contradiction.
Models
Devin Desktop has a model picker under the prompt box. It includes Cognition’s own SWE models, with SWE-2 the latest, alongside models from Anthropic, OpenAI and Google, plus Adaptive, a router that picks a model per request, and Fusion, which pairs a frontier lead model with a cheaper sidekick and is Cognition’s recommendation for most users. Usage is drawn from your plan’s quota according to the model you pick.
Claude Code runs Claude models only, through a Claude subscription, an Anthropic Console account, or a cloud provider such as Amazon Bedrock. Its default is Opus 5.5 on Pro, Max, Team, Enterprise and the Anthropic API, and /model switches it. If trying several labs’ models on the same task matters to you, Devin Desktop is built for it; if you have settled on Claude, the choice matters less. Claude Sonnet vs Opus covers picking between Anthropic’s models.
How each finds the right code
Devin Desktop’s context engine indexes your whole local codebase, including files you have not opened, and retrieves relevant snippets as you write code and ask questions; on Teams and Enterprise plans it can index remote repositories too, and you can pin files as context. Claude Code keeps no index. It searches with its own tools, globbing, grepping and reading files as it goes, which costs tokens on a large repository but always sees the current state of the files. Both load project instructions at the start of a session.
Rules and instruction files
The Devin Desktop FAQ (opens in a new tab) says old Windsurf rules still work. .devin/rules/ is the preferred folder and takes precedence, .windsurf/rules/ and the single .windsurfrules file are still read, and AGENTS.md is read too. Folder rules take a trigger in their frontmatter: always on, when the model decides, by file glob, or manual. Because Devin Local shares Devin CLI’s harness, it also reads CLAUDE.md and your ~/.claude/CLAUDE.md, and by default imports skills, commands and MCP servers from a Claude Code setup it finds in the project.
Claude Code reads CLAUDE.md. According to its memory documentation (opens in a new tab), from version 2.1.277 it reads AGENTS.md directly when there is no CLAUDE.md in your working directory or above it, and a setting loads both. In practice the same instruction file reaches both tools. Which tool reads which file is mapped in AI context files compared.
Permissions and undo
- Devin Local replaced Cascade’s auto-execution levels with rules. Its Devin Local page (opens in a new tab) lists Deny, Ask and Allow rules, with Deny winning, scoped to file reads, file writes, commands, web fetches and MCP tools, and set per project, per user or by your organisation. By default it asks before calling any MCP tool.
- Devin Local modes: Normal, Plan and Ask. Plan mode researches read-only and writes its plan to a Markdown file under
~/.devin/plans/before asking to implement. An optional OS-level sandbox limits writable paths and network domains, and a session can run in a new Git worktree that you merge back when it is done. - Claude Code sets approval with permission modes, cycled with Shift+Tab: Manual,
acceptEdits,plan,auto,dontAskandbypassPermissions, with allow, ask and deny rules on top. From version 2.1.283, sessions started in a terminal or the VS Code extension begin inauto, where a classifier reviews each action;claude -pstill starts in Manual. The trade-offs are in auto-approve in Claude Code. - Undo: Claude Code checkpoints before each prompt and
/rewindrestores files it edited, but not changes made by shell commands. With either tool, commit before a large task so Git is your real undo.
MCP
Both are MCP clients for local and remote servers, with OAuth. Devin Local keeps servers in mcp_config.json, under ~/.config/devin/ on macOS and Linux, %APPDATA%\devin\ on Windows, or .devin/ in a project, and offers a marketplace; devin mcp add writes the file and devin mcp login signs in. Claude Code uses claude mcp add and a project .mcp.json. Since Devin Local imports Claude Code’s MCP servers by default, a project set up for one often works in the other.
Who each suits
- You want an IDE with the agent built in, tab completion and a board of all your agent sessions: Devin Desktop.
- You want to switch between models from Anthropic, OpenAI, Google and Cognition on the same task: Devin Desktop.
- You want the same agent in a terminal, JetBrains, VS Code, a desktop app, the web and CI, with scripting through
claude -p: Claude Code. - You have settled on Claude models and want Anthropic’s own agent and terms: Claude Code, or Claude’s agent inside Devin Desktop over ACP.
- You relied on Cascade memories, workflows or app deploys: check Devin Local’s limitations first. Memories and workflows are not supported and migrate to skills.
- You still say “Windsurf” in procurement or device policies: the application is now named Devin, and allowlists that name only Windsurf may block it.
One board, whichever agent you open
A team with some people in Devin Desktop and some in Claude Code ends up with two sets of session history and no shared list. fenbs is a board both can use over MCP: each agent reads a task from Next Up, moves it to In Progress, comments with what it changed and moves it to Completed, and every change is recorded in History under the assistant’s name, on your behalf. Sign-in is a browser OAuth flow; if an agent cannot complete it, issue a token under Settings, “Connect an AI assistant”, with a name, the scopes it needs and an optional expiry. fenbs has no sprints, due dates or assignee field, so the lanes and a 1 to 10 priority do the ordering.
# Devin Local (Devin Desktop) or Devin CLI devin mcp add -s user fenbs https://fenbs.ai/api/mcp devin mcp login fenbs # Claude Code claude mcp add --transport http fenbs https://fenbs.ai/api/mcp
Related
Set-up pages: Devin Desktop (formerly Windsurf) and Claude Code. Devin’s cloud agent: Devin vs Claude Code. A terminal alternative: Aider vs Claude Code. Editor-first rivals: Claude Code vs Cursor.