Anthropicの定額プランなしで、ターミナル上のAIコーディング環境を動かしたい——その需要に応える構成が、Claude Code Router(CCR)とGoogle Gemini 2.5 Flash-Liteの無料枠の組み合わせです。Claude CodeはAnthropic形式のAPIを前提に動きますが、CCRがリクエストをGemini向けに変換するため、見た目はClaude Codeのまま、裏側はGoogleのモデルで処理できます。

この記事では、公式ドキュメントとOSSのREADMEに沿って、インストールから設定、起動、注意点までを順に説明します。

この記事でわかること

  • CCRとGemini無料枠でClaude Codeを動かす仕組み
  • Google AI StudioでのAPIキー取得手順
  • config.jsonの具体的な設定例
  • 無料枠のレート制限と運用上の注意点

なぜCCRとGeminiの組み合わせなのか

Claude Codeは、ファイル編集やシェル実行などを含むエージェント型のコーディングCLIです。通常はAnthropicのAPIキーかClaude Pro/Maxなどのサブスクリプションが必要です。一方、Google AI Studioで発行するGemini APIキーには、クレジットカード不要の無料枠があり、gemini-2.5-flash-liteは2.5ファミリーで最も軽量・高速なモデルとして位置づけられています(Gemini API モデル一覧)。

課題はAPI形式の違いです。Claude CodeはAnthropic Messages API形式で通信しますが、Geminiは別形式です。このギャップを埋めるのがCCRです。CCRはローカル(デフォルトでは127.0.0.1:3456)でプロキシを立て、Claude Codeからのリクエストを受け取り、プロバイダごとのtransformerでGemini APIへ変換します。応答もAnthropic形式に戻すため、Claude Code側は差し替えを意識しにくい構成になります(Claude Code Router README)。

X上では、Roundtable Space(0xMarioNawfal)が「Claude Code Routerを入れ、無料枠のGemini 2.5 Flash Liteを向ければ、Claude Codeは違いに気づかない」と紹介しています(元ポスト)。本記事はその構成を、再現可能な手順として整理したものです。

前提となるソフトウェア

以下が揃っていることを確認してください。

  • Node.jsとnpm: Claude CodeとCCRはnpmでグローバルインストールします
  • Claude Code CLI: @anthropic-ai/claude-code
  • Claude Code Router: @musistudio/claude-code-router
  • Google AI StudioのAPIキー: Google AI Studioでプロジェクトを作成し、APIキーを発行

CCRのREADMEでは、まずClaude Codeを入れ、その後CCRを入れる流れが示されています。

npm install -g @anthropic-ai/claude-code
npm install -g @musistudio/claude-code-router

Google AI StudioでAPIキーを用意する

AI Studioでプロジェクトを作成し、APIキーを取得します。無料枠はプロジェクト単位で管理され、APIキーを複数作っても上限は共有されます(Gemini API レート制限)。実際のRPM(1分あたりリクエスト数)やRPD(1日あたりリクエスト数)は、アカウントや利用ティアにより異なるため、AI Studioの「Rate limits」画面で自分のプロジェクトの値を確認してください。

無料枠では、Googleの利用規約によりプロンプトが製品改善に使われる場合があります。社内コードや個人情報を扱う場合は、有料ティアへの移行やデータ取り扱いポリシーの確認が必要です。

CCRの設定ファイルを作成する

設定は~/.claude-code-router/config.jsonに置きます。Geminiプロバイダでは、api_base_urlhttps://generativelanguage.googleapis.com/v1beta/models/を指定し、transformergeminiを有効にします。v1.0.12以降でこのURLが推奨されており、古いバージョンでは接続に失敗する報告があります(GitHub Issue #89)。

APIキーは環境変数参照が使えます。$GOOGLE_API_KEY${GEMINI_API_KEY}のように書くと、平文でconfigにキーを残さずに済みます。

{
  "LOG": true,
  "LOG_LEVEL": "info",
  "HOST": "127.0.0.1",
  "PORT": 3456,
  "APIKEY": "your_local_router_secret",
  "API_TIMEOUT_MS": 600000,
  "Providers": [
    {
      "name": "gemini",
      "api_base_url": "https://generativelanguage.googleapis.com/v1beta/models/",
      "api_key": "$GOOGLE_API_KEY",
      "models": [
        "gemini-2.5-flash-lite",
        "gemini-2.5-flash"
      ],
      "transformer": { "use": ["gemini"] }
    }
  ],
  "Router": {
    "default": "gemini,gemini-2.5-flash-lite",
    "background": "gemini,gemini-2.5-flash-lite",
    "think": "gemini,gemini-2.5-flash-lite",
    "longContext": "gemini,gemini-2.5-flash-lite",
    "longContextThreshold": 60000
  }
}

Routerセクションは、リクエスト種別ごとに使うモデルを指定します。backgroundは、セッション中にファイル読み取りや状態確認などで走る裏側のリクエスト向けです。ここも高価なモデルにすると、見えないAPI消費で無料枠を使い切りやすくなります。メインの対話はdefault、長文コンテキストはlongContextで切り替え可能です。設定変更後はccr restartで反映します。

ターミナルで対話的に設定する場合はccr model、ブラウザUIではccr ui(デフォルトでhttp://localhost:3456)が使えます。

環境変数を設定して起動する

シェルでGoogleのAPIキーをexportします。

export GOOGLE_API_KEY="あなたのAPIキー"

CCRのサービスを起動し、Claude Codeをルータ経由で立ち上げます。

ccr start
ccr code

ccr codeは、Claude CodeをCCRのローカルエンドポイント向けに起動するラッパーです。eval "$(ccr activate)"を実行すると、ANTHROPIC_BASE_URLhttp://127.0.0.1:3456に向き、通常のclaudeコマンドでもルータ経由になるとREADMEに記載されています。この場合も、事前にccr startでプロキシが動いている必要があります。

セッション内で/statusを実行し、Base URLがローカルのCCRを指しているか確認すると、設定ミスを早く見つけられます。

無料枠で使うときの実務上の注意点

Gemini 2.5 Flash-Liteは、低レイテンシ・高スループット向けのモデルです。複雑な推論や大規模リファクタでは、同じ無料枠内のgemini-2.5-flashRouterで切り替える選択肢があります。ただしFlash系も1日のリクエスト上限はプロジェクト共有のため、長時間のClaude Codeセッションではレート制限エラー(HTTP 429相当)が出ることがあります。

Claude Codeは1セッションで多数のAPI呼び出しを発生させます。無料枠のRPDが小さいアカウントでは、数時間の連続利用で上限に達する可能性があります。本番相当の作業には、Google側の有料ティアや別プロバイダへのルーティングを検討してください。

CCRはAnthropic公式の製品ではなく、コミュニティ製のルータです。Gemini向けtransformerの互換性はモデルアップデートで変わることがあり、IssueではGemini CLI連携の是非も議論されています。うまく動かない場合は、CCRのバージョンアップ(npm install -g @musistudio/claude-code-router@latest)と、フォーク版でGemini向け修正を取り込んだ例(wbern/claude-code-router)を参照するのが現実的です。

LiteLLMとの違い

同様の目的で、LiteLLMプロキシを挟む方法も広く紹介されています(liteLLM: Claude Code with Non-Anthropic Models)。LiteLLMは複数プロバイダをまとめて扱う汎用プロキシ、CCRはClaude Code向けのルーティングと/model切り替え、background/thinkなどの役割分担に特化しています。すでにLiteLLMを運用している環境ならそちらを使い、Claude Code専用に手早くGeminiへ向けたい場合はCCRの方が設定が短いことが多いです。

この構成が向く人・向かない人

個人の学習、小規模なOSSメンテ、プロトタイプ検証など、コストを抑えてClaude Codeの操作感を試したい場合に向きます。企業の本番コードベースや機密データを扱う場合は、Anthropic公式の契約・サポート付きプラン、またはGoogle側の有料APIとデータポリシーに沿った設計が前提になります。

手順の要点は次の4点です。Claude CodeとCCRをnpmで入れる。AI StudioでAPIキーを取得する。config.jsonでGeminiプロバイダとRouterを設定する。ccr startのあとccr codeで起動する。無料枠の上限とデータ取り扱いだけ、利用前に自分のプロジェクト設定で確認しておけば、導入コストを抑えたAIコーディング環境を試せます。