Claude Code CLI:決定版テクニカルリファレンス
2025年12月12日更新
2025年12月アップデート: Claude Codeは、エージェント型マルチファイル編集、300以上の外部サービスとのMCPプロトコル連携、複雑なタスク用の特化型サブエージェント、CI/CD自動化のためのフックシステムにより、エンタープライズエンジニアリングワークフローを支えています。パーミッションシステムできめ細かいセキュリティ制御が可能です。Haiku(高速・低コスト)とOpus(高性能)間のモデル切り替えにより、コストとパフォーマンスのトレードオフを最適化できます。
私は数ヶ月にわたり、本番コードベース、CI/CDパイプライン、エンタープライズデプロイメントでClaude Codeを限界まで使い込んできました。このガイドは、その経験を凝縮した、私が始めた頃に欲しかった包括的なリファレンスです。初回インストールから、ほとんどのユーザーが気づかない高度なパターンまで、すべてをカバーしています。
Claude Codeは、たまたまプログラミングに詳しいチャットインターフェースではありません。コードベースを読み、コマンドを実行し、ファイルを変更し、gitワークフローを管理し、外部サービスに接続し、複雑なタスクを特化型サブエージェントに委任する—これらすべてを、開発者が実際に作業する方法に統合されたコマンドラインインターフェースを通じて行うエージェントシステムです。
Claude Codeをカジュアルに使うのと効果的に使うのとの違いは、そのアーキテクチャを理解することにあります:動作を制御する設定階層、操作をゲートするパーミッションシステム、決定論的な自動化を可能にするフックシステム、機能を拡張するMCPプロトコル、そして複雑なマルチステップタスクを処理するサブエージェントシステム。これらのシステムをマスターすれば、Claude Codeは力を何倍にも増幅します。見逃せば、価値の大部分を取りこぼすことになります。
このガイドは、コマンドラインツールに精通していて、全体像を把握したい方を対象としています。すべての機能が、実際の構文、実際の設定例、経験豊富なユーザーがつまずくエッジケースとともに文書化されています。最初のプロジェクトをセットアップする場合でも、エンタープライズエンジニアリング組織全体にデプロイする場合でも、必要な情報がここにあります。
Claude Codeの仕組み:メンタルモデル
機能の詳細に入る前に、Claude Codeのアーキテクチャがあなたの使い方すべてにどう影響するかを理解しましょう。システムは3つのレイヤーで動作します:
┌─────────────────────────────────────────────────────────┐
│ CLAUDE CODE レイヤー │
├─────────────────────────────────────────────────────────┤
│ 拡張レイヤー │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ MCP │ │ フック │ │ スキル │ │プラグイン│ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ 外部ツール、決定論的自動化、ドメイン専門知識、 │
│ パッケージ化された拡張機能 │
├─────────────────────────────────────────────────────────┤
│ 委任レイヤー │
│ ┌─────────────────────────────────────────────────┐ │
│ │ サブエージェント(最大10並列) │ │
│ │ Explore | Plan | General-purpose | Custom │ │
│ └─────────────────────────────────────────────────┘ │
│ 集中作業用の分離されたコンテキスト、サマリーを返却 │
├─────────────────────────────────────────────────────────┤
│ コアレイヤー │
│ ┌─────────────────────────────────────────────────┐ │
│ │ メイン会話コンテキスト │ │
│ │ ツール: Read, Edit, Bash, Glob, Grep, etc. │ │
│ └─────────────────────────────────────────────────┘ │
│ 主要なインタラクション;限られたコンテキスト;有料 │
└─────────────────────────────────────────────────────────┘
コアレイヤー:メインの会話です。すべてのメッセージ、ファイル読み込み、ツール出力が共有の200Kトークンウィンドウ(プレミアムでは1M)からコンテキストを消費します。コンテキストがいっぱいになると、Claudeは以前の決定を追跡できなくなり、品質が低下します。このレイヤーはトークンごとに課金されます。
委任レイヤー:サブエージェントはクリーンなコンテキストで起動し、集中的な作業を行い、サマリーを返します。探索結果はメイン会話を肥大化させません—結論だけが返ってきます。探索にはHaikuサブエージェント(安価、高速)を、実装にはSonnetを使用します。
拡張レイヤー:MCPは外部サービス(データベース、GitHub、Sentry)を接続します。フックは、モデルの動作に関係なくシェルコマンドの実行を保証します。スキルは、Claudeが自動的に適用するドメイン専門知識をエンコードします。プラグインはこれらすべてを配布用にパッケージ化します。
重要な洞察:ほとんどのユーザーはコアレイヤーだけで作業し、コンテキストの肥大化とコストの上昇を見守っています。パワーユーザーは探索と専門的な作業を委任レイヤーに押し出し、拡張レイヤーをワークフローに合わせて設定し、コアレイヤーはオーケストレーションと最終決定にのみ使用します。
目次
- インストールと認証
- コアインタラクションモード
- 設定システム詳解
- モデル選択と切り替え
- パーミッションシステムとセキュリティ
- フックシステム
- MCP(Model Context Protocol)
- サブエージェントとタスク委任
- 拡張思考モード
- 出力スタイル
- スラッシュコマンド
- スキル
- プラグインシステム
- メモリとコンテキスト管理
- 画像とマルチモーダル入力
- Git連携とワークフロー
- IDE統合
- 高度な使用パターン
- Claude Code Remote
- バックグラウンドエージェント(2025年12月)
- コスト管理と課金
- パフォーマンス最適化
- トラブルシューティングとデバッグ
- エンタープライズデプロイメント
- キーボードショートカットリファレンス
- ベストプラクティス
インストールと認証
システム要件
Claude Codeは、macOS 10.15以上、Ubuntu 20.04以上/Debian 10以上、およびWSLまたはGit Bashを介したWindows 10以上で動作します。システムには最低4 GBのRAMとアクティブなインターネット接続が必要です。シェルの互換性はBash、Zsh、またはFishで最も良好です。
Windowsでは、WSL 1とWSL 2の両方が動作します。ネイティブWindowsを好む場合は、Git Bashも動作します。Alpine Linuxやその他のmuslベースのシステムでは、追加パッケージが必要です:
apk add libgcc libstdc++ ripgrep
export USE_BUILTIN_RIPGREP=0
インストール方法
ネイティブインストール(推奨)
ネイティブバイナリは、Node.jsの依存関係なしに最もクリーンな体験を提供します:
# macOS と Linux
curl -fsSL https://claude.ai/install.sh | bash
# Homebrew 代替
brew install --cask claude-code
# 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
特定バージョンのインストール:
# 特定バージョンをインストール
curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
# 明示的に最新版をインストール
curl -fsSL https://claude.ai/install.sh | bash -s latest
# Windows PowerShell - 特定バージョン
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 1.0.58
NPMインストール
npmが好ましい環境の場合:
npm install -g @anthropic-ai/claude-code
npmインストールでsudoを使用しないでください—すべてを複雑にするパーミッションの問題が発生します。
既存インストールからの移行
古いnpmベースのインストールがある場合は、ネイティブバイナリに移行してください:
claude install
認証オプション
Claude Codeは3つの認証パスをサポートしており、それぞれ異なるトレードオフがあります:
Claude Console(API課金)
console.anthropic.comを通じてAnthropicのAPIに直接接続します。アカウントを作成し、課金を設定し、CLIを通じて認証します。これにより、完全なAPIアクセスを伴う使用量ベースの課金が提供されます。専用の「Claude Code」ワークスペースが自動的に作成されます—このワークスペースのAPIキーは作成できませんが、使用量を監視できます。
Claude ProまたはMaxサブスクリプション
claude.aiアカウントの認証情報を使用します。サブスクリプションは、単一の月額プランでWebインターフェースとCLI使用量の両方をカバーします。これにより、予測可能なコストを望む個人ユーザーの課金が簡素化されます。
エンタープライズプラットフォーム
AWS Bedrock、Google Vertex AI、Microsoft Foundryはそれぞれ、既存のクラウド課金関係を持つエンタープライズグレードのアクセスを提供します:
# AWS Bedrock
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
export AWS_PROFILE=your-profile
# Google Vertex AI
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=your-project
# Microsoft Foundry
export CLAUDE_CODE_USE_FOUNDRY=1
export ANTHROPIC_FOUNDRY_RESOURCE=your-resource-name
# オプション:APIキー認証(それ以外はEntra IDを使用)
export ANTHROPIC_FOUNDRY_API_KEY=your-key
プロキシの背後またはLLMゲートウェイを経由するエンタープライズデプロイメントの場合:
# 企業プロキシ
export HTTPS_PROXY='https://proxy.example.com:8080'
# LLMゲートウェイ(ネイティブ認証をスキップ)
export CLAUDE_CODE_USE_BEDROCK=1
export ANTHROPIC_BEDROCK_BASE_URL='https://your-gateway.com/bedrock'
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
検証
claude doctor
これにより、インストールタイプ、バージョン、システム設定、検出された問題が報告されます。
アップデート
Claude Codeはデフォルトで自動更新され、起動時およびセッション中に定期的にチェックします。アップデートはバックグラウンドでダウンロードされ、次回起動時に適用されます。
自動更新を無効にする:
export DISABLE_AUTOUPDATER=1
または settings.json で:
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
手動更新:
claude update
アンインストール
ネイティブインストール(macOS/Linux/WSL):
rm -f ~/.local/bin/claude
rm -rf ~/.claude-code
ネイティブインストール(Windows PowerShell):
Remove-Item -Path "$env:LOCALAPPDATA\Programs\claude-code" -Recurse -Force
Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\WindowsApps\claude.exe" -Force
設定のクリーンアップ(すべての設定を削除):
rm -rf ~/.claude
rm ~/.claude.json
rm -rf .claude
rm -f .mcp.json
コアインタラクションモード
インタラクティブREPL
引数なしでClaude Codeを起動すると、インタラクティブなread-eval-printループに入ります:
cd your-project
claude
REPLはターン間で会話コンテキストを維持します。クエリを直接入力し、応答を受け取り、/exitまたはCtrl+Dで終了するまで続けます。
セッションに焦点を当てるために初期プロンプトで開始:
claude "explain the authentication flow in this project"
エキスパートのヒント: REPLはコンパクション イベント間で状態を保持します。コンテキストが大きくなりすぎると、Claudeは重要な決定とコードスニペットを保持しながら、古い会話を自動的に要約します。これを/compactで手動でトリガーするか、保持するものについてカスタム指示を追加できます。
非インタラクティブモード
プリントモード(-p)は単一のクエリを実行して終了します:
# 直接クエリ
claude -p "list all TODO comments in this project"
# パイプされた入力を処理
cat error.log | claude -p "identify the root cause of these failures"
# 他のツールとチェーン
claude -p "generate a README" > README.md
スクリプトでの解析に適した構造化出力の場合:
claude -p "count lines by file type" --output-format json
JSON出力には、自動化に必要なすべてが含まれます:
{
"type": "result",
"subtype": "success",
"total_cost_usd": 0.0034,
"is_error": false,
"duration_ms": 2847,
"duration_api_ms": 1923,
"num_turns": 4,
"result": "Response text here...",
"session_id": "abc-123-d
[翻訳のため内容を省略]