OpenCode Claude Agentの設定:利用上限と規約を確認
OpenCode V2をローカルのClaude Codeに接続し、使用中のアカウントと小さな処理での動作を確認します。OpenCodeとClaude Codeの役割、サブスクリプションの共通上限とAPI課金の違い、許可に関する公式文書と開発者の発言を整理します。直接APIや互換プロバイダーを選ぶ条件も説明します。
目次

OpenCodeのClaude Agentプロバイダーは、ローカルにインストールした自分のClaude Codeを通じて使います。両方のツールをインストールし、claude auth loginを実行してから、/connectでClaude Agentを選びます。外部製品向けに明示された認証方法をチームで使いたい場合は、APIキーで接続してください。
2026-11-05時点で、OpenCodeは専用のClaude Agent設定ガイドを公開しています。プロバイダーはClaude Codeで現在有効な認証情報を使います。そのため、選択しただけで必ずサブスクリプションの利用枠が使われるわけではありません。
Claude Agentでは何が変わりますか?
Claude AgentではOpenCodeの操作画面で作業し、ツールもOpenCodeで実行します。モデルとの通信はClaude Codeが担当します。OpenCodeはAnthropicのClaude Agent SDKを介して、インストール済みのclaudeを呼び出します。
この組み込みプロバイダーはOpenCode v2.2.3で追加されました。v2.2.4では、アプリのプロバイダー選択画面に案内付きの設定手順が加わりました。サブスクリプション用のプラグインを別途導入する必要はありません。
プロバイダーの設計資料によると、ファイル操作、シェルコマンド、権限の管理はOpenCodeが担当します。Claude Codeに組み込まれたツールは無効になります。
会話のコンテキストを圧縮する処理(compaction)とサブエージェントの実行もOpenCodeが担当します。この分担は現在のClaude Agentガイドに記載されています。Claude Code側の設定、フック、MCPサーバー、スキル、メモリーは読み込まれません。フックとは、特定のイベントに応じて実行する処理です。
プロジェクトの扱いを決めるのは、OpenCodeに設定した指示とツールです。ファイル編集やコマンド実行を許可する前に、それらを確認してください。Claude Code独自のフックやエージェントチームに依存する場合は、同等の作業環境を用意するまでClaude Codeを使い続けてください。
このプロバイダーを試す主な理由は、OpenCodeの画面とモデルを切り替える作業方法を維持することです。導入しても、Claude Codeのすべての機能がそのまま使えるようになるわけではありません。
Claude Agentのインストールと接続
OpenCode V2とClaude Codeは、OpenCodeサーバーが動く同じマシンで使ってください。このプロバイダーはOpenCodeのリモートワークスペースでは使えません。
サブスクリプションを使う手順では、有効な個人向けのPro、Max、Ultraプランのいずれかが必要です。
対応バージョンのインストール
OpenCode V2をインストールしてください。機能が追加された最小バージョンはv2.2.3です。アプリの案内付き設定を使う場合は、v2.2.4以降を選びます。
以下はmacOS、Linux、WSL上のBash用のコマンドです。OpenCode V2のインストール手順とClaude Codeのインストール手順に従っています。
curl -fsSL https://opencode.ai/v2/install | bash
curl -fsSL https://claude.ai/install.sh | bash
新しいターミナルを開き、両方のバージョンを確認します。
opencode --version
claude --version
Claude Codeには2.1.248以降が必要です。この条件はプロバイダーのバージョン確認処理で確認できます。ネイティブインストーラーで導入した古いバージョンは、claude updateで更新してください。パッケージ管理ツールで導入した場合は、そのツールから更新します。
すでにV1を使っている場合は、先にV2移行ガイドを読んでください。両バージョンはopencodeコマンドと設定ファイルの配置場所を共有します。
インストールするだけではモデルの利用枠は付与されません。接続に使うアカウントの種類が未定なら、Claude Codeのインストール、サブスクリプション、APIアクセスの違いを確認してください。
ログインとアカウントの確認
Claude Code自身のログイン手順で認証してください。サブスクリプションの利用枠を使う場合は、その契約を持つClaudeアカウントを選びます。
claude auth login
claude auth status --text
表示された状態で、目的のアカウントと認証方式になっているか確認します。CLIリファレンスでは、これをclaude auth login --consoleと区別しています。--consoleはConsoleのAPI課金を選ぶオプションです。
サブスクリプションを試す前に、環境から引き継いだ認証情報を確認してください。Anthropicは、環境変数のAPIキーがサブスクリプション認証より優先される場合があると説明しています。個人用のシェルに意図せず古いキーが残っていたら、その環境変数を解除します。
unset ANTHROPIC_API_KEY
claude auth status --text
ANTHROPIC_AUTH_TOKEN、ANTHROPIC_BASE_URL、クラウドプロバイダーの設定も、意図せず有効になっていないか確認してください。Anthropicの認証の優先順位と照らし合わせます。サブスクリプションでログインしても、ほかのすべての認証情報より優先されるわけではありません。
OpenCodeの設定では、providers.claude-agent.settings内のapiKey、authToken、baseURLを確認します。モデルごとに指定した上書き設定にも注意してください。接続処理の実装は、サーバーの環境変数より後にこれらの設定を適用します。
接続後に実際のリクエストで確認
最初の確認では、独立したOpenCodeサーバーを起動してください。
opencode --standalone
スタンドアロンモードは独立したサーバーを使います。そのため、すでに動いている共有サービスに依存せず、現在のシェルの環境を使って確認できます。ただし、設定ファイルによる上書きは無効になりません。
OpenCode内で/connectを実行し、Claude Agentを選びます。次に/modelsを実行し、Claude Codeから取得したモデルを選んでください。プロバイダー内のモデル参照には、claude-agent/opusのような別名も使われます。直接APIを呼ぶ場合のモデルIDと同じだと考えないでください。
デスクトップアプリの案内付き設定では、インストール、ログイン、接続確認、問題発生時の再確認ができます。確認に成功すると、モデル選択に進みます。これらはアプリ画面の機能であり、上のターミナル手順とは区別してください。
README.mdがあるリポジトリを選び、次の指示を送ります。
Read README.md and summarize the project in three sentences. Do not modify files or run shell commands.
この指示は、ファイル変更やシェルコマンドの実行をせず、READMEを読んでプロジェクトを3文で説明するよう求めています。OpenCodeにファイル読み取りツールの呼び出しと、内容に合った回答が表示されることを確認してください。
これで、モデルへのアクセスとツール実行結果の返却を確認できます。モデル選択画面に一覧が出るだけでは不十分です。接続確認の処理自体は、モデルにプロンプトを送信しません。
検出できない場合のOPENCODE_CLAUDE_PATH設定
サーバーのPATHで目的のClaude Codeが見つからない場合は、実行ファイルの場所を指定してください。まず、ターミナルのcommand -v claudeが正しい実行ファイルのパスを返すことを確認します。
独立したサーバーでもう一度確認する場合は、次を使います。
export OPENCODE_CLAUDE_PATH="$(command -v claude)"
opencode --standalone
共有のバックグラウンドサービスでは、サービス側で管理する環境変数を設定します。
opencode service set env OPENCODE_CLAUDE_PATH "$(command -v claude)"
サービスの環境を変更すると、実行中のサービスは停止します。次にローカルサーバーを必要とするコマンドを実行すると、新しい値で起動します。Claude Agentを接続し直し、短いリクエストを再実行してください。
サーバー環境の設定手順には、クライアントのターミナルだけを変更しても不十分な理由が説明されています。
どの利用枠が消費されますか?
リクエストの予算は、Claude Codeで有効な認証情報に合わせて考えてください。サブスクリプション認証を使う場合、Claude Agentのリクエストは既存のClaude利用枠の一部です。
OpenCodeは、この接続方法がサブスクリプションでカバーされると説明しています。Anthropicも、ClaudeとClaude Codeがプランの利用上限を共有すると明記しています。両者を合わせると、画面を変えても追加の利用枠は生まれないと分かります。
次の3つを区別してください。
| Claude Codeの認証方法 | 利用料金の扱い |
|---|---|
| Claudeサブスクリプション | プランに含まれる利用枠とその上限が適用されます。有料の追加利用クレジットを有効にしている場合は、その利用も対象です |
| Anthropic APIアカウント、または対応クラウドアカウント | そのアカウントのAPI課金と利用上限が適用されます |
| カスタムゲートウェイ | ゲートウェイ側アカウントの課金ルールに従います |
費用の見積もりが表示されないことを、無料の証拠にしないでください。プロバイダーの費用計算処理は、独自のベースURLでも見積もりを省略します。
消費量と利用枠のリセット時刻は、Claude Settings > Usageで確認してください。Claude Code本来の/usage画面は、OpenCode内では使えません。有料の追加利用クレジットの設定も確認します。有効にすると、契約に含まれる利用枠を使い切った後に追加料金が発生する場合があります。
契約方法から選び直す場合は、ClaudeサブスクリプションとAPI課金の比較を参考にしてください。
規約から何が確認できますか?
許可の範囲は、具体的な実装と利用形態ごとに判断してください。公式SDKを使うだけで、すべての外部アプリがサブスクリプションの認証情報を利用できるわけではありません。
次の3つの文書は、それぞれ異なる状況を扱っています。
| 公式情報 | 記載内容 | この設定での判断 |
|---|---|---|
| OpenCodeの旧プロバイダーページ | Pro/Maxサブスクリプション用プラグインはAnthropicが禁止しており、OpenCodeは1.3.0から同梱をやめたと説明しています。 | 以前のプラグインへの警告であり、新しいV2プロバイダーの実装を説明した記載ではありません。 |
| Anthropic Agent SDKの概要 | 外部開発者が自社製品でClaudeアカウントのログインやリクエスト上限を提供するには、事前の承認が必要です。 | SDKを呼び出している事実だけでは、許可を確認できません。 |
| Claude Codeの法務・コンプライアンス文書 | 第三者による認証情報の仲介を制限する一方、自分のサブスクリプションで改変されていないClaude Codeの実行ファイルにログインすることは認めています。 | 本来のログイン手順を維持してください。この例外を、認証情報の共同利用や新しい商用サービスへ広げて解釈しないでください。 |
この実装についての発言もあります。2026-10-30に、PR作者のTarquinenはAnthropicから許可を得たと述べ、この統合は利用規約に従っていると説明しました。これはOpenCodeの開発参加者による発言です。承認の範囲を定義した、Anthropic発行の文書ではありません。
個人で使う場合は、改変していないClaude Code内で自分のアカウントにログインしてください。セッショントークンを別のプラグインへ書き出して使わないでください。社内展開や製品への組み込みでは、その利用形態を対象とする確認を取るか、文書化されたAPIキー接続を使ってください。
認証してリクエストが成功しても、確認できるのは接続が動くことです。あらゆる導入形態が契約上認められると確定するわけではありません。
発生したエラーに合わせて対処します
表示された症状に合う項目を確認し、短いファイル読み取りリクエストで再確認してください。
| 症状 | 確認内容と次の操作 |
|---|---|
Claude Code is not installed | OpenCodeサーバーのマシンにClaude Codeをインストールするか、そのサーバーのOPENCODE_CLAUDE_PATHを設定して再接続します。 |
Claude Code is not logged in | 同じマシンの同じユーザーでclaude auth loginを実行します。状態を確認してから再接続します。 |
エラーに2.1.248 or later is requiredと表示される | Claude Codeを更新し、実行ファイルのバージョンを確認してから再試行します。 |
| 接続済みでもモデルが出ない、または応答しない | サーバー側の実行ファイルとログイン状態を確認して再接続します。モデル検出だけでは推論の動作を確認できません。 |
接続エラーの説明には、未インストールと未ログインの対処が載っています。プランの利用上限に達している場合は、アカウントの利用状況ページを確認してください。再接続しても利用枠は補充されません。
APIキーを選ぶべき場合は?
課金を分けたい場合、ローカルのClaude Codeがないサーバーで使う場合、外部製品向けに文書化された認証が必要な場合は、APIキーを選びます。APIの予算と利用上限は、Claudeサブスクリプションとは分けて管理してください。
Anthropic APIへの直接接続
Claude Consoleで自分のAPIキーを作成してください。OpenCodeの/connectでAnthropicを選び、APIキー認証を指定します。
同じ操作を行うV2の認証コマンドは、キーの入力を対話形式で求めます。
opencode auth login anthropic --method key
opencode run --standalone --model anthropic/claude-sonnet-5-5 "Reply with only: OK"
OKという応答を確認し、目的のAPIアカウントで使用量が記録されているか確認してください。アカウントやモデルが違う場合は、/connectまたは/modelsで選択を直してから再試行します。
OpenAI互換APIでの接続
2026-11-05時点で、BetterTokenにもclaude-sonnet-5-5とclaude-opus-5-5が掲載されています。BetterTokenのOpenCode接続ガイドでは、OpenAI互換APIと自分のBetterTokenキーを使います。これは別途課金されるAPIアクセスです。
自分のワークスペースでキーを作成してください。新しくV2形式で設定する場合は、プロジェクトのopencode.jsoncに次のプロバイダーを追加します。ほかの設定がある場合は、その内容を残して組み込んでください。
{
"$schema": "https://opencode.ai/config.json",
"providers": {
"bettertoken": {
"name": "BetterToken",
"env": ["BETTERTOKEN_API_KEY"],
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://www.bettertoken.ai/v1"
},
"models": {
"claude-sonnet-5-5": {
"name": "Claude Sonnet 5.5"
}
}
}
}
}
これはOpenCodeのV2向けカスタムプロバイダー形式に従う設定です。providers、package、settingsを使います。このプロバイダー項目の中に、V1のフィールド名を混在させないでください。
キーを画面に表示せずに入力し、同じBashターミナルで確認用のリクエストを実行します。
read -rs BETTERTOKEN_API_KEY && export BETTERTOKEN_API_KEY
opencode run --standalone --model bettertoken/claude-sonnet-5-5 "Reply with only: OK"
期待する結果は、OKを含む通常の応答です。その後、ワークスペースでリクエストと課金額を確認してください。OpenCodeにBetterTokenアカウントをすでに保存している場合は、どのアカウントが有効かも確認します。保存済みアカウントは、環境変数による接続より優先されます。
大きな作業を始める前に、現在の料金を確認してください。このAPIアクセスにClaudeサブスクリプションは含まれません。また、サブスクリプションのログインを使う別の統合を許可するものでもありません。