stream-json 出力に部分メッセージやフックイベントを含めたい
12. CI/CD・自動化コマンド / 機能
--include-partial-messages / --include-hook-eventsstream-json の詳細度を上げる
概要
--include-partial-messages は生成中のテキストデルタを stream-json 出力に含め、--include-hook-events はフックのライフサイクルイベントを含めます。--replay-user-messages はラッパーUIが自分の入力を確認できるように stdin のユーザーメッセージを stdout に再送し、--prompt-suggestions はフォローアップのプロンプト候補を出力します。
設定例
# ストリーミングトークンをリアルタイムに受け取る
claude -p --output-format stream-json --include-partial-messages "長いレポートを生成して"
# フックの実行状況もイベントとして受け取る
claude -p --output-format stream-json --include-hook-events "デプロイして"
# ラッパーUIでユーザー入力をエコーバックさせる
claude -p --output-format stream-json --replay-user-messages < input.jsonl
# フォローアップの提案プロンプトを取得
claude -p --output-format stream-json --prompt-suggestions "このバグを直して"こんな時に使う
- 独自UIでリアルタイムにトークンを描画したい時
- フックの実行状況を可視化したい時
- チャットUIでユーザー発言を再表示したい時
- 次の一手をユーザーに提案したい時
使い方
- 1--output-format stream-json と組み合わせて使用
- 2--include-partial-messages でテキストデルタイベントを追加
- 3--include-hook-events で PreToolUse/PostToolUse などのフックイベントを追加
- 4--replay-user-messages / --prompt-suggestions は必要に応じて追加
Tips
- いずれも stream-json 出力専用の拡張フラグ
- 部分メッセージはトークン単位で細かく届くため描画コストに注意
- Agent SDK を使った独自クライアント構築で特に有用