Claude Media
Claude CodeとOpenCodeの違いを比較 — OSSで75+プロバイダ対応

Claude CodeとOpenCodeの違いを比較 — OSSで75+プロバイダ対応

Claude CodeとOpenCodeの違いは、モデルを固定するか選べるかです。料金・権限・MCP・Skills・非対話実行を比べ、CLAUDE.md互換とZenも扱います。

Claude CodeとOpenCodeとは

Claude CodeとOpenCodeの違いは、使えるモデルの幅とライセンスです。Claude CodeはClaude専用の製品、OpenCodeは75以上のプロバイダーに繋がるMITライセンスのOSSです。

比べたい点Claude CodeOpenCode
モデルClaude CodeClaudeのみOpenCode75以上のプロバイダー
ライセンスClaude CodeAnthropicの製品OpenCodeMIT(OSS)
非対話実行Claude Codeclaude -p "..."OpenCodeopencode run "..."
指示ファイルClaude CodeCLAUDE.mdOpenCodeAGENTS.md(なければCLAUDE.md)

Claude CodeはAnthropicが提供するCLI型のコーディングエージェントで、Claudeモデル専用に作られています。OpenCodeはAI SDKとModels.devを通じてプロバイダーに接続します。どちらもターミナルで動くエージェントですが、モデルの選び方・権限の設計・拡張の仕組みが違います。

この記事では、実際に乗り換えや併用を検討する場面を想定し、インストール方法から対応モデル、権限モデル、MCP対応、Skillsの互換性、非対話実行まで比較します。同じOSSのQwen Codeとの違いも別記事にあります。CharmのCrushとの違いもあります。

インストール方法とライセンスの違い

Claude Codeはnpmパッケージまたはスタンドアロンインストーラーで導入します。npmで入れる場合はNode.js 22以降が必要で、実体はネイティブバイナリとして配布されます。

npm install -g @anthropic-ai/claude-code
curl -fsSL https://claude.ai/install.sh | bash

OpenCodeはcurlのワンライナーのほか、npm・Homebrew・Scoop・pacman・Nixなど複数のパッケージマネージャーで導入できます。

curl -fsSL https://opencode.ai/install | bash

ライセンス面の違いも明確です。OpenCodeのリポジトリ(anomalyco/opencode)はMITライセンスで公開され、GitHub上で20万を超すスターを集めています。Claude CodeはAnthropicの製品で、CLI自体はPro・Max・Teamの各有料プランに含まれ、コーディング作業も他のClaude利用と同じ使用量プールを共有します。API従量課金のConsoleアカウントに切り替えて使うことも可能です。

対応モデルとプロバイダー数の違い

OpenCodeは特定のモデルに縛られない設計です。/modelsコマンドで切り替えられ、Claude・GPT・Gemini・Minimax・DeepSeekなど75以上のプロバイダーのモデルをModels.dev経由で扱えます。ローカルモデルの実行にも対応しています。モデルのコストは別で、既存のAPIキーを使うか、OpenCodeが提供する従量課金ゲートウェイ「OpenCode Zen」を任意で使う仕組みです。Zenは完全に任意の機能で、使わなくてもOpenCode自体は動きます。OpenCodeのProvidersページには、ClaudeのPro/Maxアカウントで認証する手順も載っています。ただしAnthropicは、第三者のアプリがPro/Maxのプラン資格情報でリクエストを中継することを認めていません(詳細は後述のFAQ)。

OpenCode Zen経由でClaudeモデルを呼ぶ場合、料金は100万トークンあたりの入出力単価で公開されています。公式ドキュメントによると、Claude Sonnet 5は入力$2.00・出力$10.00、Claude Opus 5は入力$5.00・出力$25.00で、キャッシュ読み取りには別の割引単価が設定されています。この単価はZenを使う場合の価格で、Anthropicから直接APIキーを取得して使う場合の単価とは別枠です。

Claude CodeはClaudeモデル専用のツールですが、接続経路は1つではありません。Claudeサブスクリプション・Anthropic Console・Amazon Bedrockなどクラウド3社を含む6経路があり、経路によって使える機能の範囲が変わります。クラウド事業者ごとの対応表はClaude Codeの機能比較 — Bedrock・Vertex・Foundry別対応表にまとめています。「モデルを選ぶ自由度」ではOpenCodeが広く、「同じモデルを複数のインフラ経路で使う自由度」ではClaude Codeに分があります。

権限モデルの違い — 3状態の考え方は共通、既定の起点が違う

権限の粒度は両者ともよく似た構造を持ちます。OpenCodeはpermission設定で各アクションをallow(無承認で実行)・ask(承認を求める)・deny(ブロック)の3状態に振り分け、bashやeditなどツールごとにワイルドカードパターンで上書きできます。Claude Codeも/permissionsで管理する許可ルールがAllow・Ask・Denyの3状態で、Tool(specifier)という同じ発想のパターンマッチを使います。

違いが出るのは既定の動き方です。OpenCodeは--autoフラグを付けたときだけ、明示的にdenyされていない要求を自動承認する「Autoモード」になります。Claude Codeはv2.1.283以降、対話型のターミナルとVS Codeのセッションでautoモードが既定の起点です。ルールで決まらない操作は、分類器が審査します。権限モデル全体の設計思想と、Codex CLI・Cursor・Devinを含めた4製品の比較はAIコーディングエージェント 権限モデル比較で詳しく扱っています。OSレベルの隔離(サンドボックス)は権限モードとは別の話題で、Claude Code側の設計はAIコーディングエージェントのサンドボックス実装比較を参照してください。

MCPサーバー対応の違い

MCP(Model Context Protocol)サーバーを外部ツールとして繋ぐ機能は両者とも持っています。OpenCodeはローカル起動(type: "local")とリモート(type: "remote")の2種類をJSON設定で定義します。リモートサーバーがOAuthを要求する場合は、Dynamic Client Registration(RFC 7591)を使って認証フローを自動的に処理します。MCPサーバーのツールはグローバルまたはエージェント単位で有効・無効を切り替えられます。

Claude Codeはstdio・Streamable HTTP・SSE・WebSocketの4方式に対応し、設定はプロジェクト共有の.mcp.jsonかユーザー単位の~/.claude.jsonに書きます。Claude Codeを含む5製品のトランスポート対応とOAuth方式を横並びにした表はAIコーディングエージェントのMCP対応状況を比較するにあります。MCPサーバーを追加するほどコンテキストを消費する点は両者共通の注意点です。OpenCodeの公式ドキュメントも「MCPサーバーは慎重に選ぶこと」と明記しています。

Skills・CLAUDE.md・サブエージェントの違い

拡張の仕組みには、想像以上に重なりがあります。OpenCodeはSKILL.md形式のAgent Skillsを持ち、ネイティブのskillツールでオンデマンドに読み込みます。ここで注目すべきは、OpenCodeが.claude/skills/<name>/SKILL.mdと~/.claude/skills/<name>/SKILL.mdのパスを直接読み込む点です。つまりClaude Code用に書いたSKILL.mdは、そのままOpenCodeでも認識されます。ただしOpenCode側が認識するfrontmatterはname・description・license・compatibility・metadataの5項目に限られ、それ以外のキーは無視されます。

OpenCodeはこれを「Claude Code Compatibility」という名前の機能として公式ドキュメントに明記しています。プロジェクトの指示ファイルは本来AGENTS.mdですが、存在しないプロジェクトではCLAUDE.mdをフォールバックとして読み込みます。グローバル設定でも~/.config/opencode/AGENTS.mdが無ければ~/.claude/CLAUDE.mdが使われ、優先順位は常にAGENTS.mdが先です。この互換読み込みは3つの環境変数で個別に止められます。OPENCODE_DISABLE_CLAUDE_CODEは全体を、_PROMPTはCLAUDE.mdのみを、_SKILLSはSkillsのみを無効化します。

サブエージェントの扱いも似ています。OpenCodeはbuild(通常の開発用)とplan(読み取り専用の調査用)という2つの組み込みエージェントをTabキーで切り替え、複雑な探索用に内部のgeneralサブエージェントも持ちます。Claude CodeもSkillsとサブエージェントの仕組みを持ちますが、Claude専用モデルの上で動く点がOpenCodeとの違いです。エージェント運用の使い分け全体はClaude Managed Agentsの使い分けで扱っています。

非対話実行の違い — claude -pとopencode run

スクリプトやCIから呼ぶときの入口が違います。Claude Codeはclaude -p "プロンプト"で、対話画面を開かずに1回実行して結果を返します。OpenCodeはopencode runにプロンプトを直接渡します。

claude -p "auth.pyのバグを直して" --allowedTools "Read,Edit,Bash"
opencode run "auth.pyのバグを直して" --model provider/model

OpenCodeの--modelはプロバイダー/モデルの形で指定します。--format jsonを付けると、生のJSONイベントで出力できます。

比較表

項目Claude CodeOpenCode
提供元Claude CodeAnthropic(公式製品)OpenCodeOSSコミュニティ(anomalyco、MITライセンス)
対応モデルClaude CodeClaudeモデル専用OpenCode75以上のプロバイダー(Models.dev経由)+ローカルモデル
接続経路Claude Codeサブスクリプション・Console・Bedrock・Claude Platform on AWS・Google Cloud's Agent Platform・Microsoft Foundryの6経路OpenCode各プロバイダーのAPIキー、または任意のOpenCode Zen。Claude Pro/Maxでの認証はAnthropicが認めていない(FAQ参照)
料金Claude CodePro/Max/Team有料プランに含む、またはAPI従量課金OpenCodeツール自体は無料。モデル利用料は接続先次第
権限モデルClaude CodeAllow/Ask/Denyの3状態、対話セッションはauto既定(v2.1.283以降)OpenCodeAllow/Ask/Denyの3状態、--autoフラグで明示的に有効化
MCP対応Claude Codestdio/Streamable HTTP/SSE/WebSocketの4方式OpenCodeローカル/リモートの2種類、OAuth自動検出
SkillsClaude CodeSKILL.md形式OpenCodeSKILL.md形式(.claude/skills/パスをネイティブに読み込み)
IDE統合Claude CodeVS Code拡張ほかOpenCodeVS Code・Cursor・Windsurf・VSCodium向け拡張、デスクトップアプリ(ベータ)

使い分け早見表

用途向いているツール理由
Claudeモデルの性能を前提に運用を固めたい向いているツールClaude Code理由Anthropic公式製品としてモデルとツールが一体設計
複数のLLMプロバイダーを切り替えて検証したい向いているツールOpenCode理由75以上のプロバイダーを同じ設定形式で扱える
既存のClaude Pro/Max/Teamプランをそのまま使いたい向いているツールClaude Code理由サブスクリプションの使用量プールに含まれる
モデル費用を自分のAPIキーで細かく管理したい向いているツールOpenCode理由プロバイダーごとのAPIキーを直接指定できる
Claude Code用に書いたSkillsを別ツールでも試したい向いているツールOpenCode理由.claude/skills/パスを互換読み込みする
組織のガバナンス設定(managed settings)で権限を配布したい向いているツールClaude Code理由管理設定によるルール配布に対応

よくある質問

OpenCodeでClaude ProやMaxのサブスクリプションをそのまま使えるか

OpenCodeのProvidersページのAnthropic節には、/connectでAnthropicを選ぶと「Claude Pro/Max」の選択肢が出てブラウザで認証する、という手順が載っています。ただし同じ節に、Claude Pro/Maxを使えるようにするプラグインについて「Anthropicはこれを明示的に禁止している」とあります。1.3.0以降のOpenCodeは、そのプラグインを同梱していません。

Anthropic側も、第三者のアプリがFree・Pro・Maxのプラン資格情報でリクエストを中継することを認めていません(Claude Codeドキュメントの法務・コンプライアンスのページ)。サブスクリプションの枠で使うならClaude Code、OpenCodeで使うならAPIキー(ConsoleまたはクラウドのAPI)がAnthropicの認める経路です。契約まわりの最終判断は、Anthropicの利用規約で確かめてください。

AGENTS.mdとCLAUDE.mdの両方があるプロジェクトではどちらが読まれるか

AGENTS.mdが優先されます。OpenCodeはAGENTS.mdを先に探し、見つからない場合だけCLAUDE.mdをフォールバックとして読み込みます。両方存在する場合、CLAUDE.mdの内容は無視されます。

Claude Code Compatibilityを無効化すると何が起きるか

OPENCODE_DISABLE_CLAUDE_CODE=1を設定すると、.claude/配下のCLAUDE.mdとSkillsの両方が無視され、OpenCode独自のAGENTS.mdと.opencode/skills/だけが読み込まれます。CLAUDE.mdだけ、Skillsだけを個別に無効化する環境変数も別に用意されています。

まとめ

Claude CodeとOpenCodeの根本的な違いは、「モデルを固定するか、選べるようにするか」という設計判断に集約されます。Claude CodeはAnthropicのClaudeモデルに特化し、その分サブスクリプションとの統合や複数クラウド経路への対応を深めています。OpenCodeはOSSとして公開され、Models.devを介した75以上のプロバイダー対応とモデル非依存の設計を軸に据えています。

どちらを選ぶかは、普段使っているモデルの数と、権限・MCP・Skillsの設定を1つのツールに揃えたいかどうかで決まります。両者の設定ファイルの発想は近いため、比較表の項目を実際の運用要件と突き合わせて判断するのが実務的です。別のOSSエージェントとの違いはClaude CodeとOpenHandsの比較にあります。

参照した一次ソース

この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。

  1. opencode.ai/
  2. opencode.ai/docs/mcp-servers
  3. opencode.ai/docs/permissions
  4. opencode.ai/docs/models
  5. opencode.ai/docs/providers
  6. code.claude.com/docs/en/legal-and-compliance
  7. opencode.ai/docs/skills
  8. github.com/anomalyco/opencode
  9. code.claude.com/docs/en/setup
  10. code.claude.com/docs/en/permission-modes
  11. code.claude.com/docs/en/permissions
この記事を共有:XはてブLinkedIn