Ollama、llama.cpp用のClaude Codeのインストールと設定、および料金

ローカルモデルバックエンドに対応したエージェンティックコーディング

目次

Claude Codeは、マーケティングが上手な自動補完ツールではありません。これはエージェント型コーディングツールです。コードベースを読み取り、ファイルを編集し、コマンドを実行し、開発ツールと統合します。

この違いが重要なのは、作業の単位が「1行のコード」から「終了点があるタスク」へと変化するためです。

Anthropicはこの違いを明確に定義しています。コード補完はタイピング中に次の行を提案するのに対し、Claude Codeはプロジェクトレベルで動作し、複数のファイルにわたって計画を立て、変更を実行し、テストを実行し、失敗から反復学習します。実際のところ、これは雑用を素早くこなせるターミナルネイティブのジュニアエンジニアに近い存在ですが、依然としてレビューが必要です。

この速度と監督の間の緊張関係こそが、人々が「バイブコーディング」と呼ぶものの大部分を占めています。What is Vibe Coding?では、この用語の意味、由来、そして実際の効率性やリスクについて解説しています。

laptop-homeresver-claude-code-coffee-books

ドキュメントを素早く読んでいる際に見過ごしやすい詳細が1つあります。Terminal CLI(およびVS Codeのインターフェース)は、サードパーティのプロバイダーを使用するように設定できるということです。ここでOllamaとllama.cppが登場します。

Claude CodeがローカルのHTTPエンドポイントを指すようになると、ランタイム、ハードウェア、ホスティングのトレードオフはクライアントの外側で扱われることになります。2026年のLLMホスティング比較では、Ollama、専用推論スタック、クラウドオプションを一箇所にまとめて比較しています。

Claude Codeが他のAI支援コーディングおよびデリバリーワークフローとどのように位置づけられるかを見るために、AI開発者ツールガイドでは、Copilotのようなアシスタント、自動化、エディタパターンを一箇所にまとめています。

同じカテゴリのコーディングアシスタントをツールごとに調査するには、AIコーディングアシスタント比較を参照してください。ここではCursor、Copilot、Clineなどが、このインストールガイドよりも高いレベルで解説されています。

Claude Codeのインストールとクイックスタート

インストールオプションとそれが意味すること

インストールパスは複数あり、それらは同等ではありません。

  • ネイティブインストールスクリプトは、自動更新されるため「常に最新」のオプションです。
  • HomebrewとWinGetは、明示的にアップグレードするため「変更を管理できる」オプションです。

インストールコマンド(公式クイックスタート):

# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
:: Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

次に、プロジェクトフォルダ内でインタラクティブセッションを開始します。

cd /path/to/your/project
claude

ログインとアカウントタイプ

Claude Codeはファーストパーティモードで実行するためにアカウントが必要です。クイックスタートフローは、Claudeサブスクリプション(Pro、Max、Team、Enterprise)、Consoleアカウント(APIクレジット)、またはサポートされているクラウドプロバイダーを介したログインをサポートしています。運用上の重要な注記として、Consoleで初めてログインすると、コスト追跡を一元管理するために「Claude Code」ワークスペースが作成されます。

Claude Codeの設定:settings.jsonと環境変数

Claude Codeが機能するときは魔法のように感じられますが、機能しないときは「謎めいた」ように感じられることが多いです。その解決策は、設定の階層構造と実際に重要な少数の環境変数を理解することにあります。

設定ファイルと優先順位

Claude Codeの設定は階層構造になっており、開発者向けのファイルは3つあります。

  • ユーザースコープ:どこでも適用される ~/.claude/settings.json
  • プロジェクトスコープ:リポジトリ内で共有される .claude/settings.json
  • ローカルスコープ:マシン固有のオーバーライド .claude/settings.local.json(gitignore対象)

優先順位は(高い順):管理ポリシー、CLIフラグ、ローカル、プロジェクト、ユーザーです。この順序が、「なぜ私の設定が無視されるのか」という状況を説明します。

/configコマンドを使用して、REPL内で設定UIを開き、対話的に設定を管理できます。

プロバイダルーティングを制御する環境変数

Claude Codeは環境変数によってランタイムで制御できます。2つの動作上の癖は、設計上の制約として扱う価値があります。

  1. ANTHROPIC_API_KEY が設定されている場合、ログインしていてもClaudeサブスクリプションではなくキーを使用します。プリントモード(-p)では、キーが存在する場合常に使用されます。

  2. ANTHROPIC_BASE_URL がファーストパーティ以外のホスト(プロキシ、ゲートウェイ、またはローカルサーバー)を指している場合、一部の機能は意図的に保守的な挙動になります。例えば、MCPツール検索は、明示的に再有効化しない限りデフォルトで無効になります。

サードパーティのエージェントスタックで現在適用されている特定のサブスクリプション境界について、OpenClawワークフローのためのAnthropicのサブスクリプションポリシー更新では、なぜAPIベースの使用が必須なのかを説明しています。

最小限の「ゲートウェイを使用する」パターンは以下のようになります。

export ANTHROPIC_BASE_URL=https://your-gateway.example
export ANTHROPIC_API_KEY=sk-your-key

ゲートウェイに関する注記:Claude Codeは特定のAPIフォーマットを期待します。Anthropic Messagesフォーマットの場合、ゲートウェイは /v1/messages/v1/messages/count_tokens を公開し、anthropic-beta および anthropic-version ヘッダーをフォワードする必要があります。ゲートウェイがこれらのヘッダーを拒否する場合、実験的なベータ機能をストリップするための専用オプションがあります。

Anthropicを直接使用しない場合のClaude Codeでのモデル選択

Claude Codeにはエイリアス(opus、sonnet、haiku)の概念があり、特定のモデルIDをピン留めすることもサポートしています。また、サードパーティのプロバイダーを介してルーティングされていても、モデルピッカーでユーザーが選択できるものを制限できるホワイトリストもあります。

実用的なパターンは、初期モデルを設定しピッカーを制限し、その後で「デフォルト」が解決するものを環境変数でピン留めすることです。

{
  "model": "claude-sonnet-4-5",
  "availableModels": ["claude-sonnet-4-5", "haiku"],
  "env": {
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"
  }
}

Ollamaを介したセルフホスト型LLMの実行

Ollamaは現在、Claude CodeをAnthropic以外のモデルで実行するための最も摩擦の少ない方法です。なぜなら、Claude Codeが通信するためのAnthropic互換APIを公開しているからです。

ollama launchによるクイックセットアップ

Ollamaがインストールされ実行されている場合、最短ルートは以下の通りです。

ollama launch claude

または、起動時にモデルを指定します。

ollama launch claude --model glm-4.7-flash

明示的な環境変数による手動セットアップ

Ollama統合のドキュメントでは、Claude CodeがAnthropic互換APIエンドポイントを介してOllamaと通信するシンプルな手動配線について説明しています。

export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434

claude --model qwen3.5

このパターンは、有用な方法で意見のあるアプローチを採用しています。「プロバイダルーティング」をGUIでクリックするものではなく、環境の問題として扱っています。

コンテキストウィンドウの現実確認

エージェント型コーディングはコンテキストを大量に消費します。Ollamaは率直にこれを指摘しています。Claude Codeには大きなコンテキストウィンドウが必要であり、少なくとも64kトークンを推奨しています。ローカルモデルが8kや16kで上限に達する場合、Claude Codeは依然として実行されますが、「プロジェクトレベル」の約束は脆くなります。

類似したターミナルエージェントセットアップ(Ollamaとllama.cpp、コーディングタスク、そして正直な失敗ノート)におけるローカルモデルの動作を具体的に知るために、Claude Code用のGGUFまたはOllamaタグを短縮リスト化する際の有益なクロスチェックとして、OpenCode向け最高のLLM - ローカルでテスト済みを参照してください。

llama.cppを介したセルフホスト型LLMの実行

llama.cppは逆の理由で魅力的です。それはプラットフォームになろうとはしていません。高速で軽量なサーバーであり、OpenAI互換ルートとAnthropic Messages API互換ルートの両方を公開できます。

インストールパス、llama-cli、および以下のスニペットを超えた llama-server の動作については、llama.cppのCLIとサーバーによるクイックスタートがエンドツーエンドの参照資料です。

サーバー側で実行するもの

llama.cpp HTTPサーバー(llama-server)は、SSEによるストリーミング機能付きで POST /v1/messages にAnthropic互換Messages APIをサポートしています。また、/v1/messages/count_tokens で count_tokens を提供しています。

Claude Codeにとって重要な2つの詳細があります。

  • サーバーは、Anthropic API仕様の完全な互換性を強く主張するのではなく、多くのアプリで十分に機能すると述べています。
  • ツールの使用には、llama-serverを --jinja フラグで起動する必要があります。これを忘れると、Claude Codeは突然エージェントとしての機能を失ったように振る舞います。

最小限のローカル実行は以下のようになります。

# llama-serverをビルドまたはダウンロードし、GGUFモデルで実行
./llama-server -m /models/your-model.gguf --jinja --host 127.0.0.1 --port 8080

厳格な認証境界が必要な場合、llama-serverはAPIキーで設定できます。

./llama-server -m /models/your-model.gguf --jinja --api-key my-local-key --host 127.0.0.1 --port 8080

llama-serverをClaude Codeに接続

サーバーが実行中なら、Claude Code側は主にベースURLのオーバーライドになります。

export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_API_KEY=my-local-key   # llama-serverで --api-key を有効にした場合のみ

claude --model your-model-alias

APIキーまたは認証トークンを設定しない場合、Claude Codeはサブスクリプションログインにフォールバックしようとする可能性があります。これが「なぜブラウザが開くのか」という苦情の多くの原因です。

ヘルスチェックと最初の失敗の対応

llama-serverは、モデルが準備できるまで「loading model」を返し、使用可能になると「ok」を返すシンプルなヘルスエンドポイントを公開しています。Claude Codeが最初のリクエストでハングしているように見える場合、/health をチェックすることは、「クライアント設定のバグ」と「サーバーがまだ読み込み中」を区別する素早い方法です。

価格とコストモデル

Claude Codeの価格設定は「CLIを買う」ことよりも、「どの請求レールがトークンを裏支えするか」についてです。

サブスクリプションプランにはClaude Codeが含まれる

Anthropicは、有料のClaudeサブスクリプションティアにClaude Codeを含めています。2026年4月現在、発表されている価格リストは以下の通りです。

  • Pro:年間割引ありで月額$17( upfront $200請求)、または月額$20。Claude Codeが含まれます。
  • Maxプラン:月額$100から。
  • Teamプラン:シートあたりの価格設定。標準シートは年間請求で月額$20(月額$25)、プレミアムシートは年間請求で月額$100(月額$125)。

APIトークンの価格設定

Claude CodeをAPI請求で使用する場合、コストはトークンレートに従います。Anthropicは、以下のようなモデルの百万トークン(MTok)あたりの価格を発表しています。

  • Haiku 4.5:入力$1/MTok、出力$5/MTok。
  • Sonnet 4.5:入力$3/MTok、出力$15/MTok。
  • Opus 4.5:入力$5/MTok、出力$25/MTok。

CLIでのコスト管理

プリントモード(-p)は、--max-budget-usd のような直接の予算上限をサポートしており、タスクリートを組んで予測可能な支出を望む場合に便利です。

インタラクティブセッション内では、/cost でトークン使用統計を表示できます。

ローカルバックエンドは請求を変更するが、物理法則は変えない

Claude CodeをOllamaやllama.cppにルーティングすることで、トークン単位のAPI請求を削除できますが、それが作業を無料にするわけではありません。クラウドコストをローカルのコンピューティングリソース、メモリ、および「誰かが稼働時間を所有する」ことに置き換えているのです。一部のチームにとって、このトレードオフこそが目的そのものです。

典型的なワークフロー:計画からPRまで

私の偏見では、Claude Codeはチャットボットではなくワークフローエンジンとして扱う際に最も強みを発揮します。ツール自体もこれを示唆しています。

プロンプトではなく、権限モデルから始める

Claude Codeは設計上、権限でゲートされています。ドキュメントでは、ファイル読み取りやgrepなどの読み取り専用操作は許可され、bashコマンドやファイル修正は承認が必要である階層モデルが説明されています。

権限モードは摩擦を管理するために存在します。CLIでは、Shift+Tabでモードを切り替えられます(default -> acceptEdits -> plan)。Planモードは読み取りと変更の提案を行い、編集は行いません。acceptEditsモードは、Claude Codeが作業ディレクトリ内のファイルを作成・編集することを許可し、安全リスト外のコマンドに対しては依然としてプロンプトを表示します。

Autoモードは新しいオプションであり、承認を分類器に委任することでプロンプトを削減し、常にプロンプトを表示することとプロンプトを完全に無効にすることの間のより安全な中間道として位置づけられています。特定のClaude Codeバージョンおよびプラン、モデル要件が必要です。

組み込みコマンドを使用してセッションを誠実に保つ

いくつかのコマンドが、Claude Codeを「アシスタント」から「ツール」へと変えます。

  • /init はCLAUDE.mdプロジェクトガイドを生成し、一貫したコンテキストを供給する軽量な方法を提供します。CLAUDE.md よりも上位に位置する再利用可能なプレイブックと反復可能なワークフローについては、開発者向けのClaude Skillsで、SKILL.mdのレイアウト、IDE互換性、トリガーの調整、テストについてカバーしています。
  • /diff は、ターンごとの差分を含む変更のインタラクティブなビューを提供します。
  • /rewind は、チェックポイントを使用して会話および/またはコードを前の時点に戻すことができます。
  • /debug は、セッション中にデバッグログを有効にします。
  • /doctor は、インストールと設定を診断・検証します。

これらはトリックではなく、エージェントが予想以上に編集を行った際に頼る安全装置です。

非インタラクティブにするべきタイミング

ワンショットタスク(説明、要約、パッチ計画の生成)には、プリントモードが適しています。

claude -p "Summarise the repository architecture and list the riskiest modules"

回答後に終了するため、スクリプトやCIでよく機能します。

トラブルシューティングチェックリスト

多くのClaude Codeの問題は、偽装された設定問題です。一般的な症状を根本的なメカニズムにマッピングするチェックリストです。

ローカルサーバーを使用しているのに、Claude Codeがログインを繰り返し求める

これは通常、Claude Codeが依然としてファーストパーティサブスクリプション認証を使用しようとしていることを意味します。プロキシの明示的な認証モードを設定していることを確認してください。

  • X-Api-Key を期待するゲートウェイには ANTHROPIC_API_KEY を設定します。
  • または、Authorization Bearerを使用するゲートウェイには ANTHROPIC_AUTH_TOKEN を設定します。

ANTHROPIC_API_KEY がログインしていてもサブスクリプション使用を上書きすること、およびインタラクティブモードではその上書きを一度承認する必要があることを忘れないでください。

ゲートウェイが anthropic-beta ヘッダーでエラーになる

一部のゲートウェイは未知のヘッダーやベータフィールドを拒否します。この特定の失敗モードのために設計された環境変数があります。

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

LLMゲートウェイのドキュメントでは、BedrockまたはVertexでAnthropic Messagesフォーマットを使用する場合にも、これが必要になる可能性があることを注記しています。

llama.cppでツール呼び出しが機能しない

サーバーフラグを再確認してください。llama-serverのドキュメントでは、ツール使用には --jinja フラグが必要であると記載されています。これなしでは、サーバーは応答できますが、エージェントループは劣化します。

権限プロンプトがすべてのコマンドを中断している

モードと権限ルールによっては、これが正常である可能性があります。オプションとしては以下があります。

  • 一時的に acceptEdits に切り替える(ファイル編集がよりスムーズに進む)。
  • settings.json に既知の安全なbashコマンドの明示的な許可ルールを書く。
  • /sandbox を使用してbashツールを隔離し、プロンプトを削減する。
  • プランとバージョンがサポートしている場合、中間手段としてautoモードを検討する。

何かがおかしく感じられ、観測性が必要

組み込み機能を使用します。

  • /doctor でインストールと設定を検証する。
  • /debug でその時点からのログ取得を開始する。
  • プリントモードにいる場合、実験を制限された状態に保つために、厳格なmax budgetとmax turnsを検討する。

Anthropicの保護されたファーストパーティツールとしてのClaude Codeの位置づけは、2026年4月に戦略的に重要になりました。Anthropicはサードパーティのエージェントフレームワークに対するClaudeサブスクリプションアクセスをブロックしましたが、Claude Codeはサブスクリプション課金体制を維持しました。OpenClawの台頭と凋落のタイムラインは、そのイベントと、それがAnthropicのファーストパーティ対サードパーティツールへのアプローチについて何を明らかにしているかをカバーしています。

購読する

システム、インフラ、AIエンジニアリングの新記事をお届けします。