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

エージェント型コーディング、今やローカルモデルバックエンドに対応。

目次

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

この違いが重要なのは、作業の単位が「1 行のコード」から「完了状態を持つタスク」へと変わるからです。

Anthropic はこの違いを明確に定義しています。コード補完は入力中に次の行を提案するのに対し、Claude Code はプロジェクトレベルで動作し、複数のファイルをまたいで計画を立て、変更を実行し、テストを実行し、失敗に対して反復処理を行います。実際には、これは迅速に雑務を処理できるが、依然としてレビューを必要とするターミネイティブなジュニアエンジニアに近いと言えます。

その「速度対監督」の緊張関係が、人々が「ビブコーディング(Vibe Coding)」と呼ぶものの多くを構成しています。「What is Vibe Coding?」では、この用語の意味、由来、そして実践における効率性やリスクについて解説しています。

laptop-homeresver-claude-code-coffee-books

ドキュメントを流し読みすると見落としがちですが、Terminal CLI(および VS Code のインターフェース)はサードパーティのプロバイダーを使用するように構成可能です。ここで登場するのが Ollama と llama.cpp です。

Claude Code をローカル HTTP エンドポイントに設定すると、ランタイム、ハードウェア、ホスティングのトレードオフはクライアントの外側に置かれます。「this comparison of LLM hosting in 2026」では、Ollama、専用推論スタック、クラウドオプションを 1 つの場所に整理して比較しています。

Claude Code が他の AI 支援コーディングやデリバリーワークフローのどこに位置するかを確認するには、「this guide to AI developer tools」が、Copilot 型のアシスタント、自動化、エディターのパターンを 1 つにまとめたガイドです。

同じカテゴリのコーディング・アシスタントをツールごとに調査するには、「AI Coding Assistants Comparison」が、このインストールガイドよりも高いレベルで 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)、コンソールアカウント(API クレジット)、またはサポートされているクラウドプロバイダーによるログインをサポートしています。運用上の重要な注記として、コンソールへの初回ログイン時に、コスト追跡を一元化するための「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 Code はサブスクリプションではなくそのキーを使用します。プリントモード(-p)では、キーが存在する場合常に使用されます。

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

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

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 起動によるクイックセットアップ

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、コーディングタスク、そして正直な失敗の注記)におけるローカルモデルの動作を把握するには、「Best LLMs for OpenCode - Tested Locally」が、Claude Code 用の GGUF または Ollama タグを短縮リスト化する際に有用なクロスチェックとなります。

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

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

以下のスニペット以外のインストールパス、llama-cli、および llama-server の挙動については、「llama.cpp Quickstart with CLI and Server」がエンドツーエンドの参照情報です。

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

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

Claude Code を llama-server に指向させる

サーバーが実行されている場合、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 は、モデルが準備完了するまで「モデルを読み込み中」を返し、使用可能になったら「ok」を返すシンプルなヘルスチェックエンドポイントを公開しています。Claude Code が初回リクエストで停止しているように見える場合、/health をチェックすることは、「クライアント設定のバグ」と「サーバーがまだ読み込み中」を区別する手っ取り早い方法です。

料金とコストモデル

Claude Code の料金体系は「CLI を買う」ことよりも、「どの請求レールがトークンをバックアップしているか」についてです。

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

Anthropic は、有料 Claude サブスクリプションのティアに Claude Code を含めています。2026 年 4 月時点の公開価格リストは以下の通りです:

  • Pro は月額 17 ドル(年払い割引あり、前払い 200 ドル)または月額 20 ドルで、Claude Code が含まれます。
  • Max プランは月額 100 ドルから。
  • チームプランはシート単価で、標準シートは月額 20 ドル(年払い、月額 25 ドル)、プレミアムシートは月額 100 ドル(年払い、月額 125 ドル)です。

API トークン料金

API 請求を介して Claude Code を使用する場合は、コストはトークンレートに従います。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 でモードを切り替えられます(デフォルト -> acceptEdits -> plan)。Plan モードは読み取りと変更提案を行いますが、編集は行いません。acceptEdits モードでは、Claude Code はプロンプトなしで作業ディレクトリ内のファイルを作成・編集できますが、安全リスト外の影響を伴うコマンドには依然としてプロンプトを表示します。

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

内蔵コマンドを使用してセッションを誠実に保つ

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

  • /init は CLAUDE.md プロジェクトガイドを生成し、一貫したコンテキストを供給する軽量な方法です。
  • /diff は、ターンごとの差分を含む変更のインタラクティブビューを提供します。
  • /rewind は、チェックポイントを使用して会話またはコードを以前のポイントに巻き戻すことを可能にします。
  • /debug は、セッション中にデバッグログを有効にします。
  • /doctor は、インストールと設定を診断および検証します。

これらはギミックではなく、エージェントが予期した以上に編集した際に頼る安全装置です。

インタラクティブでない方法を選択するタイミング

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

claude -p "リポジトリのアーキテクチャを要約し、リスクの高いモジュールをリスト化してください"

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

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

ほとんどの 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 コマンドに対する明示的な許可ルールを記述する。
  • プロンプトを減らしつつ bash ツールを隔離するために /sandbox を使用する。
  • プランとバージョンがサポートしている場合、中間地として auto モードを評価する。

何かおかしいと感じて可視化が必要

内蔵機能を使用してください:

  • /doctor でインストールと設定を検証します。
  • /debug でその時点からログのキャプチャを開始します。
  • プリントモードにいる場合は、実験を制限するために厳密な最大予算と最大ターン数を検討してください。