
Claude向けのOpenCode設定:opencode.jsonの設定、モデル、よくあるエラー
OpenCodeは次のファイルから設定を読み込みます: opencode.json。このゲートウェイ経由でClaudeを利用するには、Anthropicプロバイダーの次の値を変更し、 baseURLキーを設定します。以下では、動作する設定例をふたつ、重要なモデル設定とコンテキスト設定、そして当社の実際のリクエストログに基づく、このゲートウェイでOpenCodeユーザーが遭遇するエラーの解決方法を紹介します。
opencode.jsonの配置場所
OpenCodeはグローバル設定とプロジェクトごとの設定を統合します。 ~/.config/opencode/opencode.json はすべての環境に適用したい設定に使用し、 opencode.json はプロジェクトのルートに配置して、そのリポジトリに適用します。次の $schema 行を追加すると、ほとんどのエディターで自動補完と検証を利用できます。
キーをファイルに記載しないでください。環境変数に格納し、次の形式で参照してください: {env:AIPRIME_API_KEY}。次の方法で追加したキーは、 /connect OpenCode内で追加すると、次の場所に保存されます: ~/.local/share/opencode/auth.json; opencode auth list で、そこに保存されている内容を確認できます。
export AIPRIME_API_KEY=your_gateway_key # add to ~/.bashrc or ~/.zshrc
opencode auth list # credentials OpenCode already knows about方法1:組み込みのAnthropicプロバイダーをゲートウェイに接続
最小限の変更で済む方法です。OpenCode独自のAnthropicプロバイダーとそのモデル一覧を維持し、リクエストの送信先を上書きします。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://aiprimetech.io/v1",
"apiKey": "{env:AIPRIME_API_KEY}"
}
}
},
"model": "anthropic/claude-sonnet-5",
"small_model": "anthropic/claude-haiku-4-5"
}baseURL の末尾に必要なのは /v1。OpenCodeのAnthropicプロバイダーはAI SDKの @ai-sdk/anthropicで、デフォルトは https://api.anthropic.com/v1です。次のパスを追加します: /messages 指定した値に追加します。これがない場合、 /v1 リクエストはウェブサイトに到達してHTMLを返し、OpenCodeはこれを解析エラーとして報告します。選択肢2:独自のモデル一覧を持つカスタムプロバイダー
プロバイダーの設定を別に用意すると、ゲートウェイをAnthropicのログインから切り離し、モデル選択欄に表示するモデルを厳密に指定し、モデルごとにコンテキストの上限を設定できます。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"aiprime": {
"npm": "@ai-sdk/anthropic",
"name": "AI Prime Tech",
"options": {
"baseURL": "https://aiprimetech.io/v1",
"apiKey": "{env:AIPRIME_API_KEY}"
},
"models": {
"claude-sonnet-5": { "name": "Claude Sonnet 5", "limit": { "context": 200000, "output": 64000 } },
"claude-opus-5-5": { "name": "Claude Opus 5.5", "limit": { "context": 200000, "output": 64000 } },
"claude-haiku-4-5": { "name": "Claude Haiku 4.5", "limit": { "context": 200000, "output": 32000 } }
}
}
},
"model": "aiprime/claude-sonnet-5",
"small_model": "aiprime/claude-haiku-4-5"
}優先的に選ぶのは @ai-sdk/anthropic をClaudeに使用します。ネイティブのMessages APIを使用するため、プロンプトキャッシュと思考機能がAnthropicの設計どおりに動作します。ゲートウェイはOpenAI形式にも対応しているため、 @ai-sdk/openai-compatible も同じ https://aiprimetech.io/v1 ベースURLで動作し、同じキーでGPTモデルを使用する場合はこちらの経路を使います。
モデルとコンテキストの上限
| モデルID | 用途 |
|---|---|
claude-sonnet-5 | コーディングとエージェント作業の標準モデル:高速、高性能、中程度の価格。 |
claude-opus-5-5 | より難しい推論、大規模なリファクタリング、長時間のエージェント実行。 |
claude-fable-5-1 | 最も高性能で最も高価。最も難しいタスクに絞って使いましょう。 |
claude-haiku-4-5 | 低価格で高速:タイトル、要約、分類、小さな処理。 |
model はメインエージェントが使用するモデルです。 small_model はセッションタイトルの生成など、低コストの補助タスクを処理します。 limit.context の数値は、セッションをいつ圧縮するかをOpenCodeに伝えます。長いセッションで次のエラーが発生する場合: prompt is too long、この値を下げてください(200000が安全な値です)。これにより、エンドポイントの受け入れ上限を超えて送信する前に、OpenCodeが早めに要約を行います。
モデルIDは完全に一致する文字列で指定します。次のような古い名前: claude-3-5-sonnet-20241022 や日付付きのスナップショットは提供されていません。上記のIDか、ダッシュボードの一覧にあるIDを使用してください。
OpenCodeを起動する前にキーとURLを確認する
ターミナルからリクエストを送信すれば、OpenCodeの設定とは独立して、キーとURLが正しいかを確認できます。
curl -s https://aiprimetech.io/v1/messages \
-H "x-api-key: $AIPRIME_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":20,"messages":[{"role":"user","content":"ping"}]}'JSONの応答に content 配列が含まれていれば、ゲートウェイ側は正常であり、残っている問題は次の設定にあります: opencode.json. Invalid API key は、変数が空であるか、誤ったキーが格納されていることを意味します。
トラブルシューティング:OpenCodeユーザーが遭遇するエラー
このゲートウェイでOpenCodeを使用する際によく発生するエラーと、それぞれの解決方法を紹介します。
| 表示される内容 | 原因 | 対処方法 |
|---|---|---|
JSON の解析エラー、次で始まるレスポンス < | baseURL なしで /v1:リクエストがAPIではなくウェブサイトに到達しています | 末尾を baseURL 置き換え先: /v1 |
404 page not found | /v1 が重複し、パスが次のようになっています: /v1/v1/messages | 次の値をそのまま使用してください: https://aiprimetech.io/v1 |
Invalid API key | OpenCodeを起動したシェルで変数がエクスポートされていないか、別のキーが使用されています | echo $AIPRIME_API_KEY, opencode auth listしてから、OpenCodeを再起動してください |
| モデルがサポートされていない/モデルが見つからない | エンドポイントで提供されていないIDです。古い日付付きの名前が原因であることがよくあります | 上の表にあるIDを使用してください |
prompt is too long: N tokens > N tokens | セッションがモデルの受け入れ上限を超えました | /compactし、次の値を下げてください: limit.context |
Concurrency limit exceeded for user | 並列サブエージェントがキーの同時実行数の上限を超えています | 同時に実行するサブエージェントを減らすか、サポートに同時実行数の上限引き上げを依頼してください |
Insufficient account balance | 残高がない | チャージ して、再試行してください |
No available accounts または This request could not be completed | 上流側で一時的な処理容量の問題が発生しています | メッセージを再送信してください。問題が続く場合はモデルを切り替えてください |
クライアントではなくモデル側で発生するエラーについては、次を参照してください: Claude APIエラーガイド.
よくある質問
OpenCodeの設定ファイルはどこにありますか?
APIキーを使ってOpenCodeでClaudeを使用するにはどうすればよいですか?
OpenCodeで解析エラーが発生したり、応答が「<」で始まったりするのはなぜですか?
OpenCodeでClaude ProまたはMaxのログインを使用できますか?
APIキーを取得 — Anthropicアカウントもウェイトリストへの登録も不要です。
APIキーを取得AI Prime Techは独立したAPIゲートウェイです。Anthropicとの提携関係はなく、同社の承認を受けておらず、同社の再販業者でもありません。Claudeおよび関連するモデル名は、それぞれの所有者の商標です。