本文へ移動
Claude Tips

CLI のコマンドとフラグ

claude コマンドのサブコマンドとフラグを全件の表にまとめ、システムプロンプトを変えるフラグと、再開した会話での扱いも説明します。

claude コマンドは、セッションの開始・パイプ入力の処理・会話の再開・更新・認証・バックグラウンドセッションの管理までを、サブコマンドとフラグで扱います。このページは、その全件の一覧です。claude --help はすべてのフラグを載せないので、--help にないことは、使えないという意味ではありません。

  • サブコマンドの表は、起動・再開・更新・認証・バックグラウンドセッション・MCP・プラグインなどの操作を扱う
  • フラグの表は、モデル・権限・出力形式・システムプロンプト・worktree・クラウドなどの動作を変える
  • -p(--print)は非対話の実行で、結果を出して終了する。詳しくはヘッドレス実行(-p)
  • サブコマンドを打ち間違えると、近い候補を示して、セッションを始めずに終了する(claude udpate は Did you mean claude update? と出る)

サブコマンド#

セッションの開始・パイプ入力・会話の再開・更新の操作は、次のコマンドで行います。

コマンド 説明 例
claude 対話セッションを始める claude
claude "query" 最初のプロンプトを付けて対話セッションを始める claude "explain this project"
claude -p "query" SDK 経由で問い合わせ、終了する claude -p "explain this function"
cat file | claude -p "query" パイプで渡した内容を処理する cat logs.txt | claude -p "explain"
claude -c 現在のディレクトリの直近の会話を続ける claude -c
claude -c -p "query" SDK 経由で続ける claude -c -p "Check for type errors"
claude -r "<session>" "query" ID か名前でセッションを再開する claude -r "auth-refactor" "Finish this PR"
claude update 最新バージョンへ更新する claude update
claude gateway 自社運用の Claude apps gateway のサーバーを起動する。Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry 上の Claude Code の前に SSO とポリシーを置く管理者向け。gateway.yaml を指す --config が必要 claude gateway --config gateway.yaml
claude install [version] ネイティブバイナリをインストール・再インストールする。2.1.118 のようなバージョンか、stable、latest を受け付ける claude install stable
claude auth login Anthropic アカウントにサインインする。--email でメールアドレスを事前入力、--sso で SSO 認証を強制、--console で Claude サブスクリプションの代わりに Anthropic Console の API 課金でサインインする claude auth login --console
claude auth logout Anthropic アカウントからログアウトする claude auth logout
claude auth status 認証状態を JSON で出す。--text で人が読める形になる。ログイン中は終了コード 0、未ログインは 1。JSON には、CLI が使う設定ディレクトリを示す configDirectory フィールドが入る(v2.1.268 以降)。JSON の authMethod フィールドは none・claude.ai・oauth_token・api_key・api_key_helper・third_party のどれか claude auth status
claude agents エージェントビューを開き、並列のバックグラウンドセッションを監視・割り当てる。--cwd <path> でそのディレクトリ以下で始めたセッションだけを表示、--json で動いているセッションを JSON の配列で出す(--json --all は完了したバックグラウンドセッションも含む)。--permission-mode・--model・--effort・--agent で、割り当てるセッションの既定を設定する。--settings・--add-dir・--plugin-dir・--mcp-config は、トップレベルの claude と同様に受け付ける。エージェントビューを開くには対話端末が要る claude agents --json
claude attach <id> バックグラウンドセッションをこの端末につなぐ claude attach 7c5dcf5d
claude auto-mode defaults auto モードの分類器の組み込みルールを JSON で出す。設定を適用した実際の構成は claude auto-mode config。--label <prefix> は、ラベルがその接頭辞で始まるルールだけを(大文字小文字を区別せず)出す(v2.1.208 以降) claude auto-mode defaults --label 'Git Destructive'
claude auto-mode reset ユーザー設定ファイルから autoMode の節を消し、auto モードの構成を既定に戻す。書く前に確認する。-y・--yes で確認を飛ばす。管理設定や --settings のルールは引き続き適用される(v2.1.212 以降)。詳しくは権限モード claude auto-mode reset --yes
claude daemon status バックグラウンドセッションのスーパーバイザーの状態・バージョン・ソケットのディレクトリ・ワーカー数を、診断のために出す。スーパーバイザーが動いていないと終了コード 1 claude daemon status
claude daemon stop --any バックグラウンドセッションのスーパーバイザーと、それが載せるセッションを止める。--keep-workers を付けると、バックグラウンドセッションを動かしたままにし、次のスーパーバイザーが再接続する。--any は、既定であるオンデマンドのスーパーバイザーを止めることを確認する。応答しないスーパーバイザーからの復旧に使う claude daemon stop --any --keep-workers
claude doctor セッションを始めずに、端末から、読み取り専用のインストールと設定の診断を出す。インストールの健全性・設定ファイルの検証エラー・Remote Control の利用資格を含む。修正も適用できるセッション内の点検は /doctor claude doctor
claude import [source] /import を動かす対話セッションを始め、ほかのコーディングエージェントの設定を Claude Code に取り込む。コマンドと同じ --dry-run と --yes を受け付ける。Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry・Claude Platform on AWS では使えず、フィーチャーフラグの取得を切ったときも使えない(v2.1.213 以降) claude import codex --dry-run
claude logs <id> バックグラウンドセッションの最近の出力を出す claude logs 7c5dcf5d
claude mcp MCP サーバーを設定する。詳しくはMCP サーバーをつなぐ claude mcp
claude mcp login <name> 対話の /mcp パネルを開かずに、設定した MCP サーバーの OAuth の流れを実行する。HTTP・SSE・claude.ai のコネクタのサーバーで動く。SSH 越しには --no-browser を付けると、ブラウザを開く代わりに認可 URL を出し、リダイレクト URL をプロンプトに貼り戻す claude mcp login sentry
claude mcp logout <name> MCP サーバーの保存済みの OAuth 認証情報を消す claude mcp logout sentry
claude plugin Claude Code のプラグインを管理する。別名は claude plugins。サブコマンドはプラグインのリファレンスを参照 claude plugin install code-review@claude-plugins-official
claude purge [path] プロジェクトについて、ローカルの Claude Code の状態をすべて削除する。記録・タスクリスト・デバッグログ・ファイル編集の履歴・プロンプト履歴の行・~/.claude.json のそのプロジェクトの項目。[path] を省くと対話の一覧から選ぶ。フラグは、プレビューの --dry-run、確認を飛ばす -y・--yes、各項目を確認する -i・--interactive、全プロジェクトの --all。詳しくは.claude ディレクトリの中身 claude purge ~/work/repo --dry-run
claude remote-control claude.ai か Claude アプリから Claude Code を操作する Remote Control のサーバーを起動する。サーバーモードで動く(ローカルの対話セッションはない)。サーバーを止めた後は、それが担当していたセッションを戻せる。詳しくはリモートコントロールとモバイル claude remote-control --name "My Project"
claude respawn <id> バックグラウンドセッションを、会話を保ったまま再起動する(動いていても止まっていても)。--all で動いているすべてのセッションを再起動する(更新した Claude Code のバイナリを拾うときなど) claude respawn 7c5dcf5d
claude rm <id> バックグラウンドセッションを一覧から消す。セッションの worktree が理由で削除が拒否され、2 回目の claude rm で解決できるときは、拒否のメッセージが、渡すべき正確なフラグと値を出す。--discard-unpushed <commit>@<worktree-id> は、プッシュされていないコミットのある worktree を、そのコミットごと捨てる。--force-remove-worktree <worktree-id> は、git か WorktreeRemove フックが消せなかった worktree のディレクトリを削除する。--discard-unpushed は v2.1.260 以降、--force-remove-worktree は v2.1.268 以降が必要。会話の記録はローカルマシンに残り、claude --resume で使える claude rm 7c5dcf5d
claude self-hosted-runner このマシンかコンテナを、セルフホスト環境に登録し、自分のインフラで Claude Code のクラウドセッションを動かすランナーを起動する。claude self-hosted-runner setup が案内つきの運用者向け手順、doctor が配備済みのランナーの診断、orchestrator がオンデマンドのランナーの起動。詳しくはセルフホスト環境(v2.1.224 以降が必要) claude self-hosted-runner setup
claude setup-token CI とスクリプト向けの、長期間有効な OAuth トークンを作る。保存せずに端末へ出す。Claude サブスクリプションが必要 claude setup-token
claude stop <id> バックグラウンドセッションを止める。claude kill も受け付ける claude stop 7c5dcf5d
claude ultrareview [target] ultrareview を非対話で実行する。結果を標準出力に出し、成功で終了コード 0、失敗で 1。--json で生のペイロード、--timeout <minutes> で 45 分の既定を上書きする。github.com のプルリクエストを対象にした --post は、完了した結果を、自分の GitHub アカウントから 1 つの通常のコメントとして PR に投稿する。--no-post が既定。--post と --no-post は v2.1.227 以降が必要。詳しくはコードレビューと ultrareview claude ultrareview 1234 --json

補足

claude --dangerously-skip-permissions daemon <subcommand> は daemon のサブコマンドを実行するので、claude にこのフラグを含めるエイリアスを張っていても、サブコマンドが動きます。この形で daemon に回るのは、先頭が --dangerously-skip-permissions か --allow-dangerously-skip-permissions のときだけで、daemon の前にほかのフラグがあると、サブコマンドは動きません。

フラグ#

Claude Code の動作を、次のコマンドラインフラグで変えます。

フラグ 説明 例
--add-dir Claude がファイルを読み編集できる、追加の作業ディレクトリを足す。ファイルへのアクセスを与えるだけで、Claude Code はこれらのディレクトリの .claude/ の設定の大半は見つけない。各パスがディレクトリとして存在することを検証する。\\server\share のようなネットワークパスの大半は足せない。セッションをまたいで保つには、設定の permissions.additionalDirectories を使う claude --add-dir ../apps ../lib
--advisor <model> このセッションで、サーバー側の advisor ツールを、モデルの別名(fable・opus・sonnet)か完全なモデル ID で有効にする。そのセッションでは advisorModel 設定より優先される。fable は Fable へのアクセスが必要。詳しくはモデル・effort・fast mode claude --advisor opus
--agent 現在のセッションのエージェントを指定する(agent 設定を上書き) claude --agent my-custom-agent
--agents カスタムのサブエージェントを JSON で動的に定義する。CLI で定義するサブエージェントのフィールドを受け付ける。--print と一緒なら、オブジェクトを持つ JSON ファイルのパスにもでき、ファイルの形は v2.1.281 以降が必要。Claude Code は起動時に値を検証し、無効なら終了する(検証は v2.1.242 以降が必要) claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'
--allow-dangerously-skip-permissions 始まりのモードにはせずに、bypassPermissions を Shift+Tab のモードの巡回に足す。plan のような別のモードで始め、後から bypassPermissions に切り替えられる。詳しくは権限モード claude --permission-mode plan --allow-dangerously-skip-permissions
--allowedTools、--allowed-tools 権限の確認なしで実行するツール。パターンの書き方は権限ルールの構文を参照。使えるツールを制限するには、代わりに --tools。タスク追跡のツールを挙げると、Claude Code はそのセッションを有効にもする "Bash(git log *)" "Bash(git diff *)" "Read"
--append-subagent-system-prompt すべてのサブエージェント(入れ子のものを含む)のシステムプロンプトの末尾にテキストを足す。ただし、会話自身のプロンプトを再利用する fork したサブエージェントは除く。-p の非対話モードでだけ適用される(v2.1.205 以降) claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"
--append-subagent-system-prompt-file ファイルからテキストを読み、サブエージェントのシステムプロンプトに足す。コマンドラインに渡すには長いテキスト向けで、--append-subagent-system-prompt と同時には使えない。-p の非対話モードでだけ適用される(v2.1.261 以降) claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query"
--append-system-prompt 既定のシステムプロンプトの末尾にテキストを足す claude --append-system-prompt "Always use TypeScript"
--append-system-prompt-file ファイルから追加のシステムプロンプトのテキストを読み、既定のプロンプトに足す claude --append-system-prompt-file ./extra-rules.txt
--autocompact <auto|tokens> 保存した設定を変えずに、このセッションの自動圧縮のウィンドウを設定する。/autocompact と同じ値を受け付ける(v2.1.221 以降)。詳しくはモデル・effort・fast mode claude --autocompact 500k
--ax-screen-reader スクリーンリーダー向けの出力にする。装飾の罫線やアニメーションのない平らなテキスト。クラシックのレンダラーを強制するので、tui 設定は効かない(つないだバックグラウンドセッションは引き続き全画面で描く)。CLAUDE_AX_SCREEN_READER と axScreenReader 設定より優先される(v2.1.181 以降) claude --ax-screen-reader
--bare 最小のモード:フック・スキル・カスタムコマンド・サブエージェント・インストール済みのプラグイン・MCP サーバー・自動メモリ・CLAUDE.md の自動発見を飛ばし、スクリプトからの呼び出しを速く始める。--add-dir で渡したディレクトリのスキルは引き続き読み込まれる。Claude は Bash・ファイルの読み取り・ファイルの編集のツールを使える。CLAUDE_CODE_SIMPLE を設定する。詳しくはヘッドレス実行(-p) claude --bare -p "query"
--betas API リクエストに含めるベータのヘッダー(API キーのユーザーだけ) claude --betas interleaved-thinking
--bg、--background セッションをバックグラウンドエージェントとして始め、すぐ戻る。セッション ID と管理コマンドを出す。--exec と組み合わせると Claude のセッションではなくシェルコマンドをバックグラウンドのジョブとして動かし、--agent と組み合わせると特定のサブエージェントを動かす。始める前に、ディレクトリのワークスペースの信頼を確認する。-p・--print とは組み合わせられない claude --bg "investigate the flaky test"
--channels (研究プレビュー)このセッションで Claude がチャネルの通知を待ち受ける MCP サーバー。plugin:<name>@<marketplace> の項目を空白で区切った一覧。claude.ai か Console の API キーによる Anthropic の認証が必要。詳しくはチャネル claude --channels plugin:my-notifier@my-marketplace
--chrome Web の自動化とテストのために、Chrome のブラウザ連携を有効にする。詳しくはChrome とコンピュータ操作 claude --chrome
--cloud タスクの説明を付けると、新しいクラウドセッションを作る。セッション ID(session_... か cse_...)か claude.ai/code の URL を付けると、-p と一緒に、既存のセッションにメッセージをキューに入れる。詳しくはクラウド(Web)で使う claude --cloud "Fix the login bug"
--continue、-c 現在のディレクトリの直近の会話を読み込む。完了したバックグラウンドセッションを含む(完了したバックグラウンドセッションを開くのは v2.1.257 以降が必要)。claude -p か Agent SDK で作ったセッションと、最初のプロンプトが /loop だったセッションは飛ばす。claude -p --continue は、-p・SDK・/loop のセッションを含む。/add-dir でこのディレクトリを足したセッションを含む claude --continue
--dangerously-load-development-channels 承認済みの許可リストにないチャネルを、ローカルの開発のために有効にする。plugin:<name>@<marketplace> と server:<name> の項目を受け付ける。確認が出る claude --dangerously-load-development-channels server:webhook
--dangerously-skip-permissions 権限の確認を飛ばす。--permission-mode bypassPermissions と同じ。飛ばすものと飛ばさないものは権限モードを参照。--bg で始めたセッションでは、スーパーバイザーがセッションを再起動してもモードが保たれる claude --dangerously-skip-permissions
--debug デバッグモードを有効にする。任意でカテゴリの絞り込みもできる(--debug='mcp,startup'、--debug='!1p')。絞り込みが効くのは = の形だけで、空白で区切ると絞り込みなしでデバッグモードが有効になる claude --debug='mcp,startup'
--debug-file <path> デバッグログを特定のファイルパスに書く。デバッグモードも暗黙に有効にする。CLAUDE_CODE_DEBUG_LOGS_DIR より優先される claude --debug-file /tmp/claude-debug.log
--desktop 現在のディレクトリで Claude Desktop アプリを開き、端末ではセッションを始めずに終了する。--continue、またはセッション ID を付けた --resume を足すと、そのセッションを Desktop で開く(ここでの --resume はセッション ID だけを受け付け、名前や記録のパスは受け付けない)。プロンプトも、--verbose と --debug 系のフラグ以外のフラグも受け付けない(アプリがセッションを自分で始めるため)。macOS と x64 の Windows で、Claude サブスクリプションでサインインしているときに使える(v2.1.285 以降が必要) claude --desktop
--disable-slash-commands このセッションの、すべてのスキルとコマンドを無効にする claude --disable-slash-commands
--disallowedTools、--disallowed-tools 拒否ルール。ツール名だけなら、一致するツールを Claude のコンテキストから外す("Edit" は Edit、"*" はすべてのツール、"mcp__*" はすべての MCP ツールを外す)。Bash(rm *) のような絞ったルールは、ツールは使えるままにして、書かれたとおりに一致する呼び出しだけを拒否する。EndConversation を名指しするルールは、ほかのツールが残る間は、それを外せない "Bash(git log *)" "Bash(git diff *)" "Edit"
--effort 現在のセッションの effort の段階を設定する。low・medium・high・xhigh・max・ultracode。使える段階はモデルで違う。ultracode は xhigh の effort で ultracode をオンにするよう求める(v2.1.203 以降が必要)。そのセッションでは modelSettings と effortLevel 設定を上書きし、保存されない claude --effort high
--enable-auto-mode v2.1.111 で削除された。auto モードは既定で Shift+Tab の巡回に入っている。auto で始めるには --permission-mode auto claude --permission-mode auto
--environment <environment-id> 指定の ID のセルフホスト環境で動く、新しいクラウドセッションを作る。環境 ID は ccpool_ で始まる(v2.1.224 以降が必要) claude -p "Fix the login bug" --environment ccpool_abc123
--exclude-dynamic-system-prompt-sections 自動メモリの場所のような、ユーザーごとの文脈を、システムプロンプトから最初のユーザーメッセージへ移す。同じタスクを動かす別のユーザーやマシンの間で、プロンプトキャッシュの再利用が良くなる。既定のシステムプロンプトでだけ適用され、--system-prompt か --system-prompt-file があると無視される。スクリプトで、複数ユーザーの作業負荷に -p と一緒に使う claude -p --exclude-dynamic-system-prompt-sections "query"
--exec Claude のセッションを始める代わりに、シェルコマンドを PTY に支えられたバックグラウンドのジョブとして動かす。シェルから起動するには --bg と使う claude --bg --exec 'pytest -x'
--fallback-model 主モデルが過負荷か、使えない(退役したモデルなど)とき、指定のモデルへ自動で切り替える。カンマ区切りで、順に試される。連鎖を保つには fallbackModel 設定を使い、このフラグはそれを上書きする。詳しくはモデル・effort・fast mode claude --fallback-model sonnet,haiku
--fork-session 再開するとき、元のセッション ID を再利用せず新しいセッション ID を作る(--resume か --continue と使う) claude --resume abc123 --fork-session
--forward-subagent-text サブエージェントのテキストと思考ブロックを、parent_tool_use_id を付けた assistant と user のメッセージとして出力ストリームに出し、各サブエージェントの記録を再構成できるようにする。このフラグがないと、フォアグラウンドで動くサブエージェントのテキストと思考ブロックは省かれる。--print と --output-format stream-json が必要。入れ子のサブエージェントのメッセージも転送し、parent_tool_use_id に、それぞれを始めた Agent か Skill のツール呼び出しの ID を設定する(v2.1.219 以降)。fork したスキルが生成するサブエージェントと入れ子の fork したスキルのメッセージは v2.1.275 以降が必要。環境変数 CLAUDE_CODE_FORWARD_SUBAGENT_TEXT も同じ動作を有効にする。v2.1.211 以降が必要 claude -p --output-format stream-json --verbose --forward-subagent-text "query"
--from-pr 特定のプルリクエストにリンクされたセッションで絞ったセッションピッカーを開く。PR の番号、GitHub か GitHub Enterprise の PR の URL、GitLab のマージリクエストの URL、Bitbucket のプルリクエストの URL を受け付ける。Claude がプルリクエストを作ると、セッションは自動でリンクされる claude --from-pr 123
--ide ちょうど 1 つの有効な IDE があれば、起動時に自動で IDE に接続する claude --ide
--init セッションの前に、init マッチャーの Setup フックを動かす(プリントモードだけ) claude -p --init "query"
--init-only Setup と SessionStart のフックを動かし、会話を始めずに終了する claude --init-only
--include-hook-events フックのライフサイクルのイベントを出力ストリームに含める。SessionStart と Setup のフックのイベントは常に含まれ、このフラグは要らない。Notification・SessionEnd・PreCompact・PostCompact のような一部のフックのイベントは、このフラグがあっても hook_started のイベントを出さない。それらでは、1 秒を超えて動くコマンドフックが出力を出す間は hook_progress を出し、バックグラウンドで動くフックが終わったときだけ hook_response を出す。--output-format stream-json が必要 claude -p --output-format stream-json --verbose --include-hook-events "query"
--include-partial-messages 出力に、ストリーミングの部分的なイベントを含める。--print と --output-format stream-json が必要 claude -p --output-format stream-json --verbose --include-partial-messages "query"
--input-format プリントモードの入力形式を指定する(text・stream-json) claude -p --output-format json --input-format stream-json
--json-schema エージェントが作業を終えた後に、JSON スキーマに合う検証済みの JSON 出力を得る(プリントモードだけ)。スキーマが無効だとエラーで終了し、format キーワードは、クライアント側の検証なしに注釈として受け付ける claude -p --json-schema '{"type":"object","properties":{...}}' "query"
--maintenance セッションの前に、maintenance マッチャーの Setup フックを動かす(プリントモードだけ) claude -p --maintenance "query"
--max-budget-usd 止まるまでに API 呼び出しに使う最大のドル額(プリントモードだけ)。サブエージェントの支出も上限に数える。--continue か --resume で会話に戻るとき、以前の実行から復元された合計は上限に数えない。支出が上限に達すると、別のサブエージェントの起動は Budget limit reached で失敗し、まだ動いているバックグラウンドのサブエージェントを Claude Code が止める。この上限の強制は v2.1.217 以降が必要 claude -p --max-budget-usd 5.00 "query"
--max-turns エージェントのターン数を制限する(プリントモードだけ)。上限に達するとエラーで終了する。既定は無制限。--input-format stream-json では、上限でターンが終わった後もキューに残っているメッセージはキューに残り、自分の上限つきで新しいターンを始める claude -p --max-turns 3 "query"
--mcp-config JSON ファイルか文字列(空白で区切る)から MCP サーバーを読み込む。-p と一緒に渡すと、Claude Code は、まだ接続していないサーバーが接続するのを、最初のターンの前に、MCP_TIMEOUT の起動のタイムアウト(既定 30 秒)まで待つ。ツール一覧のキャッシュがあるサーバーは待たず、最初の利用時に接続する。この待機は v2.1.221 以降が必要 claude --mcp-config ./mcp.json
--model 現在のセッションのモデルを、sonnet・opus・haiku・fable のようなモデルの別名か、モデルの完全な名前で設定する。model 設定と ANTHROPIC_MODEL を上書きする claude --model claude-sonnet-5
--name、-n セッションの表示名を設定する。/resume とターミナルのタイトルに出る。名前つきのセッションは claude --resume <name> で再開できる。対話セッションで、このマシンの別の生きているセッションがすでにその名前を使っていれば、Claude Code はその変形を適用する。/rename はセッション中に名前を変え、プロンプトバーにも出す claude -n "my-feature-work"
--no-chrome このセッションの Chrome のブラウザ連携を無効にする claude --no-chrome
--no-session-persistence セッションの保存を無効にし、セッションをディスクに保存せず、再開できないようにする。プリントモードだけ。環境変数 CLAUDE_CODE_SKIP_PROMPT_HISTORY は、どのモードでも同じことをする claude -p --no-session-persistence "query"
--output-format プリントモードの出力形式を指定する(text・json・stream-json) claude -p "query" --output-format json
--permission-mode 指定の権限モードで始める。default・acceptEdits・plan・auto・dontAsk・bypassPermissions、または default の別名の manual を受け付ける。manual の別名は、UI が Manual と表示する権限モードを選び、v2.1.200 以降が必要(claude --help は default の代わりにこれを挙げ、どちらの値も動く)。設定ファイルの defaultMode を上書きする。このフラグも --dangerously-skip-permissions もないと、新しいセッションは権限モードで説明する開始モードで始まる(-p の実行が始まるモードもそこにある) claude --permission-mode plan
--permission-prompt-tool 非対話モードで、権限の確認を処理する MCP ツールを指定する。Claude Code は、最初のターンの前に、そのツールの MCP サーバーが接続するのを、MCP_TIMEOUT の起動のタイムアウト(既定 30 秒)まで待つ。確認のツールは、ユーザーの操作が要ると印の付いた MCP ツールを承認できず、Claude Code はそれへの allow の結果を拒否に変換する(この制限は v2.1.199 以降が必要) claude -p --permission-prompt-tool mcp_auth_tool "query"
--permission-prompts プリントモードで、誰が権限の確認に答えるかを設定する。既定の host では、Claude Code は確認を Agent SDK のホストか --permission-prompt-tool のツールへ送る。誰も答えられないときは none を渡すと、Claude Code は代わりに拒否する(v2.1.259 以降が必要)。詳しくはヘッドレス実行(-p) claude -p --permission-prompts none "query"
--plugin-dir このセッションだけ、ディレクトリか .zip のアーカイブ、またはプラグインのフォルダに入った複数のものからプラグインを読み込む。各フラグは 1 つのパスを取る。パスを増やすにはフラグを繰り返す(--plugin-dir A --plugin-dir B.zip)。プラグインのフォルダを渡すには v2.1.265 以降が必要 claude --plugin-dir ./my-plugin
--plugin-url このセッションだけ、URL からプラグインの .zip のアーカイブを取得する。複数のプラグインにはフラグを繰り返すか、引用符で囲んだ 1 つの値に空白で区切った URL を渡す claude --plugin-url https://example.com/plugin.zip
--print、-p 対話モードなしで応答を出す。プログラムからの使い方は Agent SDK を参照。まだ動いているバックグラウンドセッションへの --resume はセッションの再開と管理を参照 claude -p "query"
--prompt-suggestions 予測した次のユーザーのプロンプトの prompt_suggestion メッセージを、それを生成したターンごとに出す。ごく短い会話では出ないことがある。--print・--output-format stream-json・--verbose が必要 claude -p --prompt-suggestions --output-format stream-json --verbose "query"
--ref <branch> --environment と使い、新しいセッションのチェックアウトを、ローカルの HEAD ではなく、名指しした参照に基づかせる claude -p "Run the smoke test" --environment ccpool_abc123 --ref main
--remote --cloud の非推奨の別名(既存のセッションの形も含む) claude --remote "Fix the login bug"
--remote-control、--rc Remote Control を有効にした対話セッションを始め、claude.ai か Claude アプリからも操作できるようにする。セッションの名前を任意で渡せる claude --remote-control "My Project"
--remote-control-session-name-prefix <prefix> 明示の名前がないとき、自動で付く Remote Control のセッション名の接頭辞。既定はマシンのホスト名で、myhost-graceful-unicorn のような名前になる。CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX を設定しても同じ claude remote-control --remote-control-session-name-prefix dev-box
--replay-user-messages stdin のユーザーメッセージを、確認のために stdout へ再出力する。--input-format stream-json と --output-format stream-json が必要 claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages
--restricted 制限モードで始める。評価ハーネスが共有マシンで claude を動かし、Claude Code がコマンドを実行したり、そのマシンのユーザーとプロジェクトの設定を読んだりしてはならないときに使う。コマンドやコードを実行する組み込みのツールと WebFetch を、--tools で個別に挙げない限り(default のプリセットでなく)取り除く。組み込みのファイルツールも作業ディレクトリに閉じ込め、管理設定と --settings だけを読み込み、bypassPermissions を拒否し、クラウドセッションの作成も拒否する。v2.1.248 以降が必要 claude --restricted -p "query"
--resume、-r ID か名前で特定のセッションを再開するか、対話のピッカーでセッションを選ぶ。ID の代わりに、セッションの .jsonl の記録ファイルへの絶対パスを渡せる。ピッカーと名前の検索は、/add-dir でこのディレクトリを足したセッションを含む。セッション ID を渡すと、Claude Code は現在のプロジェクトのディレクトリとその git worktree を探し、続いてこのマシンのほかのすべてのプロジェクトを探す(v2.1.223 より前は、現在のプロジェクトのディレクトリとその worktree だけだった)。バックグラウンドセッションはピッカーに bg の印で出る。まだ動いているものを再開すると、claude attach を通してこの端末でそのセッションを開き、コマンドラインに渡したプロンプトがその次のターンとして送られる(v2.1.285 より前は、Claude Code が拒否し、代わりに実行する claude attach のコマンドを出した) claude --resume auth-refactor
--safe-mode 壊れた設定の切り分けのため、すべてのカスタマイズを無効にして始める。CLAUDE.md・スキル・プラグイン・フック・MCP サーバー・カスタムのコマンドとエージェント・出力スタイル・ワークフロー・カスタムテーマ・カスタムのキー割り当て・ステータスラインとファイル候補のコマンド・LSP サーバー・自動メモリを読み込まない。認証・モデルの選択・組み込みのツール・権限は普通に動く(--bare とは違う)。管理設定のポリシーは引き続き適用され、ポリシーで設定したフック・ステータスライン・ファイル候補のコマンドも含むが、管理プラグイン・管理スキル・管理 CLAUDE.md・ポリシーで設定した MCP サーバーは含まない。自動モデルフォールバックの引き金が、カスタマイズかを確かめるのに役立つ。CLAUDE_CODE_SAFE_MODE を設定する claude --safe-mode
--session-id 会話に特定のセッション ID を使う(有効な UUID でなければならない) claude --session-id "550e8400-e29b-41d4-a716-446655440000"
--setting-sources 読み込む設定のソースのカンマ区切りの一覧(user・project・local)。ここから始めたセッション(エージェントビューやエージェントチーム)がこの一覧を引き継ぐ claude --setting-sources user,project
--settings 設定の JSON ファイルのパス、またはインラインの JSON 文字列。ここで設定した値は、そのセッションで settings.json ファイルの同じキーを上書きする。省いたキーはファイルの値のまま。ファイルは通常のファイルで 2 MiB 以下でなければならない。詳しくは設定ファイルの仕組み claude --settings ./settings.json
--strict-mcp-config --mcp-config の MCP サーバーだけを使い、ほかの MCP の設定をすべて無視する claude --strict-mcp-config --mcp-config ./mcp.json
--system-prompt システムプロンプト全体を、独自のテキストに置き換える claude --system-prompt "You are a Python expert"
--system-prompt-file ファイルからシステムプロンプトを読み、既定のプロンプトを置き換える claude --system-prompt-file ./custom-prompt.txt
--system-prompt-snapshot off を渡すと、会話の最初のリクエストで記録したプロンプトを再利用せず、リクエストごとにシステムプロンプトを作り直す(--continue の実行をまたいで --append-system-prompt のテキストを練るときなど)。v2.1.257 以降が必要 claude --system-prompt-snapshot off
--teleport クラウドセッションを、ローカルの端末で再開する claude --teleport
--teammate-mode エージェントチームのチームメイトの表示方法を設定する:in-process(既定)・auto・tmux・iterm2。そのセッションでは teammateMode 設定を上書きする claude --teammate-mode auto
--tmux worktree 用の tmux セッションを作る。--worktree が必要。利用できれば iTerm2 のネイティブのペインを使う。従来の tmux には --tmux=classic を渡す claude -w feature-auth --tmux
--tools Claude が使える組み込みのツールを制限する。"" ですべて無効、"default" で既定の組、"Bash,Edit,Read" のようにツール名を渡す。macOS・Linux・WSL では、既定の組は Glob と Grep を含まない。タスク追跡のツールを挙げると、Claude Code はそのセッションを有効にもする。このフラグは MCP ツールには効かない。それも拒否するには --disallowedTools "mcp__*"。EndConversation を含まない一覧はそれを外さない。"" が外すのは、MCP ツールが残っていないときだけ claude --tools "Bash,Edit,Read"
--verbose 詳細なログを有効にし、ターンごとの出力の全体を出す。そのセッションでは viewMode 設定を上書きする claude --verbose
--version、-v バージョン番号を出す claude -v
--worktree、-w 隔離された git worktree(<repo>/.claude/worktrees/<name>)で Claude を始める。名前がなければ Claude Code が作る。#<number>、GitHub のプルリクエストの URL、GitLab のマージリクエストの URL を渡すと、その PR か MR を origin から取得し、そこから worktree をブランチする。GitLab のマージリクエストからのブランチは v2.1.233 以降が必要。詳しくはworktree で並行作業 claude -w feature-auth
  • --tools は使えるツールを制限し、--allowedTools は確認なしで実行するツールを指定する。違いはツール一覧と権限ルールを参照
  • --print と組み合わせて使う出力系のフラグ(--output-format・--input-format・--json-schema・--max-turns・--max-budget-usd ほか)は、プリントモードだけで効くと表に書いてある

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

システムプロンプトを変えるフラグは 5 つあります。4 つがテキストを設定し、--system-prompt-snapshot は、会話が始まったときのテキストを保つかを制御します。5 つとも、対話モードでも非対話モードでも動きます。

フラグ 動き 例
--system-prompt 既定のプロンプトの全体を置き換える claude --system-prompt "You are a Python expert"
--system-prompt-file ファイルの内容で置き換える claude --system-prompt-file ./prompts/review.txt
--append-system-prompt 既定のプロンプトに足す claude --append-system-prompt "Always use TypeScript"
--append-system-prompt-file ファイルの内容を既定のプロンプトに足す claude --append-system-prompt-file ./style-rules.txt
--system-prompt-snapshot off ならリクエストごとにプロンプトを作り直す。既定の on なら、記録が適用される場面で記録したプロンプトを再利用する claude --append-system-prompt "Draft rules" --system-prompt-snapshot off
  • これらのフラグは組み合わせられる。既定のプロンプトを置き換えたうえで自分のテキストも足すには、--system-prompt か --system-prompt-file に、--append-system-prompt か --append-system-prompt-file を添える。v2.1.283 以降は、フラグとそのファイル形(--append-system-prompt と --append-system-prompt-file など)を一緒に渡すこともでき、Claude Code は両方を使う

たとえば、スタイルガイドのファイルと追加の指示を両方足すには、シェルで次を実行します。

bash
claude -p --append-system-prompt-file ./style.md --append-system-prompt "Always reply in French" "Summarize README.md"

Claude は、既定のシステムプロンプトに続けて style.md の内容、空行、Always reply in French を受け取ります。--append-system-prompt を先に渡しても、ファイルの内容が先に来ます。

  • 置き換えるテキストに、毎回同じ指示と、実行ごとに変わる文脈が混ざるときは、指示と文脈の間に __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__ だけの行を入れる。Claude Code は最初のその行でプロンプトを分け、その行を取り除くので、上の部分はキャッシュされたままで、下の部分が変わる(v2.1.275 以降が必要)。この分割が適用される構成は、Agent SDK のシステムプロンプトの案内にある
  • 選び方:Claude Code の既定のアイデンティティがまだ合うかで決める。Claude がコーディングの助手のまま、追加のルール(呼び出しごとの指示・出力の整形・-p のスクリプトの領域の文脈)にも従ってほしいなら、足すフラグを使う。足すと、既定のツールの案内・安全性の指示・コーディングの慣習が保たれ、違う部分だけを渡せばよい。画面・アイデンティティ・権限モデルが Claude Code と違うとき(誰も見ていないパイプラインの、コーディングではないエージェントなど)は、置き換えるフラグを使う。置き換えると、ツールの案内と安全性の指示を含め、既定のプロンプトがすべて落ちるので、タスクがまだ必要とするものは自分で用意する
  • 切り替えて共有できる、プロジェクト共通の持続する人格には出力スタイルを使う。Claude が常に従うプロジェクトの慣習にはCLAUDE.md とメモリを使う

再開した会話でのシステムプロンプト#

既定では、Claude Code は、会話の最初のリクエストで、システムプロンプトのフラグのテキストを適用して 1 度だけシステムプロンプトを作り、セッションに記録します。会話が圧縮されるまで、--resume や --continue で会話に戻った後も含め、以降のリクエストはその記録したプロンプトを使います。その後の起動で、別のシステムプロンプトのフラグのテキストを渡すか、何も渡さなくても、それが効くのは、会話が圧縮されたとき、または新しい会話を始めたときです。

  • クラウドセッションを除き、--bare を渡すか CLAUDE_CODE_SIMPLE=1 を設定してベアモードで始めると、--system-prompt-snapshot on を渡さない限り、記録はオフのまま
  • v2.1.268 より前は、Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry のセッションを含む、フィーチャーフラグを取得しないセッションは、リクエストごとにプロンプトを作り直し、--system-prompt-snapshot は効かなかった
  • リクエストごとに作り直すには(--continue の実行をまたいで文言を練るときなど)--system-prompt-snapshot off を渡す。v2.1.265 より前は、システムプロンプトのフラグのどれかを渡すと、--system-prompt-snapshot on を渡さない限り、記録もオフになった
  • キャッシュとの関係はコンテキストとプロンプトキャッシュを参照

公式ドキュメント(英語)

2026年10月5日時点の内容をもとに、日本語でまとめています。

ページの一覧