Claude Code の claude コマンドは、対話セッションの開始、1回だけの実行、会話の再開、モデルや権限の指定まで、サブコマンドとフラグで操作できます。公式の CLI リファレンスに基づき、日常で使う主要なものを用途別に整理します。
基本のコマンドと起動方法
公式の CLI リファレンスは、claude コマンドで使えるサブコマンドとフラグを一覧にしたものです。まず押さえるのは、対話セッションを始める形と、1回だけ実行して終わる形の違いです。
claude # 対話セッションを開始
claude "explain this project" # 最初のプロンプトを付けて対話を開始
claude -p "explain this function" # SDK 経由で問い合わせて終了
cat logs.txt | claude -p "explain" # パイプで受けた内容を処理
-p(--print)は、対話モードにせず応答だけを出力して終わる指定です。スクリプトやパイプラインに組み込むときの入口になります。
ほかにも、セッション外で使うサブコマンドがあります。公式の表から主なものを挙げます。
claude update: 最新バージョンへ更新します。claude install [version]: ネイティブバイナリをインストールまたは再インストールします。2.1.118のようなバージョン、stable、latestを指定できます。claude auth login/claude auth logout/claude auth status: サインイン、サインアウト、認証状態の確認です。auth statusは JSON を出力し、--textで人が読みやすい形式になります。ログイン済みなら終了コード 0、未ログインなら 1 です。claude mcp: MCP サーバーを設定します。claude mcp login <name>で、対話パネルを開かずに OAuth フローを実行できます。claude plugin: プラグインを管理します(別名claude plugins)。claude setup-token: CI やスクリプト向けの長期 OAuth トークンを生成します。トークンは端末に表示されるだけで保存されません。Claude のサブスクリプションが必要です。claude remote-control: Claude.ai や Claude アプリから操作するための Remote Control サーバーを起動します。
サブコマンドを打ち間違えた場合、Claude Code は近い候補を示して終了します。たとえば claude udpate では「Did you mean claude update?」と表示されます。
セッションの継続と再開
前回の作業の続きから始めるためのフラグが用意されています。
--continue(-c): 現在のディレクトリで最も新しい会話を読み込みます。claude -c -p "Check for type errors"のように-pと組み合わせることもできます。--resume(-r): セッション ID または名前を指定して再開します。指定しなければ対話式のピッカーが開きます。ID の代わりに、セッションの.jsonlトランスクリプトの絶対パスも渡せます。--name(-n): セッションに表示名を付けます。/resumeの一覧と端末のタイトルに出て、後からclaude --resume <name>で再開できます。--fork-session: 再開時に元の ID を使い回さず、新しいセッション ID を作ります。--resumeか--continueと一緒に使います。--session-id: 会話に特定のセッション ID を使います。有効な UUID である必要があります。--from-pr: 特定のプルリクエストに紐づくセッションだけに絞ってピッカーを開きます。PR 番号のほか、GitHub / GitHub Enterprise の PR URL、GitLab のマージリクエスト URL、Bitbucket のプルリクエスト URL を受け付けます。
claude -c
claude -r "auth-refactor" "Finish this PR"
claude --resume abc123 --fork-session
claude --from-pr 123
注意点として、--continue は claude -p や Agent SDK で作られたセッション、および最初のプロンプトが /loop だったセッションを飛ばします。claude -p --continue の場合はそれらも対象に含まれます。
モデル・権限・ツールの制御
セッションごとに挙動を変えたいときは、設定ファイルを書き換えずにフラグで上書きできます。
--model: そのセッションのモデルを、sonnet、opus、haikuなどのエイリアスかモデルの正式名で指定します。model設定や環境変数ANTHROPIC_MODELより優先されます。--fallback-model: 主モデルが過負荷または利用不可のとき、カンマ区切りで並べたモデルへ順に自動で切り替えます(例:--fallback-model sonnet,haiku)。--effort: そのセッションの effort レベルをlow、medium、high、xhigh、maxなどで設定します。使えるレベルはモデルによって異なり、設定は保存されません。--permission-mode: 開始時の権限モードをdefault、acceptEdits、plan、auto、dontAsk、bypassPermissionsから選びます。設定ファイルのdefaultModeより優先されます。--dangerously-skip-permissions: 権限の確認を省略します。--permission-mode bypassPermissionsと同じ意味です。--allow-dangerously-skip-permissions:Shift+Tabのモード切り替えにbypassPermissionsを加えますが、開始時にはそのモードに入りません。planで始めて後から切り替える、といった使い方ができます。--allowedTools/--disallowedTools: 確認なしで実行するツール、および拒否するルールを指定します。"Bash(git log *)" "Read"のように権限ルールの書式で並べます。--tools: 使える組み込みツールそのものを絞ります。""ですべて無効、"default"で既定のセット、"Bash,Edit,Read"のように名前を挙げることもできます。MCP ツールには影響しないため、止めたい場合は--disallowedTools "mcp__*"を使います。--add-dir: Claude が読み書きできる作業ディレクトリを追加します。ファイルへのアクセスを許可するだけで、追加先の.claude/設定の大半は検出されません。毎回指定したくない場合はpermissions.additionalDirectories設定で保持します。--worktree(-w):<repo>/.claude/worktrees/<name>に隔離した git worktree を作って始めます。名前を省略すると自動で付きます。
claude --model claude-sonnet-5
claude --permission-mode plan
claude --tools "Bash,Edit,Read"
claude --add-dir ../apps ../lib
claude -w feature-auth
--allowedTools は「確認を省くツール」、--tools は「そもそも使えるツール」を決める点が異なります。公式の説明でも、使えるツールを制限したい場合は --tools を使うよう書かれています。
非対話モード(-p)の出力制御
-p と組み合わせて、出力形式や実行の上限を決めるフラグがあります。いずれも print モード専用です。
--output-format: 出力形式をtext、json、stream-jsonから選びます。--input-format: 入力形式をtextかstream-jsonにします。--json-schema: エージェントの作業が終わった後に、指定した JSON Schema に合う検証済みの JSON 出力を得ます。スキーマが不正なら Claude Code はエラーで終了します。--max-turns: エージェントのターン数に上限を設けます。上限に達するとエラーで終了します。既定では無制限です。--max-budget-usd: API 呼び出しの推定費用がこの金額に達した時点で止めます。クライアント側の推定値なので請求額とずれることがあり、上限を超えて支出される場合もあるため、余裕を持たせるよう書かれています。--include-partial-messages: 部分的なストリーミングイベントを含めます。--printと--output-format stream-jsonが必要です。--no-session-persistence: セッションをディスクに保存せず、再開もできないようにします。--bare: フック、スキル、プラグイン、MCP サーバー、自動メモリ、CLAUDE.md などの自動検出を飛ばして最小構成で起動し、スクリプト呼び出しを速くします。Bash とファイルの読み書きのツールは使えます。
claude -p "query" --output-format json
claude -p --max-turns 3 "query"
claude -p --max-budget-usd 5.00 "query"
claude --bare -p "query"
詳しい使い方は、別ページのヘッドレスモードの解説も参照してください。
診断・システムプロンプト・その他
設定が壊れていると疑われるときは、診断用のコマンドとフラグが役立ちます。
claude doctor: セッションを始めずに、インストールの状態や設定ファイルの検証エラーなどを読み取り専用で出力します。セッション内で修正まで行える/doctorとは別物です。--safe-mode: CLAUDE.md、スキル、プラグイン、フック、MCP サーバー、カスタムコマンドなどの拡張をすべて無効にして起動します。認証、モデル選択、組み込みツール、権限は通常どおり動きます。--debug/--debug-file <path>: デバッグログを有効にします。カテゴリで絞る場合は--debug='mcp,startup'のように=付きで書きます。空白区切りだと絞り込みは効かずデバッグだけが有効になります。--verbose: ターンごとの出力をすべて表示します。
システムプロンプトは次の4つのフラグで調整します。
--system-prompt: 既定のプロンプト全体を置き換えます。--system-prompt-file: ファイルの内容で置き換えます。--append-system-prompt: 既定のプロンプトの末尾に追記します。--append-system-prompt-file: ファイルの内容を末尾に追記します。
公式は、Claude に引き続きコーディングアシスタントとして振る舞ってほしいなら追記系を、動作の前提が Claude Code と異なる場合に置き換え系を使うよう説明しています。置き換えると、ツールの案内や安全に関する既定の指示もすべて失われるため、必要なものは自分で補う必要があります。恒久的なペルソナには出力スタイル、プロジェクトの決まりごとには CLAUDE.md が向いています。
そのほか、--chrome で Chrome 連携を有効にしたり、--ide で唯一の IDE に自動接続したり、--agent でセッションのエージェントを指定したりできます。ここに挙げたのは一部で、公式は claude --help にすべてのフラグが載るわけではないと注記しています。最新の一覧は公式の CLI リファレンスで確認してください。