Claude APIでOpenCodeを無制限に使う
OpenCodeはterminal上で動くAI coding assistantで、provider plugin systemによって高い柔軟性を持っています。npm package経由のcustom providerに対応し、調査や実装のために複数のsubagentを並列実行でき、時間とともにcontextが積み上がる継続的なterminal sessionを維持します。この「複数のagentが同時に、途切れず作業し続ける」設計はAPI消費量が大きくなりやすいため、AI Prime Tech Unlimitedのような定額・無制限のClaude API gatewayと非常に相性がよい構成です。Claude api 購入を検討している開発者や、既存のclaude api キーでは料金が読みにくいと感じているチームにとって、OpenCodeの運用コストを安定させる現実的な選択肢になります。
OpenCodeの並列Agentアーキテクチャ
OpenCodeはprimary agentとしてBuildまたはPlanを動かし、必要に応じてexploreやscoutのようなsubagentを起動して、関連タスクを並列に進めます。Build agentはファイル編集、コード生成、command実行、結果確認といった直接的な変更を担当します。一方でPlan agentは、すぐに手を動かすのではなく、要件を読み解き、方針を整理し、どの順番で進めるべきかを考えたうえで実装に移ります。subagentはprimary agentとは別のconversationと独立したcontextを持ち、codebaseの調査、documentationの読み込み、既存実装の把握、仮説検証などを進めます。そのため、OpenCodeは単に「1つのAIに質問するtool」ではなく、terminal内で複数のAI workerが分担して動く開発環境に近い挙動をします。
この並列処理は便利ですが、API usageの観点では複数のClaude conversationが同時に同じAPI keyへリクエストを送ることを意味します。たとえば少し複雑な修正を依頼した場合、Build agentが実際にファイルを書き換えている間に、explore subagentが関連コードを読み、scout subagentが外部documentationや設定例を確認する、といった動きになります。それぞれのagentは独自に履歴を持つため、3つのagentがそれぞれ10 turn動けば、単純計算で30回のAPI callが発生します。さらに各callには、それまで積み上がったconversation historyやtool resultが含まれるため、後半のrequestほどtoken量も大きくなります。通常の従量課金では、OpenCodeの強みである並列性を使うほどclaude api 料金が膨らみやすくなります。
OpenCodeではproject-specificなworkflowに合わせてcustom agentを定義することもできます。たとえばsecurity review専用agent、migration調査agent、documentation作成agent、test failure分析agentなどを作ると、それぞれが追加のAPI token消費元になります。従量課金のClaude APIでは、ユーザーはsubagent数を抑えたり、長い調査を途中で止めたり、モデルを弱くしたりしてコストを調整しがちです。しかしAI Prime Tech Unlimitedのようなclaude 無制限の環境では、必要なだけsubagentを使わせる設計にできます。taskの品質向上に寄与するなら、parallel workを抑える理由はありません。定額料金がすべての並列作業をカバーするため、OpenCodeの本来の設計思想である「複数agentによる継続的な開発支援」をコスト不安なく活かせます。
opencode.jsonでCustom Providerを設定する
OpenCodeのprovider systemは、API通信にnpm packageを利用します。AI Prime Tech Unlimited gateway経由でClaudeを使う場合、主に2つの選択肢があります。1つ目はnative Anthropic pathとして@ai-sdk/anthropicを使う方法、2つ目はOpenAI-compatible pathとして@ai-sdk/openai-compatibleを使う方法です。どちらもClaude modelへ接続できますが、OpenCodeの設定例ではOpenAI-compatible pathが扱いやすいケースが多く、既存のOpenAI互換provider設定に慣れている開発者にもわかりやすい構成です。設定はproject rootのopencode.json、または~/.config/opencode/配下の設定ファイルで行います。teamで共有したい場合はproject内に置き、個人環境だけで使う場合はuser configに置くと管理しやすくなります。
OpenAI-compatible pathを使う場合は、providersに新しいentryを追加し、packageに@ai-sdk/openai-compatibleを指定します。baseURLはhttps://claudeapikey.dev/v1のように、必ず/v1を付けます。そしてapiKeyにAI Prime Tech Unlimitedで発行したclaude api キーを設定します。実運用では直接JSONにkeyを書くより、env varから読み込む構成のほうが安全です。claude code api キー設定に慣れている人なら、同じ考え方でOpenCode用にも環境変数を分けておくと、local machine、CI、remote dev containerで管理しやすくなります。native Anthropic pathを使う場合は@ai-sdk/anthropicを指定し、baseURLはhttps://claudeapikey.devのroot hostにします。この場合は/v1を付けません。packageごとに期待するURL形式が違う点は、設定ミスが起きやすい重要ポイントです。
opencode.jsonの構造では、providersとmodelsが分離されています。providersは「どこに、どのpackageで、どのcredentialを使って接続するか」を定義し、modelsは「そのprovider経由でどのmodel IDを使うか」を定義します。つまりproviderを一度だけ作っておけば、Sonnet、Opus、Haikuなど複数のmodel entryを同じ接続設定に紐づけられます。この分離により、gatewayのURLやAPI keyを変更せずに、agentごとのmodel selectionだけを切り替えられます。たとえば普段はclaude-sonnet-4-5を使い、深い設計判断が必要なagentだけclaude-opus-4-6にする、といった運用が簡単です。Claude api 購入後に複数toolへ同じgatewayを設定する場合も、このようにprovider設定を共通化しておくと管理負荷が下がります。
AgentとSubagent向けのModel設定
OpenCodeでは役割ごとに異なるmodelを割り当てられます。primary modelはユーザーとの主なやり取りや中心的な実装判断を担当します。small_modelはsummary生成、出力のformatting、軽いlookup、短い説明の生成など、深いreasoningより速度が重要な小さな処理に使われます。subagentはprimary modelを継承することも、個別にmodelを指定することもできます。これらはopencode.jsonのmodels sectionとagent設定で管理します。OpenCodeを本格的に使うなら、すべてを1つのmodelに任せるより、作業の性質に応じてmodelを分けるほうが応答速度と品質のバランスを取りやすくなります。
無制限プランでprimary modelを設定する場合、バランス重視ならclaude-sonnet-4-5が扱いやすい選択です。コード生成、リファクタリング、test failureの読み解き、設計の小さな判断などを高い水準でこなせます。最大限のreasoning qualityを求めるならclaude-opus-4-6を選びます。複雑なarchitecture変更、長いmigration plan、未知のcodebase調査、多数の制約を含むbug fixではOpusの深い推論が効果を発揮します。small_modelにはclaude-haiku-4-5を指定すると、軽量処理のlatencyを抑えられます。file summaryの生成、logの短い要約、format整形、単純なmetadata作成のような処理では、最上位modelを使わなくても十分なことが多いためです。
custom agentごとにmodelを変える設計も有効です。research agentにはOpusを割り当てて深い分析を行わせ、implementation agentにはSonnetを割り当てて高速にcode changeを進め、documentation agentには品質と速度のバランスを見ながらSonnetまたはHaikuを使う、といった分担ができます。従量課金では、こうした最適化は常にclaude api 料金とのトレードオフになります。高性能modelを使うたびにコストが上がるため、本当はOpusを使いたい場面でもSonnetやHaikuに落とす判断が起こりがちです。しかしclaude 無制限のgatewayなら、各roleに必要な品質だけを基準にmodelを選べます。cost savingではなくtask outcomeを中心に設計できることが、OpenCodeを長時間使う開発者にとって大きなメリットです。
MCP連携とTool拡張
OpenCodeはMCP、つまりModel Context Protocol serverに対応しており、agentの能力をcustom toolで拡張できます。opencode.jsonのmcp sectionにserver command、arguments、environmentを指定すると、そのMCP serverが提供するtoolをOpenCodeのagentから利用できるようになります。たとえばdatabase client、internal documentation検索、deployment操作、monitoring dashboard、issue tracker、design system metadataなどをMCP経由で接続できます。toolを追加してもOpenCode本体のコードを変更する必要はなく、設定だけでagentが扱える世界を広げられるのがMCPの強みです。
ただしMCP toolはtoken消費の面で見落とされがちなコストを持ちます。各toolのschemaやdescriptionは、requestごとにsystem promptへ含まれるため、実際にtoolを呼び出していない場合でもbaseline token usageが増えます。tool数が少なければ問題になりにくいですが、複数のMCP serverを接続し、それぞれが多くのtoolを提供していると、実作業が始まる前のtool definitionだけで5,000〜10,000 token程度になることもあります。さらにagentがMCP toolを実行すると、tool callのarguments、tool result、error message、返却されたJSONやlogがconversationに追加されます。結果として、MCPを活用するほどOpenCodeのcontextは豊かになりますが、同時にAPI usageも増えます。
無制限環境では、このtool-richな構成をコスト理由で削る必要がありません。本当に役立つMCP serverであれば、database、docs、deployment、observability、cloud resource、ticket管理などをまとめて接続できます。agentは作業中に必要な情報へ直接アクセスし、terminal commandだけでは得にくいcontextも取得できます。たとえばmigration作業でschemaを確認し、関連issueを読み、staging deploymentの状態を見て、test failureをmonitoring logと照合する、といった流れを1つのOpenCode session内で進められます。通常の従量課金では、このような豊富なtool setは毎回のrequest overheadとして料金に反映されますが、AI Prime Tech Unlimitedならflat rateで吸収できます。結果としてOpenCodeは、単なるcoding assistantではなく、開発に必要なsystemへ横断的にアクセスする統合terminal workspaceとして機能しやすくなります。
継続的なTerminal SessionとContextの増大
OpenCodeはpersistentなterminal sessionを維持し、agentがcommandを実行してoutputを観察できるようにします。多くのAI coding toolはcommandを一度実行して結果だけを見るfire-and-forget型に近い動きをしますが、OpenCodeのagentはlong-running processを監視し、streaming outputを読み、状況の変化へリアルタイムに反応できます。development serverを起動したままlogを追ったり、test watcherを走らせたり、build processの途中経過を観察したりできます。これらのterminal interactionはすべてconversation contextへ追加されます。command output、error message、stack trace、compiler warning、log lineが積み重なり、agentが参照できる履歴になります。
典型的な開発sessionでは、build、test、fixのcycleを何度も繰り返します。TypeScriptのcompile errorを読み、unit testの失敗箇所を確認し、修正して再実行し、今度はintegration testのlogを読む、といった流れです。各cycleでterminal outputがcontextへ追加されます。compiler error、test result、application log、server startup message、dependency warningなどは、どれもagentにとって有用な情報です。一方でtoken量は急速に増えます。1時間のactive developmentだけでも、terminal output由来のcontextが数万tokenに達することは珍しくありません。そこにfile contents、diff、conversation history、MCP tool resultsが加わるため、OpenCode sessionはcontext limitに近づきやすい性質を持っています。
無制限プランでは、この継続的なworkflowをtoken anxietyなしで回せます。test suiteの実行をOpenCodeに見守らせ、build outputを観察させ、server logを監視させても、追加の観察ごとに料金を気にする必要がありません。agentはsystemの現在状態をより正確に把握できるため、単発のエラー文だけを貼り付けるよりも、原因分析や修正判断の精度が上がります。特にwatch mode、hot reload、long-running dev serverを使うmodern frontend/backend開発では、terminal上の連続的なsignalが重要です。claude api 料金が従量制だと、長いlogを読ませること自体に心理的な抵抗が生まれますが、flat rateなら必要な情報を惜しまず渡せます。OpenCodeの「terminalに常駐するAI teammate」という価値は、Claude APIを無制限に近い形で使えるときに最も引き出されます。
Build AgentとPlan Agentの使い分け
Build agentは変更を直接実装するためのagentです。fileを読み、codeを書き、commandを実行し、結果を検証します。何をすべきかが明確なtaskに向いています。たとえば特定のbugを直す、明確なrequirementsに沿ってfunctionを追加する、既存patternに合わせてrefactorする、formattingの崩れを直す、renameを行う、といった作業です。Buildはaction-orientedで、余計な検討を挟まずに進めるため、単純で範囲が限定された作業では効率的です。OpenCodeを日常的に使う場合、短い修正や機械的な変更はBuildに任せるとテンポよく進みます。
Plan agentは、実装前にapproachを考えるためのagentです。requirementsを分析し、制約を整理し、代替案を比較し、どの順番で進めるかを構造化したplanにします。その後、必要に応じてimplementation stepをdelegationします。曖昧なtask、architecture decision、複数fileにまたがる変更、既存仕様の理解が必要な修正、失敗時の影響が大きいmigrationなどでは、Plan agentが有効です。最初に考える時間を使うぶんAPI callは増えますが、複雑な作業では手戻りを減らし、より安全な変更につながります。特にOpenCodeのsubagentやMCP toolと組み合わせると、Plan agentは調査と実装を分け、並列に情報収集しながら高品質な方針を作れます。
無制限環境では、少しでも非自明なtaskにはPlan agentをdefaultにする運用が現実的です。planningとreasoningに追加のAPI callを使っても、料金面のペナルティがないためです。従量課金では「この程度ならplanを省いてよいか」と考えがちですが、AI Prime Tech Unlimitedでは品質を優先できます。複雑なbug、database schema変更、authentication周りの修正、multi-package repositoryの変更などは、Planで進めるほうが安全です。一方で、format修正、単純なrename、明らかなtypo修正、1行の設定変更のように、planningがoverheadにしかならない作業ではBuild agentが適しています。costではなくtask complexityを基準にBuildとPlanを選べることが、claude 無制限運用の大きな利点です。
OpenCode Provider設定のTroubleshooting
OpenCodeがproviderを読み込まない場合、まずnpm packageがinstallされているか確認します。OpenAI-compatible pathならproject directoryでnpm install @ai-sdk/openai-compatibleを実行し、native Anthropic pathならnpm install @ai-sdk/anthropicを実行します。OpenCodeはprovider packageをprojectのnode_modulesから解決するため、packageが存在しないとprovider設定が期待どおりに動きません。環境によっては明確なerrorではなく、設定が無視されたように見えることがあります。monorepoでは、opencode.jsonが置かれているdirectoryとnode_modulesの位置、package manager workspaceの解決ルールも確認してください。pnpmやyarn workspaceを使っている場合、依存関係が想定した場所にinstallされているかが重要です。
connection errorが出る場合は、baseURLの形式がprovider packageに合っているかを確認します。@ai-sdk/openai-compatibleは/v1 suffix付きのURLを期待します。つまりhttps://claudeapikey.dev/v1です。@ai-sdk/anthropicはroot hostを期待するため、https://claudeapikey.devを指定し、/v1は付けません。この違いを混同すると404 errorやmodel not availableのようなわかりにくいmessageになることがあります。HTTP errorが直接表示されず、OpenCode側ではmodelが存在しない、providerが応答しない、authenticationに失敗したように見える場合もあります。claude api キーが正しいか、余分なspaceや改行が入っていないか、env var名を間違えていないかも合わせて確認してください。claude code api キー設定と同じkeyを流用する場合でも、toolごとに読み込むenv var名が違うことがあります。
primary agentは動くのにsubagentだけ失敗する場合は、model configurationが完全かどうかを確認します。subagentはprimary modelを使うとは限らず、個別のmodel assignmentを参照していることがあります。そのmodel entryがopencode.jsonに存在しない、provider名が間違っている、gateway側でサポートされていないmodel IDを指定している、といった場合、subagentがsilent failureのように見えることがあります。すべてのmodel entryがvalidなproviderを参照し、AI Prime Tech Unlimited gatewayで利用できるmodel IDになっているかをチェックしてください。また、teamで設定を共有している場合、ある開発者のlocal env varにはAPI keyがあるが、別の開発者の環境にはない、という差分もよくあります。Claude api 購入後は、keyの配布方法、rotation、local developmentとCIでの設定方法をREADMEやinternal docsに明記しておくと、OpenCodeの導入トラブルを減らせます。
// opencode.json - OpenAI互換パス
{
"providers": {
"unlimited": {
"package": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://claudeapikey.dev/v1",
"apiKey": "<your AI Prime Tech Unlimited key>"
}
}
},
"models": {
"sonnet": { "provider": "unlimited", "model": "claude-sonnet-4-5" },
"opus": { "provider": "unlimited", "model": "claude-opus-4-6" },
"haiku": { "provider": "unlimited", "model": "claude-haiku-4-5" }
},
"agent": { "model": "sonnet", "small_model": "haiku" }
}
FAQ
OpenCodeでClaudeを使う場合、どのnpm packageを選べばよいですか?
@ai-sdk/openai-compatibleを使い、baseURLをhttps://claudeapikey.dev/v1に設定する方法、または@ai-sdk/anthropicを使い、baseURLをhttps://claudeapikey.devに設定する方法があります。後者では/v1を付けません。どちらも動作しますが、OpenCodeの設定ではOpenAI-compatible pathのほうが一般的で扱いやすいことが多いです。
OpenCodeのsubagentはAPI使用量にどう影響しますか?
explore、scout、custom agentなどのsubagentは、それぞれ独立したconversationと増え続けるcontextを持ちます。3つのsubagentが並列に10 turnずつ動けば、30回の個別API callになります。AI Prime Tech Unlimitedの無制限プランでは、この並列処理もflat rateに含まれるため、コストを気にせず活用できます。
small_modelとは何で、いつ使われますか?
small_modelはsummary生成、出力formatting、短いlookupなど、深い推論より速度が重要な軽量taskに使われます。軽い処理の応答速度を優先するならclaude-haiku-4-5を設定するのがおすすめです。
OpenCodeでcustom agentを定義できますか?
はい。opencode.jsonにagent definitionを追加し、custom system prompt、tool access、model assignmentを指定できます。無制限プランなら、research、implementation、review、documentationなどworkflowに必要な専門agentを、agentごとのコストを気にせず作れます。
terminal session中にOpenCodeのcontextが大きくなるのはなぜですか?
OpenCodeはpersistentなterminal sessionを維持し、build log、test result、error messageなどのcommand outputをconversation contextへ蓄積します。active developmentを1時間続けるだけでも、terminal outputだけで数万token増えることがあります。無制限プランでは、このcontext growthによる追加コストを気にせず使えます。
Get an API key — no Anthropic account or waitlist required.
Get your API key