Claude Media
Claude CodeとWindsurfの違い — Devin Desktop化後のIDEとCLIの選び方

Claude CodeとWindsurfの違い — Devin Desktop化後のIDEとCLIの選び方

WindsurfはDevin Desktopに改称済みです。エージェントの操作、権限、サブエージェント、並列作業をClaude Codeと同じ観点で並べ、IDEとCLIのどちらで始めるかを比べます。

Claude CodeとWindsurfの違いは、機能の多寡よりも「エージェントがどこで動くか」に出ます。Windsurfは2026年6月2日にDevin Desktopへ改称され、エージェント本体もDevin CLIと同じハーネスを使うDevin Localに移りました。いま比べる相手は「IDEに組み込まれたエージェント」であり、Claude CodeはCLIを軸に、VS Code拡張でもIDE内で使えます。

この記事は、導入前に選ぶための比較です。すでに決めて設定を移したい場合はWindsurfからClaude Codeへの移行手順を参照してください。

Windsurfは今、何と比べればよいのか

Windsurfはいまの公式docsでは「Devin Desktop」と呼ばれています。docs.windsurf.comを開くと、Devin Desktopのドキュメントへ転送されます。FAQによれば、名称が変わっただけで同じIDEであり、プランと料金も変わりません。

名前以上に効くのは、エージェントの世代交代です。

  • Cascade: Windsurf時代のエージェント。Code・Plan・Askの3モードを持つ
  • Devin Local: 現在の標準エージェント。Devin CLIとハーネスを共有し、Normal・Plan・Askのモードと、deny / ask / allowの権限ルールを使う

新しい会話はCascadeでは始まらず、既存のCascade会話だけが履歴から開けます。つまり「Windsurf対Claude Code」は、実際には「Devin Local(IDE内蔵)対Claude Code」という比較です。古いWindsurf解説記事のCascade前提の説明は、そのままでは当てはまりません。

操作面と動かし方の違い

両者の最大の違いは入口です。Devin Desktopは、起動すると「エージェント入力欄」が中央にあるIDEです。複数のエージェントセッションをAgent Command Centerという看板型のビューで管理し、クラウド側のエージェントも並べて扱います。

Claude Codeはターミナルでclaudeを起動するのが基本形です。非対話のclaude -pでスクリプトやCIから呼ぶ使い方も、同じ実行体のまま使えます。

観点Devin Desktop(Devin Local)Claude Code
主な入口Devin Desktop(Devin Local)IDE(VS Code系)のエージェント入力欄Claude Codeターミナルのclaude(VS Code拡張もあり)
計画だけ立てるDevin Desktop(Devin Local)Planモード。計画は~/.devin/plans/のMarkdownに保存Claude CodePlanモード。claude --permission-mode planで開始
権限の単位Devin Desktop(Devin Local)deny / ask / allowのルールClaude Code権限モード + permissionsのルール
サブエージェントDevin Desktop(Devin Local)設定のトグル(Preview)で有効化Claude Code組み込みのExploreなどに加え、自作も可
並列作業Devin Desktop(Devin Local)gitのworktreeでセッションを分離Claude Codeclaude --worktreeで分離
補完・インライン編集Devin Desktop(Devin Local)TabとCommandをIDE機能として提供Claude CodeVS Code拡張でエディタ上から利用

最後の行は、IDEを選ぶ最大の理由になります。Devin DesktopのTabは、次の編集位置へ飛ぶTab to Jumpなどを備えたコード補完で、エージェントとは別の機能です。ターミナルで依頼して差分を確認する流れが合うか、エディタ上で書きながら補完を受けたいかで、向く側が分かれます。

権限モデルの違い — 何を、誰が、いつ承認するか

ここは両者が近づいている領域です。Devin Localは、旧Cascadeの「自動実行レベル」を捨て、3種類のルールに置き換えました。

  • Deny: 実行を完全に止める。最優先
  • Ask: 毎回確認する
  • Allow: 確認なしで通す

対象はファイル読み取り・書き込み・コマンド実行・HTTP取得・MCPツールです。MCPツールは、標準設定では呼び出しの前に必ず承認を求めます。Cascadeの自動実行レベルがDisabled・Allowlist Only・Auto・Turboの4段だったのと比べると、細かく範囲を切れる設計に変わっています。

Claude Codeのpermissionsも、deny / ask / allowの構成です。例えば次のような形になります。

.claude/settings.json
{
  "permissions": {
    "deny": ["Read(./.env)"],
    "ask": ["Bash(git push *)"],
    "allow": ["Bash(npm test)"]
  }
}

Claude Codeにはこれに加えて、セッション全体の振る舞いを切り替える権限モードがあります。

モード動き
default動き各ツールの初回使用時に確認する
acceptEdits動き作業ディレクトリ内のファイル編集とmkdir・mvなどを自動承認する
plan動き読み取りと探索だけを行い、ソースは編集しない
auto動きバックグラウンドの分類器が、依頼に沿った操作かを確認しながら進める
dontAsk動き確認が要る操作を自動で拒否する
bypassPermissions動き確認を飛ばす。隔離環境向け

「Yes, and don't ask again」を選ぶと、Bashコマンドの許可は.claude/settings.local.jsonに保存され、以降のセッションでも有効です。承認を積み重ねて自分用の許可リストを育てる流れは、Devin Localの「セッション全体に効く承認」と発想が重なります。違いは範囲の広さです。Claude Codeは管理者向けの設定や、フックによる事前チェックまで同じ設定体系に乗ります。両製品の権限設計を広く比べたい場合はAIコーディングエージェントの権限モデル比較も参考になります。

サブエージェントと並列作業の違い

サブエージェントは、Devin Localにはあり、Cascadeには無かった機能です。Devin DesktopではDevin Settingsの「Subagents (Preview)」トグルで有効にします。独自のエージェントはagents/<name>.md、またはagents/<name>/AGENT.mdというMarkdownで定義します。

Claude Codeでは、Explore(読み取り専用の高速な探索役)やPlanといった組み込みサブエージェントが最初から動きます。自作する場合は.claude/agents/にMarkdownを置きます。例えば次のような形です。

.claude/agents/code-reviewer.md
---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---
 
You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.

必須なのはnameとdescriptionだけです。toolsで道具を絞れるので、「読むだけの調査役」を安全に切り出せます。サブエージェントの定義はどちらもMarkdown + 説明文という同じ発想で、移植の負担は小さい部類です。詳しい使い方はClaude Codeサブエージェントの使い方にまとめています。

並列作業はworktreeで分離します。Devin Desktopはセッションの開始時に「New worktree」を選び、終わったらMergeで作業内容を戻します。Claude Codeはコマンド1つです。

claude --worktree feature-auth

.claude/worktrees/feature-auth/にworktreeが作られ、worktree-feature-authブランチで作業が始まります。別のターミナルで別名を付けて起動すれば、2本目のセッションが独立して走ります。手順の全体はClaude Codeのworktree完全ガイドにあります。

Devin Localで使えなくなったもの

IDEを選ぶ前に知っておきたいのが、Cascadeにあって新しいエージェントに無い機能です。Devin Localのドキュメントは次を挙げています。

  • Memories: セッションをまたぐ自動記憶は持たない。スキルへの移行を勧めている
  • Workflows: 使えない。スキルへ移す
  • App Deploys: ワンクリックのデプロイは使えない
  • Arena Mode: 複数のCascadeを並べて比べる機能は使えない

ルールとAGENTS.md、スキルは使えます。移行用に、コマンドパレットから「Devin: Open Cascade Migration Wizard」を実行するとワークフローとメモリーを移せます。

Claude Code側の対応物は、プロジェクトに置くCLAUDE.md(常時読まれる指示)と、スキル(必要な場面で呼ばれる手順書)です。Cascadeの自動メモリーに頼っていた人ほど、「覚えさせる」から「ファイルに書く」への切り替えを意識する必要があります。

二者択一ではない — IDEの中でClaude Codeを使う

選び方で見落とされやすい点があります。Claude CodeのVS Code拡張は、VS Codeの派生エディタにも入れられます。Claude Codeのドキュメントには、Devin DesktopやKiroのような派生エディタにも、拡張機能ビューから「Claude Code」を検索して入れられると書かれています。

つまり、Devin Desktopでエディタとタブ補完を使い、エージェント作業の一部だけをClaude Codeに任せる構成が成り立ちます。エディタの入れ替えを伴わないので、乗り換えの心理的な負担も軽くなります。

ただしDevin Desktopのドキュメントには、互換性のない拡張機能の節があります。他のAIコード補完拡張と独自仕様の拡張は使えず、どのマーケットプレイスからも拡張を入れられないと書かれています。Claude Codeのドキュメントは、拡張ビューでの検索のほか、Open VSXレジストリからの導入を案内しています。エディタ側の事情で拡張が入らなかった場合は、CLIを入れて統合ターミナルでclaudeを実行する方法が代わりになります。拡張のインストールと画面の使い方はClaude CodeのVS Code拡張ガイドにあります。

注意したいのは、Devin Desktopの標準エージェント(Devin Local)と、拡張で呼ぶClaude Codeは別の実体で、権限ルールも別々に管理することです。ルールを片方だけ厳しくして、もう片方が緩いままにならないよう、denyの対象(.envや鍵ファイル)は両方に書いておくと安全です。

状況別の選び方

状況向く側理由
書きながらタブ補完を受けたい向く側Devin Desktop理由TabとCommandがIDE機能として備わる
ターミナル中心で、依頼と差分確認を繰り返す向く側Claude Code理由claudeが入口で、編集環境を選ばない
CIやスクリプトから呼びたい向く側Claude Code理由claude -pで非対話実行できる
複数エージェントをカンバン形式で眺めたい向く側Devin Desktop理由Agent Command Centerが標準画面
エディタは変えず、エージェントだけ試したい向く側Claude Code(VS Code拡張)理由既存のVS Code系エディタに入る
組織で権限や通信先を一括管理したい向く側どちらも対応理由Devin Localはチーム設定、Claude Codeは管理設定で制限できる

Devin側にもCLI(Devin CLI)があるため、「IDE対CLI」はベンダー間の対立ではありません。CLIで始める価値が高いのは、手元のエディタに縛られずに同じ手順を再現できる点です。Cursorなど他のIDE型製品を含めた比較はClaude Code・Cursor・Codexの比較で扱っています。Devin本体との守備範囲の違いはClaude CodeとDevinの比較にまとめています。

1週間で見極める試し方

選べないときは、同じ小さなタスクを両方で試すのが確実です。公平に比べるための手順は次のとおりです。

手順

同じタスクを両製品で試す

  1. 1

    タスクを1つ決める

    テストが1本落ちている小さなバグ修正など、完了条件が明確なものを選びます。

  2. 2

    Planモードで始める

    両方で計画だけを出させ、読み取った範囲と提案の粒度を比べます。

  3. 3

    権限を同じ設計にする

    .envの読み取りをdeny、git pushをaskにするなど、同じ条件で動かします。

  4. 4

    worktreeで分けて実行する

    作業ツリーを分ければ、2つの結果を後でgit diffで並べて見られます。

比べるのは速さよりも、確認の回数と、差分を読んで直す手間です。ここで差が小さければ、普段使うエディタに合わせて選んで問題ありません。

まとめ

Windsurfは、いまはDevin Desktopであり、その標準エージェントはDevin Localです。権限(deny / ask / allow)、Planモード、サブエージェント、worktreeという骨格はClaude Codeとかなり重なりました。残る差は、IDEの補完と看板型の管理画面を取るか、ターミナルと非対話実行を取るかです。

迷う場合は、Devin Desktopのエディタを残したままClaude Codeを足す構成から始めると、乗り換えの判断を後ろに回せます。拡張が入らなければ、統合ターミナルのCLIで同じことができます。

この記事を共有:XはてブLinkedIn