0% read

Gemma 4 × Claude Code Router:Claude Code をローカルモデルで動かす(2026)

4月 16, 2026

Gemma 4 × Claude Code Router:Claude Code をローカルモデルで動かす(2026)

Claude Code は Anthropic がリリースしたターミナル型 AI コーディングツールで、コンテキスト理解とコード生成の質に定評があります。ただしデフォルトかつ唯一サポートされるバックエンドは Anthropic のクラウド API で、ソースコードは毎回アップロードされ、利用のたびに課金が発生します。

コードの機密性、オフライン環境、あるいは制限の厳しい社内ネットワークで働くエンジニアにとって、これは実用上の大きなハードルです。Claude Code Router(CCR) はコミュニティ発の OSS プロキシで、Claude Code の API リクエストを横取りし、指定したバックエンド(OpenAI、ローカル Ollama、その他互換 API)へ転送します。つまりローカルの Gemma 4 を Claude Code の「頭脳」として使えるわけです。

本記事ではセットアップ全体を丁寧に追いかけます。CCR のインストール、Gemma 4 バックエンドの設定、実運用例、そして必ず理解しておくべき利用制限とリスクまで。推奨記事ではなく、グレーゾーンの選択肢を正直に紹介するスタンスで書きます。

なぜ Claude Code をローカルモデルで動かしたいのか

具体的な手順の前に、需要の合理性を整理しておきます。以下はいずれも現実的なシナリオです。

規制業界のコードベース。 金融、防衛、医療、一部官公庁ではソースコードの外部送信が許されません。Anthropic 側の利用規約でこの要件は満たせず、ローカルモデルなら社内ネットワークの外に出ません。

不安定または遮断されたネットワーク。 リモートワークの劣悪な Wi-Fi、長時間フライト、野外研究、セキュアラボ。クラウド API は落ちますが、ローカルモデルは動き続けます。

カスタム / ファインチューニング済みモデル。 特定ドメイン(バイオインフォ、EDA、社内 DSL)に寄せた Gemma 4 を使いたい。Claude Code の UX はそのまま活かしつつ、重みだけ差し替えたい、という使い方です。

いずれも技術的に合理な動機であり、「Claude に課金したくない」とは別の話として扱います。

注意事項(実行前に必ず読んでください)

免責事項: 以下の手順は Claude Code の上流 API エンドポイントをサードパーティのローカルプロキシに書き換えます。Anthropic の利用規約の扱い次第では Claude Code の使用許諾に違反する可能性があり、アカウント停止のリスクも否定できません。本記事は技術ドキュメントであり法的助言ではありません。社内導入を検討する場合は、必ず法務・セキュリティチームのレビューを経てください。

加えて技術的なトレードオフも受け入れる必要があります。

  1. 機能のダウングレード。 extended thinking、prompt caching、一部の tool use フォーマットは Anthropic モデル前提で設計されています。Gemma 4 に差し替えた時点でこれらは動作劣化・挙動異常・サイレントフェイルの可能性があります。
  2. 出力品質の差。 Gemma 4 26B / 31B は優秀な OSS モデルですが、複雑なマルチファイル推論では Claude 3.5 / 4 に及びません。期待値は下げてください。
  3. コミュニティプロジェクトで SLA なし。 CCR はボランティア運営です。Anthropic 側のワイヤフォーマット変更で一夜にして壊れる可能性があり、サポート契約は存在しません。

これらを受け入れられる方のみ読み進めてください。

Claude Code Router の正体

CCR は Node.js で書かれた小さなローカル HTTP プロキシです。役割はシンプルです。

  1. ローカルポートで待機する。
  2. Anthropic Messages API 形式のリクエストを受け取る。
  3. OpenAI 互換フォーマット(Ollama / LiteLLM / OpenRouter など)に変換して転送する。
  4. 返ってきたストリーミングレスポンスを Claude Code 期待の形式に戻す。

肝はこのフォーマット変換です。メッセージロール、tool call ブロック、ストリーミングの delta、stop reason など両 API で微妙に異なる部分を吸収し、Claude Code から見ると Anthropic と話しているようにふるまいます。

事前準備

  • Node.js 18+(CCR は Node プロジェクト)
  • Ollama インストール済み・起動中(ollama.com
  • Gemma 4 26B または 31B を Ollama で pull 済み
  • Claude Codenpm install -g @anthropic-ai/claude-code
  • ハードウェア:26B は 16 GB 以上、31B は 24 GB 以上のメモリ推奨。詳細は末尾の関連記事へ。

Step 1:Claude Code Router をインストールする

リポジトリを clone して依存関係をインストールします。

git clone https://github.com/<org>/claude-code-router.git
cd claude-code-router
npm install

リポジトリ URL は fork ごとに異なります。CCR はコミュニティプロジェクトなので、GitHub で "claude code router" や "claude code proxy" を検索し、直近コミットのあるメンテナンスブランチを選んでください。

Step 2:CCR を Ollama に向ける

CCR ディレクトリに .env(fork によっては config.json)を作成します。

UPSTREAM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=gemma4:26b-a4b
PORT=8082

プロキシを起動します。

npm start

次のようなログが出れば成功です。

Claude Code Router started on port 8082
Upstream: ollama (gemma4:26b-a4b)
Ready to accept connections

HTTP エンドポイントを軽く疎通確認します。

curl http://localhost:8082/v1/models

Gemma 4 モデルを含む JSON が返るはずです。

Step 3:Claude Code を CCR に向ける

Claude Code は ANTHROPIC_BASE_URL で API エンドポイントを決めます。ローカルプロキシを指定します。

export ANTHROPIC_BASE_URL="http://localhost:8082"
export ANTHROPIC_API_KEY="local"   # 非空ならどんな値でも可
claude

Claude Code はいつも通り起動し、すべてのリクエストが CCR 経由で Gemma 4 に流れます。

毎回環境変数をいじりたくなければ ~/.zshrc / ~/.bashrc に書くか、alias で切り替えるのが実用的です。

alias claude-local='ANTHROPIC_BASE_URL=http://localhost:8082 ANTHROPIC_API_KEY=local claude'

こうすると claude は公式 API、claude-local はローカル Gemma 4、と用途を分けられます。

Step 4:実運用してみる

コード解説:

> src/auth/middleware.ts が何をしているか説明して

Gemma 4 がファイルを読み、要約してくれます。単一ファイルなら十分、複数モジュールをまたぐ深い推論は苦手です。

新規エンドポイント生成:

> src/api/health.ts を作成。GET /api/health でステータスとバージョンを返すハンドラを実装して

CRUD や HTTP スキャフォールドの類はよく書けます。

バグ修正:

> npm test で "Cannot read properties of undefined" が出る。src/utils/parser.ts を見てほしい

明確なスタックトレースがあれば Gemma 4 はたいてい原因を特定します。エラー信号の薄い潜在バグは目に見えて難しくなります。

実際の体験比較

観点Claude Code(公式)CCR + Gemma 4 26BCCR + Gemma 4 31B
コード生成品質非常に高い中程度(GPT-3.5 級)良好(GPT-4 近似)
マルチファイル推論非常に高い弱い中程度
Tool use 互換性完全一部異常一部異常
Extended thinking対応非対応非対応
レスポンス速度高速(クラウド)20–40 t/s15–30 t/s
プライバシーコードが外部に出る完全ローカル完全ローカル
オフライン不可
月額従量課金0 円0 円

向く用途:単一ファイルのコード生成、コード解説、小規模バグ修正、オフライン/隔離環境での暫定利用。

向かない用途:大規模リファクタ、長文脈のマルチファイル編集、extended thinking 前提の深い推論。

他のローカル AI コーディング構成との比較

選択肢ネイティブローカル対応プロキシ必要Git 連携マルチファイル編集成熟度
Aider + Gemma 4ネイティブ不要自動コミット強い高(30K+ stars)
Codex CLI + Gemma 4設定必要不要なし単一ファイル中心
CCR + Claude Code + Gemma 4非対応CCR 必要なし強い(Claude Code 継承)低(実験的)
Cursor + Ollamaプラグイン必要不要なし強い

率直な所感: 「ローカルモデル + ターミナル編集」が目的なら、Aider の方が成熟した選択肢です。CCR が正解になるのは、すでに Claude Code のワークフローに深く投資していて、かつ明確なプライバシー/オフライン要件がある場合に限られます。

トラブルシューティング

"Port already in use".envPORT を変えるか、8082 を掴んでいるプロセスを落とします。

lsof -i :8082
kill -9 <PID>

Claude Code が "Authentication failed"ANTHROPIC_API_KEY が空でないこと、ANTHROPIC_BASE_URL が CCR のポートを指していることを確認してください。

出力が文字化け/途切れる — CCR のフォーマット変換は完全ではありません。git pull && npm install で最新化、31B に切り替え(フォーマット追従がマシ)、プロンプトを簡素化、を順に試してください。

レスポンスが遅いollama ps で Ollama が GPU 稼働か確認。メモリがつらい場合は GGUF 量子化の検討を。

FAQ

Q:CCR を使うと Anthropic にアカウント停止されますか? A:リスクはゼロではありません。Claude Code の API エンドポイント書き換えは利用規約違反の可能性があります。法的助言はできません。商用導入では必ず法務に相談してください。

Q:Gemma 4 は Claude を完全に置き換えられますか? A:できません。Claude Code は Anthropic モデル特有の能力(extended thinking、特定の tool use フォーマット、深い文脈処理)を前提に設計されています。Gemma 4 はその機能サブセットとして使うのが現実的です。

Q:Windows でも動きますか? A:動きます。Node.js と Ollama はクロスプラットフォームで、インストール手順も同じです。

Q:GPT-4 など他のクラウドモデルにも向けられますか? A:CCR は OpenAI を含む複数の上流に対応しますが、そうすると「ローカルプライバシー」という本来の価値が失われ、上流側の課金も発生します。

Q:なぜ Aider や Codex CLI を直接使わないのでしょうか? A:多くの場合それが正解です。Aider の repo map と自動 git commit はローカルモデル運用と相性が良い。Claude Code の UX がどうしても必要なケースに限り CCR を検討してください。詳細は Aider + Gemma 4 ガイド

Q:Gemma 4 E2B / E4B は使えますか? A:技術的には可能ですが実用は困難です。4B / 8B は agentic なコーディング負荷に耐えられません。最低 26B 推奨です。

Q:チームの本番運用に使えますか? A:おすすめしません。ToS リスクに加え、CCR は個人メンテのプロキシです。共有経路に乗せるのは避け、個人調査や限定的なパイロットに留めるのが安全です。

関連記事

gemma4 — interact

Stop reading. Start building.

~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.

Launch Playground />
Gemma 4 AI

Gemma 4 AI

Related Guides

Gemma 4 × Claude Code Router:Claude Code をローカルモデルで動かす(2026) | ブログ