Skip to content

COMPARISONS

Claude Code vs Windsurf: The Name Changed in June

Claude code vs windsurf is a comparison against a product that was renamed on 2026-06-02. Here is what it became, what it reads, and what Claude Code refuses to import.

Claude code vs windsurf is a comparison with a stale left-hand side. Windsurf became Devin Desktop on 2026-06-02, windsurf.com answers a 308 to devin.ai/desktop today, and the Cascade agent that made it famous has been retired. The comparison is still worth running — you are choosing between a terminal agent and an IDE with an agent manager — but the useful version is a migration read, and Claude Code's own CLI is blunt about it: claude import windsurf exits 1. Our best AI coding assistant comparison covers the wider field; this one covers the specific decision in front of a Windsurf user.

Key takeaways

  • Windsurf was renamed Devin Desktop on 2026-06-02; windsurf.com now 308s to devin.ai/desktop.
  • codeium.com 301s to windsurf.com, so the live chain runs through three brand names to one product.
  • claude import windsurf exits 1 and names codex, gemini and cursor as the only sources.
  • Devin Desktop documents four instruction formats — .windsurfrules, .windsurf/rules/, .devin/rules/ and AGENTS.md. Claude Code documents one.
  • Its MCP config still lives at ~/.codeium/mcp_config.json, a home-level path carrying a brand retired two names ago.

Claude code vs windsurf: what you are actually comparing

Cognition acquired Windsurf in an agreement announced on 2025-07-14 and introduced Devin Desktop on 2026-06-02 as its next generation. The transition documentation is explicit that the editor, extensions, keybindings and workflows carry over, and that the change is a rebrand with the agent manager elevated to the primary surface. Cascade, the local agent, became Devin Local and remained available through July 2026.

So the honest framing is Claude Code against Devin Desktop. We have covered part of this ground before — our Cursor, Windsurf and Cline comparison tracked the rebrand from the editor side and is not re-run here. What is new is the configuration surface, which is where a switch actually costs you time.

The redirect chain, run today

Three HEAD requests, run on 2026-09-16.

Terminal
curl -s -o /dev/null -w "%{http_code} -> %{redirect_url}" -I https://codeium.com
# → 301 -> https://windsurf.com/
curl -s -o /dev/null -w "%{http_code} -> %{redirect_url}" -I https://windsurf.com
# → 308 -> https://devin.ai/desktop

Unlike the archived-project redirects we have chased before, this chain lands somewhere real and the destination documents the transition. That is a functioning migration, not an abandonment — but it is two renames deep, and the file paths below have not caught up with either of them.

Claude Code will not import it

Claude Code 2.1.273 ships a config importer. Windsurf is not one of the things it imports.

Terminal
claude import windsurf --dry-run
# → Usage: claude import [codex|gemini|cursor] [--dry-run] [--yes[=<digest>]]
# → exit 1

We checked three more unsupported names — cline, aider, copilot — and every one produced the identical usage line and the same exit 1. This is an unsupported-source path rather than anything specific to Windsurf, and it means there is no scripted route out.

Terminal
npm run check:windsurf

That check re-runs the import attempt live on every invocation rather than quoting a transcript, because the command costs nothing: it fails argument parsing before a session starts. If Anthropic ever adds a windsurf source, the guard goes red and this section is wrong the same minute.

Instruction files, side by side

This is the asymmetry worth publishing. One product reads four formats including two competitors'; the other reads one.

Devin Desktop (ex-Windsurf)Claude Code
Instruction files read.windsurfrules, .windsurf/rules/, .devin/rules/, AGENTS.mdCLAUDE.md
Can import from.cursor/rules .mdc filescodex, gemini, cursor
Precedence note.devin/ takes precedence over .windsurf/single file, no contest

Devin Desktop's own transition FAQ is the source for every cell in its column. The pattern reads as backward compatibility taken seriously: each rename left its rules format readable, so a user who never touches their config keeps working.

Claude Code's column is shorter but not closed. It does not auto-discover AGENTS.md: our four-arm AGENTS.md probe found that a project holding only that file cannot answer a question about its own contents once file-reading tools are denied. One @AGENTS.md line in CLAUDE.md fixes it, which is the detail that makes the row below matter.

Where the MCP config lands

The scopes differ, and the difference decides whether a teammate gets your servers.

Devin Desktop reads MCP configuration from ~/.codeium/mcp_config.json. That is a home-directory path, so it reaches one machine and git never sees it — the same shape we found in Cline's ~/.cline/mcp.json when auditing where each agent's config actually lands. It is also still named for Codeium, the brand two renames back.

Claude Code reads a project-scoped .mcp.json committed alongside the code. Our MCP setup walkthrough covers the trap on that side: the default claude mcp add scope is local, not project, so you get the committed file only when you ask for it.

Is there a windsurf terminal?

Not one that makes this a like-for-like comparison. Devin Desktop is an IDE whose default surface is an agent command center for managing local and cloud agents; Claude Code is a terminal process. Anyone searching for a windsurf terminal agent to set against Claude Code is looking for a product that does not exist under that name.

If a terminal-to-terminal comparison is what you need, the honest substitutes are Codex CLI, Aider or Cursor's CLI — though Aider has not shipped a commit since May, which narrows that list to two. Our claude code vs cursor 2026 migration audit is the closest neighbour to this article, and it has an importer to measure where this one does not.

Which one to pick

  • You already write AGENTS.md. Either product works and the switch is nearly free. Claude Code costs one import line; Devin Desktop costs nothing.
  • Your rules are in .windsurfrules or .windsurf/rules/. Staying is cheaper than moving, because nothing automates the move. Budget the rewrite honestly or standardise on AGENTS.md first and switch afterwards.
  • You want MCP servers that arrive with a git clone. Claude Code's project-scoped .mcp.json does that; a home-level mcp_config.json does not.
  • You want the IDE. Devin Desktop is one and Claude Code is not. That is a real preference and no config table overrules it.

What we could not measure

Neither Windsurf nor Devin Desktop is installed on this machine. Every cell in the Devin Desktop column is read from vendor documentation and labelled as such in the fixture, and the check script asserts that no output-quality claim is licensed by it. There is no latency figure, no token figure and no code-quality comparison in this article, because there is no second install to produce one.

devin.ai returned 429 to our HEAD request. The redirect chain above stops at windsurf.com for that reason; the destination URL is what the Location header supplied, not something we fetched and confirmed rendered.

We did not verify the retirement of Cascade first-hand. The July 2026 date comes from the transition FAQ. Without an install there is nothing to run, and an undated vendor claim repeated as an observation would be exactly the failure this section exists to prevent.

Best practices

  • Check the brand before the feature list. A comparison written against a renamed product is stale in ways its feature table will not show.
  • Standardise on AGENTS.md before switching anything. It is the one format both sides read, and it turns a migration into a one-line change.
  • Run claude import <source> before planning a move. Exit 1 in under a second is a cheaper answer than a half-finished migration.
  • Treat home-directory config as unshared. If it is not in the repository, exactly one machine has it.
  • Re-check the redirects yourself. npm run check:windsurf re-runs the live half; the chain is one curl -I away from confirmation.

Conclusion

If you are searching claude code vs windsurf, the first thing to fix is the premise: Windsurf is Devin Desktop as of 2026-06-02, and the tool you would be leaving reads four instruction formats while the one you would be joining reads one. Move your rules into AGENTS.md first, bridge it with a single @AGENTS.md line, and the choice stops being a migration at all. If the terminal is what you actually want, read the claude code vs cursor 2026 audit next — that comparison still has two live products in it.

Frequently asked questions

Does Windsurf still exist in 2026?
Not under that name. Cognition announced on 2026-06-02 that Windsurf had become Devin Desktop, and windsurf.com now returns a 308 redirect to devin.ai/desktop. The IDE, extensions, keybindings and workflows are described as carrying over; the Cascade agent was retired and replaced by Devin Local.
Can Claude Code import my Windsurf configuration?
No. claude import windsurf exits 1 with the usage line naming codex, gemini and cursor as the only sources. We checked cline, aider and copilot the same way and all four failed identically, so this is an unsupported source rather than a Windsurf-specific refusal.
What rules files does Devin Desktop read?
Its documentation lists .windsurfrules, directory-based .windsurf/rules/ and .devin/rules/ with .devin taking precedence, and AGENTS.md. It can also import .cursor/rules .mdc files. That is four formats across three brand names, against Claude Code's single CLAUDE.md.
Is there a Windsurf terminal agent to compare with Claude Code?
Not an equivalent one. Devin Desktop is an IDE with an agent manager as its primary surface, so a terminal-first comparison is not like for like. If you want a terminal agent comparison, compare Claude Code with Codex CLI, Aider or Cursor's CLI instead.
Should I move from Windsurf to Claude Code?
If your rules already live in AGENTS.md, the move costs one line — add @AGENTS.md to a CLAUDE.md. If they live in .windsurfrules or .windsurf/rules/, nothing automated will move them: Claude Code's importer does not accept windsurf as a source, so that is a manual rewrite you should scope before committing to it.

Muhammad Kashif

Founder and editor of Devventa, covering AI coding assistants, Next.js and the modern AI development stack.