連携ガイド
CodeRouter は、OpenAI 互換のエンドポイント(/v1/chat/completions)、Codex CLI 向けの OpenAI Responses エンドポイント(/v1/responses)、Anthropic 互換のエンドポイント(/v1/messages)を提供しています。主要なコーディングエージェントはいずれもこのどれかのプロトコルで通信するため、たいていはベース URL の環境変数を 1 つ上書きするだけで済みます。以下では、エージェントごとの設定手順と、本番運用で実際に遭遇したハマりどころを紹介します。
Claude Code
Claude Code v2.x は Anthropic Messages API で通信します。接続先を https://www.coderouter.io に向け(/v1/messages は Claude Code が自動で付け足します)、モデルには auto を指定してください。
1 行でセットアップ
curl -fsSL https://www.coderouter.io/setup.sh | bash -s -- cr_YOUR_KEY_HERE claude
このスクリプトは、下記の変数を ~/.claude/settings.json の env ブロックに追加し、ほかの設定には手を加えません。まず既存のファイルをバックアップし、CodeRouter でキーを確認し(モデルは呼び出しません)、何を変更したかを正確に表示します。シェルに ANTHROPIC_API_KEY が設定されている場合は警告も出します。動作には python3 または node が必要です(macOS と Linux)。元に戻すには curl -fsSL https://www.coderouter.io/setup.sh | bash -s -- --uninstall を実行します。API キーのページには、ご自身のキーが入った状態のコマンドが表示されます。
ANTHROPIC_AUTH_TOKEN を Authorization: Bearer として送信し、ANTHROPIC_API_KEY や Claude へのログインよりも優先して、承認の確認なしで使います。ANTHROPIC_API_KEY は x-api-key ヘッダーで送られ、対話モードでは一度承認した後にしか使われません(以前に拒否したキーは確認なしで無視され、その場合は Claude のサブスクリプションのまま動きます)。シェルのプロファイルに Anthropic のキーを書いているなどで ANTHROPIC_API_KEY も設定されている場合、Claude Code はそれも送ることがあります。どちらにしても CodeRouter は cr_ キーを使いますが、混乱を避けるために unset ANTHROPIC_API_KEY を実行してください。または:このセッションだけ環境変数で設定
export ANTHROPIC_BASE_URL=https://www.coderouter.io export ANTHROPIC_AUTH_TOKEN=cr_YOUR_KEY_HERE export ANTHROPIC_MODEL=auto export ANTHROPIC_DEFAULT_OPUS_MODEL=auto export ANTHROPIC_DEFAULT_SONNET_MODEL=auto export ANTHROPIC_DEFAULT_HAIKU_MODEL=auto # v2.x の実験的ベータ機能は、サードパーティのゲートウェイで不具合を起こすことがあります。 # この環境変数で無効にします。常に設定したままでも問題ありません。 export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 claude
または手動で — ~/.claude/settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://www.coderouter.io",
"ANTHROPIC_AUTH_TOKEN": "cr_YOUR_KEY_HERE",
"ANTHROPIC_MODEL": "auto",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "auto",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "auto",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "auto",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}CodeRouter を経由しているか確認する
起動後、Claude Code のヘッダーに Claude Max ではなく API Usage Billing と表示されていれば正しく設定できています。Claude Max と表示される場合は、Claude へのログインが認証情報として使われています。/status を実行して Claude Code がどの認証情報を選んだかを確認し、ログアウトしてから起動し直してください:
/logout # Claude Code の中で実行 claude auth logout # またはシェルから実行 # その後 claude を再起動します(変数を export した場合は、その変数が入ったシェルから)
/model コマンドでカスタムモデル名を追加できない場合は、コマンドラインで --model auto を渡してください:claude --model auto。または npm i -g @anthropic-ai/claude-code@latest でアップグレードします。Codex CLI
Codex CLI は OpenAI Responses API で通信します。CodeRouter はこれを https://www.coderouter.io/api/v1/responses で提供しています。Codex の設定で wire_api = "responses" を付けて CodeRouter をモデルプロバイダーとして追加し、モデルには auto を指定してください。
~/.codex/config.toml
model = "auto" model_provider = "coderouter" [model_providers.coderouter] name = "CodeRouter" base_url = "https://www.coderouter.io/api/v1" env_key = "CODEROUTER_API_KEY" wire_api = "responses"
キーの設定
export CODEROUTER_API_KEY=cr_YOUR_KEY_HERE # 永続化するには ~/.zshrc か ~/.bashrc に追記します codex
X-CodeRouter-Model が付きます。スマートルーティング(デフォルト)では、設定に書いたモデル名は auto として扱われます。Direct モードでは、model にモデルページのモデル ID を設定すると、そのモデルを使えます。store = false、毎回のリクエストに会話全体を含める)は動作し、previous_response_id は受け付けますが無視されます。保存済みレスポンスの取得や削除は 501 を返します。Codex の shell や update_plan などの関数ツールはモデルに渡されますが、組み込みツール(Web 検索、ファイル検索)とカスタムのフリーフォームツールは渡されません。お使いの Codex のバージョンが apply_patch をカスタムツールとして送る場合、モデルにはそのツールが見えないため、ファイルの編集は shell 経由でしかできません。うまく動かない場合は、Codex のバージョンとエラー内容を添えて support@coderouter.io までメールしてください。Cursor
Cursor はモデル名を文字列のホワイトリストで管理しているため、ピッカーに表示させるには auto をカスタムモデルとして追加する必要があります。設定は UI だけで完結し、環境変数は不要です。
- Cursor を開き、
Cmd+Shift+P(またはCtrl+Shift+P)を押して「Cursor Settings」と入力します - 左サイドバーの Models をクリックします
- OpenAI API Key セクションで 「Override OpenAI Base URL」 をオンにし、次の値を貼り付けます:
- URL:
https://www.coderouter.io/api/v1 - キー:
cr_YOUR_KEY_HERE
- URL:
- Verify をクリックします。緑の ✓ が表示されれば成功です
- Models まで上にスクロールし、+ Add custom model をクリックして
autoと入力します autoのチェックボックスをオンにして有効にします- チャットのモデル選択(チャット右上のドロップダウン)で
autoを選びます
auto を有効にすれば、Cursor のすべての機能が CodeRouter 経由でルーティングされます。auto をカスタムモデルとして追加すれば、実際のリクエストは正常に動作します。トラブルシューティング
「There's an issue with the selected model (auto)」
Claude Code でのみ発生します。原因は 3 つ考えられます(可能性の高い順):
cr_キーが認証情報として使われておらず、リクエストが Claude のサブスクリプションに送られています(たとえば、キーをANTHROPIC_API_KEYに設定していて Claude Code が承認後にしか使わない場合や、セットアップ前にセッションを開始していた場合)。キーをANTHROPIC_AUTH_TOKENに設定して Claude Code を再起動し、/statusを確認したうえで、バッジが Claude Max ではなく API Usage Billing になっていることを確かめてください。- 古い Claude Code v2.1.x で新しいベータ機能が有効になっている場合です。env に
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1を追加してください。 - ベース URL の形式が誤っていて、リクエストに
/v1が二重に付いている場合です。CodeRouter は内部のリライトにより、https://www.coderouter.ioとhttps://www.coderouter.io/api/v1のどちらも受け付けます。
「Your free trial has ended」/「usage credit is used up」(HTTP 429)
無料トライアルは 7 日間で $5 分の使用量があり、クレジットカードは不要です。登録から 7 日が経過するか、クレジットを使い切るかの早いほうで終了し、その後のリクエストにはこれらのメッセージのいずれかとともに HTTP 429 が返ります。使い続けるには、残高をチャージして従量課金で利用するか(/pricing を参照)、/dashboard/models でご自身のプロバイダーキーを追加して、そのキーで利用してください。クレジットの残りが少なくなると、入力だけで残りのクレジットとほぼ同じ額がかかるリクエストには「usage credit is used up for this request」が返り、必要な額と残額が示されます。短いリクエストであれば通る場合があります(CodeRouter が変更するパラメーターを参照)。
「Rate limit exceeded」(HTTP 429)
キー単位とユーザー単位のレート制限があります。デフォルト値:無料トライアル 60、従量課金 1,000、Team 2,400 リクエスト/分(以前のプランはそれぞれの上限のままです)。再試行のタイミングは、レスポンスヘッダーの X-RateLimit-Reset で確認してください。
そのほかのエラー
次の情報を添えて support@coderouter.io までメールしてください:
- 正確なエラーメッセージと HTTP ステータスコード
- エージェントの名前とバージョン
- 再現用の curl コマンド全体(
cr_キーは除いてください)
その他のツールと詳細
以下のツールの設定、確認手順、CodeRouter が変更するパラメーター、長い会話の扱い、コーディングエージェントのセッションのルーティング方法、エラーの一覧は英語のガイドにあります: