【結論】Claude Code CLIの使い分け / 実行コマンド
CLIは対話、print、パイプ入力、再開、JSON出力を使い分けられます。
claude -pは処理後に終了するため、スクリプトやCIに向きます。
自動処理では--max-turnsとJSON出力で暴走と解析失敗を防ぎます。
git diff --cached | claude -p "変更を要約し、Conventional Commits形式の候補を1つ返して"
claude -p --max-turns 3 --output-format json "srcの型エラーを調査し、変更せず結果を返して"
具体的な手順・設定方法
対話作業は
claude、短い質問はclaude -p、直近会話の継続はclaude -cを使います。機械処理する出力は
--output-format jsonまたはstream-jsonに固定します。別ディレクトリを読む必要がある場合は、広い親ディレクトリではなく
--add-dirで必要箇所だけ追加します。claude --add-dir ../shared-types終了は
/exitまたはCtrl+Dを2回使用し、Ctrl+Cは実行中処理の中断に使います。
実践プロンプト / 活用テクニック
CIでレビューコメントを生成する例です。
git diff origin/main...HEAD | \
claude -p --max-turns 2 \
--output-format json \
"重大度high以上の不具合だけを指摘し、file、line、reason、fixを返して"
注意点・よくあるエラーと対処法
printモードは対話型の承認が難しいため、変更を伴う自動化では許可ツールとサンドボックスを厳しく設定します。
claude -pはAgent SDK用クレジットの対象になる場合があるため、利用画面を確認します。長い標準入力はコンテキストを圧迫するため、ログ全体ではなくエラー周辺を抽出して渡します。