Claude Code の CLI は、シェルのパイプで受け取った標準入力をそのまま処理対象にできます。本稿では、ファイルやコマンド出力を Claude に流し込む基本構文と、その挙動を制御するプリントモード関連フラグ(入出力フォーマット、ターン・予算の上限、システムプロンプト差し替え、最小起動モードなど)を、公式 CLI リファレンスの記述に基づいて整理します。検証日は 2026-09-25(JST)です。
パイプによる標準入力の受け渡し
cat file | claude -p "query" の形で、ファイルの内容やコマンドの出力を Claude に渡して処理させることができます。リファレンスにはパイプ内容の処理例として cat logs.txt | claude -p "explain" が挙げられています。パイプの左側が生成する任意のテキストが、そのまま Claude への入力になります。
-p(--print):非対話で応答して終了する
-p(--print)は、インタラクティブモードを使わずに応答を出力するモードを有効にします。対話セッションを立ち上げずに一度だけ処理して終了するため、パイプやスクリプトからの呼び出しに向きます。パイプで標準入力を渡す用途は、基本的にこのプリントモードと組み合わせて使います。
--input-format / --output-format:入出力の形式指定
--input-format はプリントモードの入力フォーマットを指定し、text または stream-json を選べます。--output-format は出力フォーマットを指定し、text・json・stream-json のいずれかを選べます。プログラムから結果を受け取る場合は json を、逐次的にイベントを受け取る場合は stream-json を用います。
--verbose:ターンごとの完全な出力
--verbose は詳細ログを有効にし、ターンごとの完全な出力を表示します。この指定はそのセッションの viewMode 設定を上書きします。処理の途中経過を確認したいときに使います。
--max-turns / --max-budget-usd:実行の上限(プリントモード専用)
--max-turns はエージェントのターン数に上限を設定します。プリントモード専用で、上限に到達するとエラーで終了します。デフォルトでは上限なしです。--max-budget-usd は API 呼び出しに使う最大金額(米ドル単位)を設定し、上限到達時に処理を停止します。こちらもプリントモード専用で、サブエージェントの消費もこの上限に計上されます。
--system-prompt / --append-system-prompt:システムプロンプトの操作
--append-system-prompt はデフォルトのシステムプロンプトの末尾にカスタムテキストを追加します。--system-prompt はシステムプロンプト全体をカスタムテキストで置き換えます。既定の振る舞いを残したまま指示を足すなら前者、完全に自前の指示に差し替えるなら後者です。
--bare:最小モードで起動を速くする
--bare は最小モードで、フック・スキル・カスタムコマンド・サブエージェント・プラグイン・MCP サーバー・自動メモリ・CLAUDE.md の自動検出をスキップし、スクリプト呼び出しの起動を速くします。この状態でも Bash・ファイル読み取り・ファイル編集ツールにはアクセスできます。なお --add-dir で渡したディレクトリ内のスキルは引き続き読み込まれます。
--no-session-persistence:セッションをディスクに残さない
--no-session-persistence はプリントモード専用で、セッションをディスクに保存せず、後から再開もできない状態で実行します。使い捨ての一回限りの処理に向きます。
--json-schema:スキーマ適合の検証済み JSON 出力
--json-schema はプリントモード専用で、エージェントがワークフローを完了した後に、指定した JSON Schema に適合する検証済みの JSON 出力を得られます。後段のプログラムが構造化データとして安全に受け取れます。
-c(--continue):直近の会話を読み込む
-c(--continue)は、現在のディレクトリで最後の会話を読み込みます。完了済みのバックグラウンドセッションも対象に含まれます。
--exclude-dynamic-system-prompt-sections:キャッシュ再利用性の向上
--exclude-dynamic-system-prompt-sections は、マシン固有のセクション(作業ディレクトリ・環境情報・メモリパス・git リポジトリフラグ)をシステムプロンプトから最初のユーザーメッセージへ移動させます。これにより、同じタスクを異なるユーザー・マシンで実行したときのプロンプトキャッシュの再利用性が向上します。デフォルトのシステムプロンプトを使う場合にのみ適用されます。