このフラグには2つの影響範囲があり、これについて書かれた記事のほとんどは一方しか扱っていません。 --dangerously-skip-permissionsは、ファイル編集やコマンド実行の前にClaude Codeが確認を求めるのを止めます。明らかな露出先はファイルシステムです。誰も書かないもう一つは請求額です。確認のために止まらないエージェントは支出も止めず、エージェントの失敗はループになります。
どちらも隔離可能で、フラグの使用をやめる必要はありません。まず実際の動作を説明し、次にそれぞれ約1分でできる3つの隔離策を示します。
動作
通常、Claude Codeは重要なアクションの前に一時停止し、承認を待ちます。このフラグはセッション全体でその一時停止を無効にします。モデルに新しい能力を与えることも、モデル自体を変更することもありません。計画と実行の間にある確認手順を取り除くだけです。
そのため、正直な問いは「このフラグは危険か」ではなく、このセッションが何に到達できるかです。同じコマンドでも、試作用チェックアウトなら問題ありませんが、環境内に本番用認証情報があるリポジトリでは本当に危険です。フラグは一定で、露出範囲は自分で管理できます。
隔離1 — 専用のチェックアウトを与える
これが最も安価で、通常はこれで十分です。git worktreeは専用ブランチ上の完全な作業ディレクトリなので、未確認の編集を作業中のコードの上ではなく、削除できる場所に置けます。
# Containment that costs one command: give the agent its own checkout.
# A worktree is a real working directory on its own branch, so a runaway
# edit is contained to a branch you can delete rather than to your repo.
git worktree add -b agent/task-123 ../repo-agent-123
cd ../repo-agent-123
claude --dangerously-skip-permissions
# When it is done, review the branch like any other, then:
git worktree remove ../repo-agent-123確認自体は残ります。ただし、プロンプト上で40回行うのではなく、ブランチ上で1回行います。個々のファイル書き込みを承認するより、注意力の使い方として一般に優れています。これが、単に待ちきれないからではなく、このフラグを使う本当の理由です。
隔離2 — 専用の認証情報を与える
シェルの環境にあるものには、エージェントが到達できます。対策は注意深くすることではなく、そこに置くものを減らすことです。どこでも使っている認証情報を再利用せず、エージェント用の認証情報を作成してください。そうすればエージェントの停止は1回の取り消しで済み、所有するすべての認証情報をローテーションする必要がありません。
# A key per agent, not a key per human. Revoking one key stops one
# agent; revoking the key you use everywhere stops your whole day.
export ANTHROPIC_BASE_URL=https://api.kunavo.com
export ANTHROPIC_AUTH_TOKEN=sk-kn-... # created for this agent only
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5
claude --dangerously-skip-permissionsモデルの行は維持してください。Claude Codeの組み込みデフォルトとopusエイリアスはどちらも最新のOpusに解決されます。Kunavoがそのモデルをまだ提供していない場合、監視なしのエージェントは最初のリクエストが404エラーで失敗します。sonnetエイリアスはSonnet 5.5を要求しますが、Kunavoは提供していないため、ANTHROPIC_DEFAULT_SONNET_MODEL行がないと、model: sonnetに設定されたサブエージェント、/model sonnet、およびopusplanの実行フェーズは同じように404になります。opusエイリアスはOpus 5.5(claude-opus-5-5)に固定されています。これにはClaude Code v2.1.280以降が必要です。古い場合は、先にclaude updateを実行してください。Kunavoではキーを単独で失効させることができます。失効は認証済みリクエストごとに確認されるため、失効したキーは請求期間の終了を待たず、直ちに機能しなくなります。キーには独自の月間支出上限とIP許可リストを設定することもできます。これにより「エージェントごとに1つのキー」が単なる整理ではなく、実際の境界になります。手動で使うキーに手を加えることなく、エージェントのキーに支出上限を設け、利用元IPを制限できます。2つ目のキーを作成しても料金はかかりません。設定の詳細はClaude Code用APIキーの取得にあります。
隔離3 — ファイルシステムだけでなく支出にも上限を設ける
これはインターネット上の他の説明が省いている軸です。無人エージェントが正常に動作しているときではなく、失敗しているときの動きを考えてください。リトライします。各リトライは何も生み出さない課金対象の往復であり、コーディングエージェントのコンテキストは大きいため、安価ではありません。20ステップのタスクは普通ですが、ループにはまり込むと20ステップでは終わりません。
何が上限になるかは、課金方式に完全に依存します。サブスクリプションでは、一定の時間枠内の利用制限が上限になります。これは実際の上限ですが、警告ではなく停止という形で現れます。登録済みカードには自然な上限がまったくありません。Kunavoには2つの上限があり、無人実行の前に設定する価値があるのは2つ目です。課金は前払い残高から差し引かれるため、リクエストが残高を超えて引き出すことはありません。また、キーには独自の月間支出上限を設定できます。上限はリクエスト実行前に確認されるため、超過は事後に発覚するのではなく、そもそも発生しません。上限を超えると、ウォレットではなくキーの名前を示すメッセージとともに呼び出しが拒否され、上限は翌暦月の開始時にリセットされます。エージェントが保持するキーに上限を設定すれば、最悪の場合の金額は「残高」ではなく、自分で選んだ数字になります。
実行にかかる費用の算術、つまり通常のセッションとループを見分ける方法はClaude Codeの料金ページにあり、同じ問題のサブスクリプション側についてはClaude ProとMaxの上限で説明しています。
使うべき場面と使わない場面
| 状況 | 妥当か? |
|---|---|
| 使い捨てのworktree、範囲を限定したキー、シェルに本番用認証情報なし | はい — これがこのフラグの用途です |
| 破棄できるコンテナまたはVM | はい、さらに望ましいです |
| 差分としてまとめて確認する長時間の無人実行 | はい。残高を実行に合わせて設定してください |
| 未コミットの作業があるメインチェックアウト | いいえ — まずコミットまたはstashしてからworktreeを使います |
| クラウドまたは本番用認証情報を保持するシェル | いいえ |
| 本番環境へ直接アクセスできるマシン | いいえ |
この表のパターンは、すべての「いいえ」が到達範囲に関するものであり、フラグに関するものではないということです。到達範囲を修正すれば、フラグは重要な変数ではなくなります。それが要点です。
よくある質問
Claude Codeで--dangerously-skip-permissionsを使うとどうなりますか?
Claude Codeが各アクションの前に承認を求めなくなるため、ファイル編集やシェルコマンドがプロンプトなしで実行されます。名前は大げさではなく正確です。権限プロンプトは、モデルが作成した計画とその実行の間にある唯一のものですが、このフラグはセッション全体でそれを取り除きます。モデルが可能なことは何も変わらず、人間が各ステップを実行前に確認するかどうかだけが変わります。
--dangerously-skip-permissionsを安全に使えますか?
セッションが到達できる範囲に応じて安全です。このフラグはモデルの能力を高めず、確認手順を取り除くだけです。したがって本当の問題は、未確認のミスが何に触れられるかです。エージェントが開始するディレクトリ、環境内の認証情報、マシンが本番環境へアクセスできるかを確認してください。使い捨てのチェックアウトと範囲を限定したキーなら、未確認のミスは削除できるブランチです。本番用認証情報をエクスポートしたメインリポジトリなら、そうではありません。同じフラグでも、露出範囲は大きく異なります。
権限プロンプトなしでClaude Codeを安全に実行するには?
到達可能な3つの対象を、この順番で隔離してください。専用のチェックアウトを用意します。専用ブランチのgit worktreeなら1コマンドで作成でき、不適切な編集をブランチごと削除できるようになります。次に、どこでも使っているキーではなく専用の認証情報を与えます。そうすれば、その認証情報を取り消すだけで1つのエージェントを止められ、1日の作業全体を止めずに済みます。そして、エージェントが見るべきでない認証情報を、そのエージェントが実行されるシェルにエクスポートしないでください。その環境内のすべてにアクセスできるからです。これらの対策にコンテナは必要ありませんが、利用できるならコンテナを使う方が確実に優れています。
自律エージェントがAPI料金を無制限に増やすことはありますか?
これは、このフラグに関する議論の多くが見落としている軸です。確認のために止まらないエージェントは支出も止めず、エージェントのループは高額な方向に失敗します。リトライループは、成果のない課金対象の往復を何度も発生させます。Kunavoでは2つの仕組みで上限を設けられます。課金はカードへの請求ではなく前払い残高から差し引かれるため、残高が絶対的な上限になります。また、キー自体に月間支出上限を設定でき、リクエスト実行前に確認されます。上限を超えると、ウォレットではなくキーの名前を示すメッセージとともに呼び出しが拒否され、上限は翌暦月の開始時にリセットされます。エージェントに渡すキーへ上限を設定すれば、最悪の場合でも金額は自分で選んだ数字になります。
権限のスキップと権限モードの違いは何ですか?
Claude Codeの権限モードでは、どの種類のアクションに承認が必要かを事前に決められます。これにより、危険な操作では人間をループに残し、定型操作ではループから外せます。このフラグは同じ考え方を一括適用し、すべてを許可に設定するものです。無人実行ではフラグが適していることが多く、対話的な作業では通常モードが適しています。フラグで取り除く摩擦は、実際のミスを捕捉していた摩擦でもあるからです。
ゲートウェイ経由でもフラグは同じように機能しますか?
はい。このフラグは完全にクライアント側のものです。Claude Codeが実行前に確認を求めるかどうかを制御し、モデルを提供するエンドポイントとは無関係です。ANTHROPIC_BASE_URLをゲートウェイに向けると、リクエストの送信先と料金は変わりますが、エージェントがローカルで実行できることは変わりません。エンドポイントが変えるのは、上記の第2の軸、つまり支出の上限方法です。