Claude CodeとOpenCodeの違いを比較する — OSS・75+プロバイダ対応の使い分け
Claude CodeとOpenCodeを、対応モデル・権限モデル・MCP対応・Skillsの4軸で比較します。CLAUDE.md互換モードなど、OSSで75以上のプロバイダに接続できるOpenCode側の仕様も扱います。
Claude CodeとOpenCodeとは
Claude CodeはAnthropicが提供するCLI型のコーディングエージェントで、Claudeモデル専用に作られています。OpenCodeはMITライセンスのオープンソースで公開されているコーディングエージェントで、AI SDKとModels.devを通じて75以上のLLMプロバイダーに接続できる点が最大の違いです。両者はターミナルで動くエージェントという点では同じ土俵にいますが、モデルの選び方・権限の設計・拡張の仕組みがそれぞれ異なります。
この記事では、実際に乗り換えや併用を検討する場面を想定し、インストール方法から権限モデル、MCP対応、Skillsの互換性まで4つの軸で比較します。
インストール方法とライセンスの違い
Claude Codeはnpmパッケージまたはスタンドアロンインストーラーで導入します。npmで入れる場合はNode.js 22以降が必要で、実体はネイティブバイナリとして配布されます。
npm install -g @anthropic-ai/claude-codecurl -fsSL https://claude.ai/install.sh | bashOpenCodeは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 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はPro・Max・Teamプランでautoモードが既定の起点になっており、Sonnet系の分類器が個々のアクションを都度審査します。権限モデル全体の設計思想と、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 Code | OpenCode |
|---|---|---|
| 提供元 | 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 CodePro/Max/Team有料プランに含む、またはAPI従量課金 | OpenCodeツール自体は無料。モデル利用料は接続先次第 |
| 権限モデル | Claude CodeAllow/Ask/Denyの3状態、Pro/Max/Teamでauto既定 | OpenCodeAllow/Ask/Denyの3状態、--autoフラグで明示的に有効化 |
| MCP対応 | Claude Codestdio/Streamable HTTP/SSE/WebSocketの4方式 | OpenCodeローカル/リモートの2種類、OAuth自動検出 |
| Skills | Claude 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はAnthropicのAPIキー経由でClaudeモデルに接続する仕組みで、ChatGPTやGitHub Copilotのように「アカウントにログインしてサブスクリプションを使う」導線とは異なります。Claude Pro・Max・Teamの契約をそのままOpenCode側で使う専用の連携は確認できていません。
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は、権限モデルもMCP対応もSkillsの形式も骨格が近く、根本的な違いは「モデルを固定するか、選べるようにするか」という設計判断に集約されます。Claude CodeはAnthropicのClaudeモデルに特化し、その分サブスクリプションとの統合や複数クラウド経路への対応を深めています。OpenCodeはOSSとして公開され、Models.devを介した75以上のプロバイダー対応とモデル非依存の設計を軸に据えています。
どちらを選ぶかは、普段使っているモデルの数と、権限・MCP・Skillsの設定を1つのツールに揃えたいかどうかで決まります。両者の設定ファイルの発想は近いため、比較表の項目を実際の運用要件と突き合わせて判断するのが実務的です。