結論
最初にやること:OSのターミナルでclaude -p "error.logを分類し、修正候補をreport.jsonへ出力して" --tools "Read" --max-turns 4 --max-budget-usd 0.75 --output-format jsonを実行します。
Claude Codeの無人実行は、単発ならclaude -p、セッション中の反復なら/loop、ローカル永続実行ならDesktop scheduled task、クラウド永続実行ならRoutinesまたはGitHub Actionsを使います。
完全自動化でも権限を全開放せず、専用ブランチ、予算上限、許可ツール、失敗時停止を設定します。
実行場所:OSのターミナルで実行します。
# ターミナルで実行:非対話モードで単発処理を実行
claude -p "error.logを分類し、修正候補をreport.jsonへ出力して" --tools "Read" --max-turns 4 --max-budget-usd 0.75 --output-format json
具体的な手順
/loopは開いているセッションに属し、最短1分で反復できますが、永続ジョブの代替ではありません。
クラウドRoutinesはローカル未コミットファイルを使わずfresh cloneを対象にするため、必要な設定をリポジトリまたはConnectorへ用意します。
- 単発・セッション・Desktop・クラウドの実行方式を選択
- 入力元を信頼済みデータへ限定
- Read・Edit・Bashを必要最小限に許可
- 書き込みは専用branchまたはdraft PRへ限定
- 通知、再試行、タイムアウト、費用を監視
実行場所:Claude Code起動後の対話画面で実行します。
# Claude Code起動後の対話画面で実行:指定間隔で同じ確認を繰り返す
/loop 5m デプロイ状態を確認し、成功または失敗が確定したら報告
# 永続化する場合
# Claude Code起動後の対話画面で実行:定期実行ルーチンを設定
/schedule
# またはGitHub Actionsでanthropics/claude-code-action@v1を使用
実践プロンプト
実運用では対象、制約、完了条件、検証方法を一つの指示にまとめ、結果を機械的に確認できる形へします。
入力場所:Claude Codeの対話画面へ貼り付けます。
この処理を無人運用する設計を作成してください。
トリガー、入力の信頼境界、許可ツール、予算、最大ターン、タイムアウト、再試行、通知、ロールバックを明記してください。
コード変更はdraft PRまでとし、mainへの直接push、Secret表示、外部公開は許可しないでください。
注意点
--bypassPermissionsや自動承認を使うと、Issue本文やログに仕込まれたプロンプトインジェクションが外部送信や破壊操作へつながります。
無人処理は成功しても意味的に誤る可能性があるため、公開、送金、削除、SNS投稿、顧客連絡には承認ゲートを残してください。
Routines、Desktop task、GitHub Actionsでは実行環境とSecretの場所が異なるため、ローカルで動いた設定をそのまま移植しないでください。