<!-- i18n-source: 10-cli/README.md -->
<!-- i18n-source-sha: e43872e -->
<!-- i18n-date: 2026-04-27 -->

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="../../resources/logos/claude-howto-logo-dark.svg">
  <img alt="Claude How To" src="../../resources/logos/claude-howto-logo.svg">
</picture>

# CLI リファレンス

## 概観

Claude Code CLI（Command Line Interface）は Claude Code を操作する主要な手段である。クエリの実行、セッション管理、モデル設定、開発ワークフローへの組み込みを行う強力なオプション群を備えている。

## アーキテクチャ

```mermaid
graph TD
    A["User Terminal"] -->|"claude [options] [query]"| B["Claude Code CLI"]
    B -->|Interactive| C["REPL Mode"]
    B -->|"--print"| D["Print Mode (SDK)"]
    B -->|"--resume"| E["Session Resume"]
    C -->|Conversation| F["Claude API"]
    D -->|Single Query| F
    E -->|Load Context| F
    F -->|Response| G["Output"]
    G -->|text/json/stream-json| H["Terminal/Pipe"]
```

## ランタイムとパッケージング

**v2.1.113** 以降、Claude Code CLI は npm のオプション依存を介して **プラットフォーム別のネイティブバイナリ**（macOS、Linux、Windows）を起動する。バイナリはインストール時に OS とアーキテクチャに合わせて選択される — 旧来のバンドル JavaScript ランタイムは macOS / Linux ではもはやデフォルトではない。

**ユーザー側のインストール手順は変わらない**: `npm install -g @anthropic-ai/claude-code` がそのまま動作し、引き続き推奨経路である。裏側で npm がプラットフォームに合った正しいネイティブバイナリを取得する。

**ダウンロードホスト**（v2.1.116+）: ネイティブバイナリ成果物は `https://downloads.claude.ai/claude-code-releases` から配信される。

> **企業ネットワーク／プロキシ環境**: ネットワークが明示的な許可リストを必要とする場合、プロキシのエグレスルールに `downloads.claude.ai`（および `https://downloads.claude.ai/claude-code-releases`）を追加すること。以前 `storage.googleapis.com` または npm レジストリのみを許可していた環境は更新が必要で、未対応のままだと `claude update` や初回インストールが失敗する。

旧来の JavaScript バンドルは Windows 用および固定利用の環境向けに引き続き提供される。これらのインストールでは Glob と Grep が引き続きファーストクラスツールとして同梱される（[ツール](#ツールと権限の管理) 節の Glob/Grep 注記を参照）。

## CLI コマンド

| コマンド | 説明 | 例 |
|---------|------|-----|
| `claude` | 対話型 REPL を起動 | `claude` |
| `claude "query"` | 初期プロンプト付きで REPL を起動 | `claude "explain this project"` |
| `claude -p "query"` | プリントモード - クエリ実行後に終了 | `claude -p "explain this function"` |
| `cat file \| claude -p "query"` | パイプ入力を処理 | `cat logs.txt \| claude -p "explain"` |
| `claude -c` | 直近の会話を継続 | `claude -c` |
| `claude -c -p "query"` | プリントモードで継続 | `claude -c -p "check for type errors"` |
| `claude -r "<session>" "query"` | ID または名前でセッション再開 | `claude -r "auth-refactor" "finish this PR"` |
| `claude update` | 最新版に更新 | `claude update` |
| `/doctor`（スラッシュコマンド） | インストール、設定、プラグインの健全性を診断する。v2.1.116 以降は **Claude が応答中でも開ける** ようになり、ステータスアイコンをインライン表示し、`f` キーで検出された問題を自動修正する | REPL 内で `/doctor` を実行 |
| `claude mcp` | MCP サーバーを設定 | [MCP のドキュメント](../05-mcp/) を参照 |
| `claude mcp serve` | Claude Code を MCP サーバーとして起動 | `claude mcp serve` |
| `claude agents` | 設定済みのサブエージェントを一覧表示 | `claude agents` |
| `claude auto-mode defaults` | 自動モードのデフォルトルールを JSON で出力 | `claude auto-mode defaults` |
| `claude remote-control` | リモートコントロールサーバーを起動 | `claude remote-control` |
| `claude plugin` | プラグインを管理（インストール・有効化・無効化） | `claude plugin install my-plugin` |
| `claude plugin tag <version>` | バージョン検証付きでプラグインのリリース git タグを作成（v2.1.118+） | `claude plugin tag v0.3.0` |
| `claude install [version]` | 指定したネイティブバイナリのバージョンをインストール。`stable`、`latest`、明示的なバージョン文字列を受け付ける | `claude install 2.1.119` |
| `claude auth login` | ログイン（`--email`、`--sso` をサポート） | `claude auth login --email user@example.com` |
| `claude auth logout` | 現在のアカウントからログアウト | `claude auth logout` |
| `claude auth status` | 認証状態を確認（ログイン中なら exit 0、未ログインなら 1） | `claude auth status` |

## 主要フラグ

| フラグ | 説明 | 例 |
|------|------|-----|
| `-p, --print` | 対話モードを使わず応答を出力 | `claude -p "query"` |
| `-c, --continue` | 直近の会話を読み込む | `claude --continue` |
| `-r, --resume` | ID または名前で特定セッションを再開 | `claude --resume auth-refactor` |
| `-v, --version` | バージョン番号を出力 | `claude -v` |
| `-w, --worktree` | 隔離された git ワークツリーで起動 | `claude -w` |
| `-n, --name` | セッションの表示名 | `claude -n "auth-refactor"` |
| `--from-pr <url-or-number>` | プル／マージリクエストに紐づくセッションを再開する。v2.1.119 以降は GitHub（クラウド + Enterprise）、GitLab MR、Bitbucket PR の URL を受け付ける（以前は GitHub.com のみ） | `claude --from-pr 42` または `claude --from-pr https://gitlab.example.com/org/repo/-/merge_requests/17` |
| `--remote "task"` | claude.ai 上に web セッションを作成 | `claude --remote "implement API"` |
| `--remote-control, --rc` | リモートコントロール付きの対話セッション | `claude --rc` |
| `--teleport` | web セッションをローカルで再開 | `claude --teleport` |
| `--teammate-mode` | エージェントチームの表示モード | `claude --teammate-mode tmux` |
| `--bare` | 最小モード（フック、スキル、プラグイン、MCP、自動メモリ、CLAUDE.md をスキップ） | `claude --bare` |
| `--enable-auto-mode` | 自動権限モードを解禁（Opus 4.7 の Max 加入者には不要） | `claude --enable-auto-mode` |
| `--channels` | MCP チャンネルプラグインを購読 | `claude --channels discord,telegram` |
| `--chrome` / `--no-chrome` | Chrome ブラウザ統合を有効化／無効化 | `claude --chrome` |
| `--effort` | 思考労力レベルを設定 | `claude --effort high` |
| `--init` / `--init-only` | 初期化フックを実行 | `claude --init` |
| `--maintenance` | メンテナンスフックを実行して終了 | `claude --maintenance` |
| `--disable-slash-commands` | すべてのスキルとスラッシュコマンドを無効化 | `claude --disable-slash-commands` |
| `--no-session-persistence` | セッション保存を無効化（プリントモード） | `claude -p --no-session-persistence "query"` |
| `--exclude-dynamic-system-prompt-sections` | プロンプトキャッシュヒット率向上のため、システムプロンプトから動的セクションを除外 | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

### 対話モードとプリントモード

```mermaid
graph LR
    A["claude"] -->|Default| B["Interactive REPL"]
    A -->|"-p flag"| C["Print Mode"]
    B -->|Features| D["Multi-turn conversation<br>Tab completion<br>History<br>Slash commands"]
    C -->|Features| E["Single query<br>Scriptable<br>Pipeable<br>JSON output"]
```

**対話モード**（デフォルト）:
```bash
# 対話セッションを開始
claude

# 初期プロンプト付きで開始
claude "explain the authentication flow"
```

**プリントモード**（非対話）:
```bash
# 単一クエリ実行後に終了
claude -p "what does this function do?"

# ファイル内容を処理
cat error.log | claude -p "explain this error"

# 他のツールとチェーン
claude -p "list todos" | grep "URGENT"
```

## モデルと設定

| フラグ | 説明 | 例 |
|------|------|-----|
| `--model` | モデルを設定（sonnet、opus、haiku、または完全名） | `claude --model opus` |
| `--fallback-model` | 過負荷時の自動フォールバックモデル | `claude -p --fallback-model sonnet "query"` |
| `--agent` | セッションに使うエージェントを指定 | `claude --agent my-custom-agent` |
| `--agents` | JSON でカスタムサブエージェントを定義 | [Agents の設定](#agents-の設定) を参照 |
| `--effort` | 労力レベルを設定（low、medium、high、xhigh、max） | `claude --effort xhigh` |

### モデル選択の例

```bash
# 複雑なタスクには Opus 4.7
claude --model opus "design a caching strategy"

# 速いタスクには Haiku 4.5
claude --model haiku -p "format this JSON"

# モデル名のフルネーム指定
claude --model claude-sonnet-4-6-20250929 "review this code"

# 信頼性のためフォールバック付き
claude -p --model opus --fallback-model sonnet "analyze architecture"

# opusplan（Opus が計画、Sonnet が実装）
claude --model opusplan "design and implement the caching layer"
```

## システムプロンプトのカスタマイズ

| フラグ | 説明 | 例 |
|------|------|-----|
| `--system-prompt` | デフォルトプロンプト全体を置き換える | `claude --system-prompt "You are a Python expert"` |
| `--system-prompt-file` | ファイルからプロンプトを読み込む（プリントモード） | `claude -p --system-prompt-file ./prompt.txt "query"` |
| `--append-system-prompt` | デフォルトプロンプトに追記 | `claude --append-system-prompt "Always use TypeScript"` |

### システムプロンプトの例

```bash
# 完全カスタムなペルソナ
claude --system-prompt "You are a senior security engineer. Focus on vulnerabilities."

# 特定の指示を追加
claude --append-system-prompt "Always include unit tests with code examples"

# 複雑なプロンプトをファイルから読み込み
claude -p --system-prompt-file ./prompts/code-reviewer.txt "review main.py"
```

### システムプロンプトフラグの比較

| フラグ | 挙動 | 対話 | プリント |
|------|-----|------|---------|
| `--system-prompt` | デフォルトのシステムプロンプト全体を置き換える | ✅ | ✅ |
| `--system-prompt-file` | ファイルのプロンプトに置き換える | ❌ | ✅ |
| `--append-system-prompt` | デフォルトに追記する | ✅ | ✅ |

**`--system-prompt-file` はプリントモードでのみ使用する。対話モードでは `--system-prompt` または `--append-system-prompt` を使うこと。**

## ツールと権限の管理

| フラグ | 説明 | 例 |
|------|------|-----|
| `--tools` | 利用可能な組み込みツールを制限 | `claude -p --tools "Bash,Edit,Read" "query"` |
| `--allowedTools` | 確認なしで実行できるツール | `"Bash(git log:*)" "Read"` |
| `--disallowedTools` | コンテキストから除外するツール | `"Bash(rm:*)" "Edit"` |
| `--dangerously-skip-permissions` | 全ての権限プロンプトをスキップ | `claude --dangerously-skip-permissions` |
| `--permission-mode` | 指定した権限モードで開始 | `claude --permission-mode auto` |
| `--permission-prompt-tool` | 権限処理用の MCP ツール | `claude -p --permission-prompt-tool mcp_auth "query"` |
| `--enable-auto-mode` | 自動権限モードを解禁 | `claude --enable-auto-mode` |

> **Glob / Grep 注記（v2.1.113+）**: ネイティブな macOS／Linux ビルドでは、`Glob` と `Grep` は独立したファーストクラスツールではなく、Bash ツール経由で呼び出される組み込みの `bfs` および `ugrep` バイナリとして提供される。Windows 版および npm バンドル（JS）版では引き続きスタンドアロンツールとして公開される。サブエージェントの `allowedTools` ／ `disallowedTools` リストでは、バックエンド側の置換は透過的なため、どのプラットフォームでも設定では引き続き `Glob` ／ `Grep` を参照すればよい。

> **PowerShell の自動承認（v2.1.119）**: PowerShell ツールのコマンドは、Bash コマンドとまったく同じ方式で権限モードによる自動承認が可能になった。`Bash(...)` ルールで使うのと同じマッチャ構文で PowerShell の権限を絞り込める — 例: `PowerShell(Get-ChildItem:*)`。

### 権限の例

```bash
# コードレビュー用の読み取り専用モード
claude --permission-mode plan "review this codebase"

# 安全なツールのみに制限
claude --tools "Read,Grep,Glob" -p "find all TODO comments"

# 特定の git コマンドを確認なしで許可
claude --allowedTools "Bash(git status:*)" "Bash(git log:*)"

# 危険な操作をブロック
claude --disallowedTools "Bash(rm -rf:*)" "Bash(git push --force:*)"
```

## 出力とフォーマット

| フラグ | 説明 | オプション | 例 |
|------|------|-----------|-----|
| `--output-format` | 出力フォーマット指定（プリントモード） | `text`、`json`、`stream-json` | `claude -p --output-format json "query"` |
| `--input-format` | 入力フォーマット指定（プリントモード） | `text`、`stream-json` | `claude -p --input-format stream-json` |
| `--verbose` | 詳細ログを有効化 | | `claude --verbose` |
| `--include-partial-messages` | ストリーミングイベントを含める | `stream-json` が必要 | `claude -p --output-format stream-json --include-partial-messages "query"` |
| `--json-schema` | スキーマに沿って検証された JSON を取得 | | `claude -p --json-schema '{"type":"object"}' "query"` |
| `--max-budget-usd` | プリントモードでの最大支出額。v2.1.217以降、上限に達するとバックグラウンドで実行中のサブエージェントも停止し、新規のサブエージェント起動も拒否される(以前はバックグラウンドエージェントは上限を超えても実行され続けていた) | | `claude -p --max-budget-usd 5.00 "query"` |

### 出力フォーマットの例

```bash
# プレーンテキスト（デフォルト）
claude -p "explain this code"

# プログラムから扱うための JSON
claude -p --output-format json "list all functions in main.py"

# リアルタイム処理向けのストリーミング JSON
claude -p --output-format stream-json "generate a long report"

# スキーマ検証付きの構造化出力
claude -p --json-schema '{"type":"object","properties":{"bugs":{"type":"array"}}}' \
  "find bugs in this code and return as JSON"
```

## ワークスペースとディレクトリ

| フラグ | 説明 | 例 |
|------|------|-----|
| `--add-dir` | 追加の作業ディレクトリを指定 | `claude --add-dir ../apps ../lib` |
| `--setting-sources` | カンマ区切りの設定ソース | `claude --setting-sources user,project` |

> **`/config` の永続化（v2.1.119）**: `/config` コマンドで対話的に行った変更は `~/.claude/settings.json` に書き込まれ、通常の優先順位チェーン（policy → local → project → user）に組み込まれるようになった。v2.1.119 以前は一部の `/config` 変更がセッション限定だった。完全な優先順位については [メモリと設定](../02-memory/README.md) を参照。
| `--settings` | ファイルまたは JSON から設定を読み込む | `claude --settings ./settings.json` |
| `--plugin-dir` | ディレクトリからプラグインを読み込む（複数指定可） | `claude --plugin-dir ./my-plugin` |

### 複数ディレクトリの例

```bash
# 複数のプロジェクトディレクトリを横断作業
claude --add-dir ../frontend ../backend ../shared "find all API endpoints"

# カスタム設定の読み込み
claude --settings '{"model":"opus","verbose":true}' "complex task"
```

## MCP の設定

| フラグ | 説明 | 例 |
|------|------|-----|
| `--mcp-config` | JSON から MCP サーバーを読み込む | `claude --mcp-config ./mcp.json` |
| `--strict-mcp-config` | 指定した MCP 設定のみを使う | `claude --strict-mcp-config --mcp-config ./mcp.json` |
| `--channels` | MCP チャンネルプラグインを購読 | `claude --channels discord,telegram` |

### MCP の例

```bash
# GitHub MCP サーバーの読み込み
claude --mcp-config ./github-mcp.json "list open PRs"

# 厳密モード - 指定したサーバーのみ
claude --strict-mcp-config --mcp-config ./production-mcp.json "deploy to staging"
```

## セッション管理

| フラグ | 説明 | 例 |
|------|------|-----|
| `--session-id` | 特定セッション ID（UUID）を使用 | `claude --session-id "550e8400-..."` |
| `--fork-session` | 再開時に新しいセッションを作成 | `claude --resume abc123 --fork-session` |

### セッションの例

```bash
# 直前の会話を継続
claude -c

# 名前付きセッションを再開
claude -r "feature-auth" "continue implementing login"

# 試行錯誤のためセッションをフォーク
claude --resume feature-auth --fork-session "try alternative approach"

# 特定のセッション ID を使用
claude --session-id "550e8400-e29b-41d4-a716-446655440000" "continue"
```

### セッションのフォーク

既存セッションから分岐したブランチを作成し試行錯誤する：

```bash
# 別アプローチを試すためにセッションをフォーク
claude --resume abc123 --fork-session "try alternative implementation"

# カスタムメッセージ付きでフォーク
claude -r "feature-auth" --fork-session "test with different architecture"
```

**ユースケース:**
- 元のセッションを失わずに別実装を試す
- 並行して複数のアプローチを試行錯誤する
- 成功した作業からバリエーションのブランチを作る
- メインセッションに影響を与えずに破壊的な変更を試す

元のセッションは変更されず、フォークは新しい独立セッションになる。

## 高度な機能

| フラグ | 説明 | 例 |
|------|------|-----|
| `--chrome` | Chrome ブラウザ統合を有効化 | `claude --chrome` |
| `--no-chrome` | Chrome ブラウザ統合を無効化 | `claude --no-chrome` |
| `--ide` | 利用可能なら IDE と自動接続 | `claude --ide` |
| `--max-turns` | エージェントターンを制限（非対話） | `claude -p --max-turns 3 "query"` |
| `--debug` | フィルタ付きデバッグモードを有効化 | `claude --debug "api,mcp"` |
| `--enable-lsp-logging` | 詳細な LSP ログを有効化 | `claude --enable-lsp-logging` |
| `--betas` | API リクエストのベータヘッダ | `claude --betas interleaved-thinking` |
| `--plugin-dir` | ディレクトリからプラグインを読み込む（複数指定可） | `claude --plugin-dir ./my-plugin` |
| `--enable-auto-mode` | 自動権限モードを解禁 | `claude --enable-auto-mode` |
| `--effort` | 思考労力レベルを設定 | `claude --effort high` |
| `--bare` | 最小モード（フック、スキル、プラグイン、MCP、自動メモリ、CLAUDE.md をスキップ） | `claude --bare` |
| `--channels` | MCP チャンネルプラグインを購読 | `claude --channels discord` |
| `--tmux` | ワークツリー用に tmux セッションを作成 | `claude --tmux` |
| `--fork-session` | 再開時に新しいセッション ID を作成 | `claude --resume abc --fork-session` |
| `--max-budget-usd` | 最大支出額（プリントモード）。上限に達するとバックグラウンドのサブエージェントも停止する (v2.1.217) | `claude -p --max-budget-usd 5.00 "query"` |
| `--json-schema` | 検証付き JSON 出力 | `claude -p --json-schema '{"type":"object"}' "q"` |

### プラットフォームとテーマの注記（v2.1.112）

- **Windows 版の PowerShell ツール**: Windows 向けに専用の PowerShell ツールがロールアウトされ、環境変数で制御できる。
- **「Auto（ターミナルに合わせる）」テーマ**: 新しい "Auto (match terminal)" テーマで Claude Code のライト／ダーク表示をターミナルと同期できる。
- **静かな権限プロンプト**: 読み取り専用の `Bash` 呼び出しと `Glob` パターンは権限プロンプトを発生させなくなった。

### 高度な例

```bash
# 自律アクション数を制限
claude -p --max-turns 5 "refactor this module"

# API 呼び出しをデバッグ
claude --debug "api" "test query"

# IDE 統合を有効化
claude --ide "help me with this file"
```

## Agents の設定

`--agents` フラグはセッションに対するカスタムサブエージェントを定義する JSON オブジェクトを受け取る。

### Agents の JSON フォーマット

```json
{
  "agent-name": {
    "description": "Required: when to invoke this agent",
    "prompt": "Required: system prompt for the agent",
    "tools": ["Optional", "array", "of", "tools"],
    "model": "optional: sonnet|opus|haiku"
  }
}
```

**必須フィールド:**
- `description` - エージェントを使う場面の自然言語による説明
- `prompt` - エージェントの役割と挙動を定義するシステムプロンプト

**任意フィールド:**
- `tools` - 利用可能なツールの配列（省略時は全ツールを継承）
  - 形式: `["Read", "Grep", "Glob", "Bash"]`
- `model` - 使用するモデル: `sonnet`、`opus`、`haiku`

### 完全な Agents の例

```json
{
  "code-reviewer": {
    "description": "Expert code reviewer. Use proactively after code changes.",
    "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  },
  "debugger": {
    "description": "Debugging specialist for errors and test failures.",
    "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes.",
    "tools": ["Read", "Edit", "Bash", "Grep"],
    "model": "opus"
  },
  "documenter": {
    "description": "Documentation specialist for generating guides.",
    "prompt": "You are a technical writer. Create clear, comprehensive documentation.",
    "tools": ["Read", "Write"],
    "model": "haiku"
  }
}
```

### Agents コマンドの例

```bash
# カスタムエージェントをインラインで定義
claude --agents '{
  "security-auditor": {
    "description": "Security specialist for vulnerability analysis",
    "prompt": "You are a security expert. Find vulnerabilities and suggest fixes.",
    "tools": ["Read", "Grep", "Glob"],
    "model": "opus"
  }
}' "audit this codebase for security issues"

# ファイルからエージェントを読み込み
claude --agents "$(cat ~/.claude/agents.json)" "review the auth module"

# 他のフラグと組み合わせ
claude -p --agents "$(cat agents.json)" --model sonnet "analyze performance"
```

### エージェントの優先順位

複数のエージェント定義が存在する場合、以下の優先順位で読み込まれる：
1. **CLI 定義**（`--agents` フラグ） - セッション固有
2. **プロジェクトレベル**（`.claude/agents/`） - 現在のプロジェクト
3. **ユーザーレベル**（`~/.claude/agents/`） - 全プロジェクト

CLI 定義のエージェントは、当該セッションにおいてプロジェクトおよびユーザーのエージェントを上書きする。プロジェクトレベルのエージェントは、名前が衝突した場合にユーザーレベルのエージェントを上書きする。プラグインレベルのエージェントを含む完全な優先順位表は [Lesson 04 — サブエージェント](../04-subagents/README.md#file-locations) を参照。

---

## 価値の高いユースケース

### 1. CI/CD への組み込み

Claude Code を CI/CD パイプラインに組み込み、コードレビュー、テスト、ドキュメント生成を自動化する。

**GitHub Actions の例:**

```yaml
name: AI Code Review

on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run Code Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p --output-format json \
            --max-turns 1 \
            "Review the changes in this PR for:
            - Security vulnerabilities
            - Performance issues
            - Code quality
            Output as JSON with 'issues' array" > review.json

      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = JSON.parse(fs.readFileSync('review.json', 'utf8'));
            // Process and post review comments
```

**Jenkins パイプライン:**

```groovy
pipeline {
    agent any
    stages {
        stage('AI Review') {
            steps {
                sh '''
                    claude -p --output-format json \
                      --max-turns 3 \
                      "Analyze test coverage and suggest missing tests" \
                      > coverage-analysis.json
                '''
            }
        }
    }
}
```

### 2. スクリプトのパイプ処理

ファイル、ログ、データを Claude に流し込んで分析する。

**ログ解析:**

```bash
# エラーログの分析
tail -1000 /var/log/app/error.log | claude -p "summarize these errors and suggest fixes"

# アクセスログ内のパターン抽出
cat access.log | claude -p "identify suspicious access patterns"

# git 履歴の要約
git log --oneline -50 | claude -p "summarize recent development activity"
```

**コード処理:**

```bash
# 特定ファイルのレビュー
cat src/auth.ts | claude -p "review this authentication code for security issues"

# ドキュメントの生成
cat src/api/*.ts | claude -p "generate API documentation in markdown"

# TODO の抽出と優先順位付け
grep -r "TODO" src/ | claude -p "prioritize these TODOs by importance"
```

### 3. マルチセッションのワークフロー

複数の会話スレッドで複雑なプロジェクトを管理する。

```bash
# フィーチャーブランチ用セッションを開始
claude -r "feature-auth" "let's implement user authentication"

# 後で同じセッションを継続
claude -r "feature-auth" "add password reset functionality"

# 別アプローチを試すためフォーク
claude --resume feature-auth --fork-session "try OAuth instead"

# 別の機能のセッションへ切り替え
claude -r "feature-payments" "continue with Stripe integration"
```

### 4. カスタムエージェントの設定

チームのワークフロー向けに専門エージェントを定義する。

```bash
# エージェント設定をファイルに保存
cat > ~/.claude/agents.json << 'EOF'
{
  "reviewer": {
    "description": "Code reviewer for PR reviews",
    "prompt": "Review code for quality, security, and maintainability.",
    "model": "opus"
  },
  "documenter": {
    "description": "Documentation specialist",
    "prompt": "Generate clear, comprehensive documentation.",
    "model": "sonnet"
  },
  "refactorer": {
    "description": "Code refactoring expert",
    "prompt": "Suggest and implement clean code refactoring.",
    "tools": ["Read", "Edit", "Glob"]
  }
}
EOF

# セッションでエージェントを使用
claude --agents "$(cat ~/.claude/agents.json)" "review the auth module"
```

### 5. バッチ処理

一貫した設定で複数クエリを処理する。

```bash
# 複数ファイルの処理
for file in src/*.ts; do
  echo "Processing $file..."
  claude -p --model haiku "summarize this file: $(cat $file)" >> summaries.md
done

# バッチコードレビュー
find src -name "*.py" -exec sh -c '
  echo "## $1" >> review.md
  cat "$1" | claude -p "brief code review" >> review.md
' _ {} \;

# 全モジュールのテスト生成
for module in $(ls src/modules/); do
  claude -p "generate unit tests for src/modules/$module" > "tests/$module.test.ts"
done
```

### 6. セキュリティを意識した開発

権限制御で安全に運用する。

```bash
# 読み取り専用のセキュリティ監査
claude --permission-mode plan \
  --tools "Read,Grep,Glob" \
  "audit this codebase for security vulnerabilities"

# 危険なコマンドをブロック
claude --disallowedTools "Bash(rm:*)" "Bash(curl:*)" "Bash(wget:*)" \
  "help me clean up this project"

# 制限付き自動化
claude -p --max-turns 2 \
  --allowedTools "Read" "Glob" \
  "find all hardcoded credentials"
```

### 7. JSON API としての利用

`jq` のパースと組み合わせて、Claude をプログラム可能な API として活用する。

```bash
# 構造化された分析を取得
claude -p --output-format json \
  --json-schema '{"type":"object","properties":{"functions":{"type":"array"},"complexity":{"type":"string"}}}' \
  "analyze main.py and return function list with complexity rating"

# jq で処理に組み込む
claude -p --output-format json "list all API endpoints" | jq '.endpoints[]'

# スクリプト内で利用
RESULT=$(claude -p --output-format json "is this code secure? answer with {secure: boolean, issues: []}" < code.py)
if echo "$RESULT" | jq -e '.secure == false' > /dev/null; then
  echo "Security issues found!"
  echo "$RESULT" | jq '.issues[]'
fi
```

### jq でのパース例

`jq` で Claude の JSON 出力をパース・処理する：

```bash
# 特定フィールドの抽出
claude -p --output-format json "analyze this code" | jq '.result'

# 配列要素のフィルタ
claude -p --output-format json "list issues" | jq -r '.issues[] | select(.severity=="high")'

# 複数フィールドの抽出
claude -p --output-format json "describe the project" | jq -r '.{name, version, description}'

# CSV への変換
claude -p --output-format json "list functions" | jq -r '.functions[] | [.name, .lineCount] | @csv'

# 条件付き処理
claude -p --output-format json "check security" | jq 'if .vulnerabilities | length > 0 then "UNSAFE" else "SAFE" end'

# ネストされた値の取得
claude -p --output-format json "analyze performance" | jq '.metrics.cpu.usage'

# 配列全体の処理
claude -p --output-format json "find todos" | jq '.todos | length'

# 出力の変換
claude -p --output-format json "list improvements" | jq 'map({title: .title, priority: .priority})'
```

---

## モデル

Claude Code は能力の異なる複数のモデルをサポートする：

| モデル | ID | コンテキストウィンドウ | 備考 |
|-------|-----|----------------------|------|
| Opus 4.7 | `claude-opus-4-7` | 1M トークン（1M コンテキスト対応は v2.1.117 で実装） | 最も能力が高く、適応的な労力レベルを備える。Claude Code では Opus 4.7 ローンチ（2026-04-16）以降 `xhigh` がデフォルトの労力レベル |
| Sonnet 4.6 | `claude-sonnet-4-6` | 1M トークン | 速度と能力のバランスが良い。Pro／Max 加入者のデフォルト労力は v2.1.117 で `medium` から `high` に引き上げられた |
| Haiku 4.5 | `claude-haiku-4-5` | 1M トークン | 最速で、軽いタスクに最適 |

### モデルの選択

```bash
# 短縮名で指定
claude --model opus "complex architectural review"
claude --model sonnet "implement this feature"
claude --model haiku -p "format this JSON"

# opusplan エイリアス（Opus が計画、Sonnet が実装）
claude --model opusplan "design and implement the API"

# セッション中にファストモードを切り替え
/fast
```

### 労力レベル（Opus 4.7）

Opus 4.7 は適応的推論をサポートし、軽い順から `low`（○）、`medium`（◐）、`high`（●）、`xhigh`（Claude Code では Opus 4.7 ローンチ以降のデフォルト、2026-04-16）、`max`（Opus 4.7 のみ）の労力レベルを持つ。Opus 4.6 ／ Sonnet 4.6 では、Pro／Max 加入者のデフォルト労力が v2.1.117 で `medium` から `high` に引き上げられた。

```bash
# CLI フラグで労力レベルを設定
claude --effort xhigh "complex review"

# スラッシュコマンドで労力レベルを設定
/effort xhigh

# 環境変数で労力レベルを設定
export CLAUDE_CODE_EFFORT_LEVEL=xhigh   # low, medium, high, xhigh (default on Opus 4.7), or max (Opus 4.7 only)
```

プロンプト内のキーワード「ultrathink」は深い推論を有効化する。`max` の労力レベルは Opus 4.7 専用である。

---

## 主要な環境変数

| 変数 | 説明 |
|------|------|
| `ANTHROPIC_API_KEY` | 認証用の API キー |
| `ANTHROPIC_MODEL` | デフォルトモデルを上書き |
| `ANTHROPIC_CUSTOM_MODEL_OPTION` | API 用のカスタムモデルオプション |
| `ANTHROPIC_DEFAULT_OPUS_MODEL` | デフォルトの Opus モデル ID を上書き |
| `ANTHROPIC_DEFAULT_SONNET_MODEL` | デフォルトの Sonnet モデル ID を上書き |
| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | デフォルトの Haiku モデル ID を上書き |
| `MAX_THINKING_TOKENS` | 拡張思考のトークン予算を設定 |
| `CLAUDE_CODE_EFFORT_LEVEL` | 労力レベルを設定（`low`／`medium`／`high`／`xhigh`／`max`） — `xhigh` は Opus 4.7 のデフォルト、`max` は Opus 4.7 のみ |
| `CLAUDE_CODE_SIMPLE` | 最小モード（`--bare` フラグで設定される） |
| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | CLAUDE.md の自動更新を無効化 |
| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | バックグラウンドタスク実行を無効化 |
| `CLAUDE_CODE_DISABLE_CRON` | スケジュール／cron タスクを無効化 |
| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | git 関連の指示を無効化 |
| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | ターミナルタイトル更新を無効化 |
| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 1M トークンコンテキストウィンドウを無効化 |
| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 非ストリーミングフォールバックを無効化 |
| `CLAUDE_CODE_ENABLE_TASKS` | タスクリスト機能を有効化 |
| `CLAUDE_CODE_TASK_LIST_ID` | セッション間で共有する名前付きタスクディレクトリ |
| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | プロンプトサジェストを切り替え（`true`／`false`） |
| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | 実験的なエージェントチームを有効化 |
| `CLAUDE_CODE_NEW_INIT` | 新しい初期化フローを使用 |
| `CLAUDE_CODE_SUBAGENT_MODEL` | サブエージェント実行用モデル |
| `CLAUDE_CODE_PLUGIN_SEED_DIR` | プラグインシードファイル用ディレクトリ |
| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | サブプロセスから取り除く環境変数 |
| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 自動コンパクションのパーセンテージを上書き |
| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | ストリームのアイドルタイムアウト（ミリ秒） |
| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | スラッシュコマンドツールの文字数予算 |
| `ENABLE_TOOL_SEARCH` | ツール検索機能を有効化 |
| `MAX_MCP_OUTPUT_TOKENS` | MCP ツール出力の最大トークン数 |
| `CLAUDE_CODE_PERFORCE_MODE` | `1` を設定すると Perforce モードを有効化 — ファイルをデフォルトで読み取り専用として扱う（Perforce/P4 バージョン管理ワークフロー向け）（v2.1.98 追加） |
| `DISABLE_UPDATES` | 手動の `claude update` を含むすべての更新経路をブロックする。バックグラウンドの自動更新のみブロックする `DISABLE_AUTOUPDATER` より厳密（v2.1.118+） |
| `CLAUDE_CODE_HIDE_CWD` | `1` に設定すると、起動時ロゴでカレント作業ディレクトリを隠す（プライバシー／画面共有用途）（v2.1.119+） |
| `CLAUDE_CODE_FORK_SUBAGENT` | デフォルトでフォークモードが無効な場面 — 非対話モード（`claude -p`）、Agent SDK、v2.1.232 より古い Claude Code — で `1` を設定するとフォークモードを有効化する。v2.1.232 以降、フォークモードはファーストパーティかどうかを問わずすべてのビルドの対話セッションでデフォルト有効（GA は v2.1.117） |
| `OTEL_LOG_TOOL_DETAILS` | `1` を設定すると OpenTelemetry イベント中のカスタムおよび MCP コマンド名のリダクションを解除する（v2.1.117+）。デフォルトはリダクション有効。 |

> **Vertex AI 上の `ENABLE_TOOL_SEARCH`（v2.1.119+）**: ツール検索は **Google Cloud Vertex AI 上のデプロイではデフォルト無効** である。Vertex 上でツール検索機能を使いたい場合は `export ENABLE_TOOL_SEARCH=true` で明示的にオプトインする必要がある。Anthropic API 直結ではデフォルト有効のままである。

---

## クイックリファレンス

### 最もよく使うコマンド

```bash
# 対話セッション
claude

# サッと質問
claude -p "how do I..."

# 会話を継続
claude -c

# ファイルを処理
cat file.py | claude -p "review this"

# スクリプト用の JSON 出力
claude -p --output-format json "query"
```

### フラグの組み合わせ

| ユースケース | コマンド |
|-------------|----------|
| 簡易コードレビュー | `cat file \| claude -p "review"` |
| 構造化出力 | `claude -p --output-format json "query"` |
| 安全な探索 | `claude --permission-mode plan` |
| 安全装置付き自律実行 | `claude --enable-auto-mode --permission-mode auto` |
| CI/CD 連携 | `claude -p --max-turns 3 --output-format json` |
| 作業の再開 | `claude -r "session-name"` |
| カスタムモデル | `claude --model opus "complex task"` |
| 最小モード | `claude --bare "quick query"` |
| 予算上限付き実行 | `claude -p --max-budget-usd 2.00 "analyze code"` |

---

## トラブルシューティング

### コマンドが見つからない

**問題:** `claude: command not found`

**対処法:**
- Claude Code をインストール: `npm install -g @anthropic-ai/claude-code`
- PATH に npm のグローバル bin ディレクトリが含まれていることを確認
- フルパスで実行を試す: `npx claude`

### API キーの問題

**問題:** 認証に失敗する

**対処法:**
- API キーを設定: `export ANTHROPIC_API_KEY=your-key`
- キーが有効でクレジットが十分か確認
- 要求モデルに対するキー権限を確認

### セッションが見つからない

**問題:** セッションを再開できない

**対処法:**
- 利用可能なセッションを一覧表示し、正しい名前／ID を確認
- セッションは一定期間使用しないと失効する場合がある
- `-c` で直近のセッションを継続する

### 出力フォーマットの問題

**問題:** JSON 出力が壊れている

**対処法:**
- `--json-schema` で構造を強制する
- プロンプト内に明示的な JSON 指示を含める
- プロンプトで JSON を要求するだけでなく `--output-format json` を使用する

### 権限拒否

**問題:** ツール実行がブロックされる

**対処法:**
- `--permission-mode` 設定を確認
- `--allowedTools` と `--disallowedTools` フラグを見直す
- 自動化用途では（注意のうえ）`--dangerously-skip-permissions` を使用

---

## 追加リソース

- **[公式 CLI リファレンス](https://code.claude.com/docs/en/cli-reference)** - 完全なコマンドリファレンス
- **[ヘッドレスモードのドキュメント](https://code.claude.com/docs/en/headless)** - 自動実行
- **[スラッシュコマンド](../01-slash-commands/)** - Claude 内のカスタムショートカット
- **[メモリガイド](../02-memory/)** - CLAUDE.md による永続コンテキスト
- **[MCP プロトコル](../05-mcp/)** - 外部ツール連携
- **[高度な機能](../09-advanced-features/)** - プランニングモード、拡張思考
- **[サブエージェントガイド](../04-subagents/)** - 委譲によるタスク実行

---

*[Claude How To](../) ガイドシリーズの一部*

---

**最終更新**: 2026 年 4 月 24 日
**Claude Code バージョン**: 2.1.119
**出典**:
- https://code.claude.com/docs/en/cli-reference
- https://code.claude.com/docs/en/settings
- https://code.claude.com/docs/en/changelog
- https://www.anthropic.com/news/claude-opus-4-7
- https://github.com/anthropics/claude-code/releases/tag/v2.1.113
- https://github.com/anthropics/claude-code/releases/tag/v2.1.116
- https://github.com/anthropics/claude-code/releases/tag/v2.1.117
- https://github.com/anthropics/claude-code/releases/tag/v2.1.118
- https://github.com/anthropics/claude-code/releases/tag/v2.1.119
**対応モデル**: Claude Sonnet 4.6、Claude Opus 4.7、Claude Haiku 4.5
