Files
claude-howto/ja/10-cli
Luong NGUYEN 1e16914a8d docs: sync to Claude Code v2.1.257 (#180)
* docs: sync to Claude Code v2.1.257

Audit against Claude Code v2.1.257 (repo baseline was v2.1.245, 12 releases
behind). Facts verified against the official docs and cross-checked against
the locally installed 2.1.257 binary.

Critical (P0):
- lesson-quiz L06 Q9 asked how many hook events exist, offering 16/25/31/40.
  With the real answer now 33, no option was correct. Option C 31 -> 33;
  answer letter unchanged.
- 03-skills taught SKILL.md `name`/`description` as required. Official docs
  now state all frontmatter fields are optional and `name` defaults to the
  directory name. Corrected in all five languages.

Hook events 31 -> 33 (PreModelSwitch/PostModelSwitch, v2.1.251) across 30
occurrences in 22 files, including three that read 25. Delta proved by
set-diff against the official event table: no phantom events. Both events
added to the 06-hooks tables with matcher, blocking behavior and 30s timeout,
plus detailed per-event sections.

CLI corrections verified against the binary:
- `claude plugin tag` takes a path, not a version
- `claude plugin init` / `validate` require their arguments
- `plugin init` scaffolds at ~/.claude/skills/<name>/, not project-local
- `--channels` entries must be tagged plugin:<name>@<marketplace>
- `--remote` is a deprecated alias for `--cloud`
- no `claude remote-control` subcommand exists, only the --remote-control flag

Also: CATALOG summary-table totals recomputed in all five languages (column 4
is a derived total, so the count change invalidated it); stale Opus 4.6/4.7
rosters aligned to canonical; self-assessment Advanced Features rescored 0-3
to stop a real gap being graded as mastery; 9 dangling quiz Review pointers
repaired; new features documented (--restricted, Fable 5.1,
experimental.cacheTtl, CLAUDE_CODE_SUBAGENT_MODEL_FORCE).

Deliberately out of scope: pre-existing translation staleness whose fix is
translation authorship rather than correction (ja/uk April-2026 root-doc
bodies, zh stubs, vi/README stub, translated CATALOG "New Features").

Claude-Session: https://claude.ai/code/session_01128xfEd8W7c2cMRw6N7uiF

* fix(hooks): complete the 31 → 33 hook-event propagation across all languages

The v2.1.257 sync bumped the hook-event count in the lesson and catalog
summaries but left 14 files still asserting 31, four of which the same
commit restamped 2.1.257. It also bumped the prose count in
claude_concepts_guide.md without adding the two rows, making that file
contradict itself where it had been internally consistent before.

Adds PreModelSwitch and PostModelSwitch (v2.1.251) everywhere an
exhaustive enumeration exists, and corrects the count wherever a list is
deliberately partial:

- README.md / INDEX.md in en, ja, zh, uk and vi/INDEX.md — count 31 → 33
  and both events added to the lifecycle group
- resources.md in all five languages — count only; these lists end in
  "and more" and are partial by design
- claude_concepts_guide.md — the two missing table rows

Also brings every hook-event table up to the 33 its own summary row
claims. The English CATALOG.md listed 29; the translated catalogs listed
25 and the ja/uk concept guides 27 and 28. Completing them required
translating six events that had never reached the mirrors: Setup,
UserPromptExpansion, PermissionDenied, PostToolBatch, MessageDisplay and
DirectoryAdded.

Summary-table arithmetic is untouched — those columns count example
scripts, not events.

Verified: no stale count survives outside CHANGELOG history, every
exhaustive enumeration lists exactly 33, and pre-commit passes 23/23.

Claude-Session: https://claude.ai/code/session_01UXmqJZNk1BR4uerJA85NiW
2026-09-02 10:35:08 +02:00
..

Claude How To

CLI リファレンス

概観

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

アーキテクチャ

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 のドキュメント を参照
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 [name] リモートコントロールを起動(サブコマンドではなくフラグ。エイリアス --rc claude --rc
claude plugin プラグインを管理(インストール・有効化・無効化) claude plugin install my-plugin
claude plugin tag [path] [path] のプラグインに対し {name}--v{version} のリリース git タグを作成。plugin.json と(存在すれば)マーケットプレイスのエントリが一致しているか検証する(v2.1.118+) claude plugin tag ./my-plugin
claude install [version] 指定したネイティブバイナリのバージョンをインストール。stablelatest、明示的なバージョン文字列を受け付ける 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
--cloud [description|session_id|url] 指定した説明で claude.ai 上にクラウドセッションを作成、またはセッション ID か claude.ai/code の URL で既存セッションに接続 claude --cloud "implement API"
--remote "task" --cloud の非推奨エイリアス(既存セッションに接続する形式も含む)。--cloud を使うこと 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 チャンネルプラグインを購読。各エントリは plugin:<name>@<marketplace> の形式でタグ付けする必要があり、名前のみの指定は拒否される claude --channels plugin:discord@my-marketplace
--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"

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

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"]

対話モード(デフォルト):

# 対話セッションを開始
claude

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

プリントモード(非対話):

# 単一クエリ実行後に終了
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 の設定 を参照
--effort 労力レベルを設定(low、medium、high、xhigh、max claude --effort xhigh

モデル選択の例

# 複雑なタスクには 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"

# opusplanOpus が計画、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"

システムプロンプトの例

# 完全カスタムなペルソナ
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 ビルドでは、GlobGrep は独立したファーストクラスツールではなく、Bash ツール経由で呼び出される組み込みの bfs および ugrep バイナリとして提供される。Windows 版および npm バンドル(JS)版では引き続きスタンドアロンツールとして公開される。サブエージェントの allowedTools disallowedTools リストでは、バックエンド側の置換は透過的なため、どのプラットフォームでも設定では引き続き Glob Grep を参照すればよい。

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

権限の例

# コードレビュー用の読み取り専用モード
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 出力フォーマット指定(プリントモード) textjsonstream-json claude -p --output-format json "query"
--input-format 入力フォーマット指定(プリントモード) textstream-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"

出力フォーマットの例

# プレーンテキスト(デフォルト)
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 変更がセッション限定だった。完全な優先順位については メモリと設定 を参照。 | --settings | ファイルまたは JSON から設定を読み込む | claude --settings ./settings.json | | --plugin-dir | ディレクトリからプラグインを読み込む(複数指定可) | claude --plugin-dir ./my-plugin |

複数ディレクトリの例

# 複数のプロジェクトディレクトリを横断作業
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 チャンネルプラグインを購読。各エントリは plugin:<name>@<marketplace> の形式でタグ付けする必要があり、名前のみの指定は拒否される claude --channels plugin:discord@my-marketplace

MCP の例

# 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 特定セッション IDUUID)を使用 claude --session-id "550e8400-..."
--fork-session 再開時に新しいセッションを作成 claude --resume abc123 --fork-session

セッションの例

# 直前の会話を継続
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"

セッションのフォーク

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

# 別アプローチを試すためにセッションをフォーク
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 チャンネルプラグインを購読(plugin:<name>@<marketplace> 形式でタグ付け) claude --channels plugin:discord@my-marketplace
--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 パターンは権限プロンプトを発生させなくなった。

高度な例

# 自律アクション数を制限
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 フォーマット

{
  "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 - 使用するモデル: sonnetopushaiku

完全な Agents の例

{
  "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 コマンドの例

# カスタムエージェントをインラインで定義
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 — サブエージェント を参照。


価値の高いユースケース

1. CI/CD への組み込み

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

GitHub Actions の例:

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 パイプライン:

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 に流し込んで分析する。

ログ解析:

# エラーログの分析
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"

コード処理:

# 特定ファイルのレビュー
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. マルチセッションのワークフロー

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

# フィーチャーブランチ用セッションを開始
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. カスタムエージェントの設定

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

# エージェント設定をファイルに保存
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. バッチ処理

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

# 複数ファイルの処理
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. セキュリティを意識した開発

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

# 読み取り専用のセキュリティ監査
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 として活用する。

# 構造化された分析を取得
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 出力をパース・処理する:

# 特定フィールドの抽出
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 トークン 最速で、軽いタスクに最適

モデルの選択

# 短縮名で指定
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(●)、xhighClaude Code では Opus 4.7 ローンチ以降のデフォルト、2026-04-16)、max(Opus 4.7 のみ)の労力レベルを持つ。Opus 4.6 Sonnet 4.6 では、Pro/Max 加入者のデフォルト労力が v2.1.117 で medium から high に引き上げられた。

# 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 労力レベルを設定(lowmediumhighxhighmaxxhigh は 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 プロンプトサジェストを切り替え(truefalse
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_SEARCHv2.1.119+: ツール検索は Google Cloud Vertex AI 上のデプロイではデフォルト無効 である。Vertex 上でツール検索機能を使いたい場合は export ENABLE_TOOL_SEARCH=true で明示的にオプトインする必要がある。Anthropic API 直結ではデフォルト有効のままである。


クイックリファレンス

最もよく使うコマンド

# 対話セッション
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 を使用

追加リソース


Claude How To ガイドシリーズの一部


最終更新: 2026 年 9 月 2 日 Claude Code バージョン: 2.1.257 出典: