【結論】自動yesを避けて権限を制御する
--dangerously-skip-permissionsは確認を回避する高リスクなフラグで、通常運用の自動yes設定として推奨できません。
自動化には--allowedTools、--disallowedTools、permissions、Hooks、sandbox、最大ターンを組み合わせます。
どうしても使う場合は使い捨てContainer、資格情報なし、Network制限、読み書き範囲限定が前提です。
# ターミナルで実行:Planモードで安全に開始
claude --permission-mode plan
# ターミナルで実行:許可ツールを限定した非対話処理
claude -p --max-turns 3 --allowedTools 'Read,Glob,Grep' "Lint対象を調査し、変更しないでください"
# ターミナルで実行:危険なツールを拒否
claude --disallowedTools 'Bash(git push:*),Bash(rm:*),Bash(sudo:*)'
# 起動後のセッション内で実行:権限を確認
/permissions具体的な手順・設定方法
自動化に必要な最小Tool、Path、Command、Network、最大ターンを定義します。
PreToolUse Hookで削除、sudo、Push、Secretsアクセスを拒否します。
隔離環境でDry Runを行い、終了条件と成果物を検証します。
実践プロンプト / 活用テクニック
# 起動後のセッション内で入力
Lintエラーを読み取り専用で調査してください。
変更候補、対象ファイル、実行予定コマンドを提示してください。
削除、依存追加、Network、Git操作、無制限再試行は行わないでください。注意点・よくあるエラーと対処法
Gitだけでは外部送信、DB変更、Secrets漏洩を元に戻せません。
Container内でもMount、Socket、Credential、Networkへアクセスできれば安全ではありません。
HookによるdenyはbypassPermissions時にも強制できるため組織防御に利用します。