Claude Code auto modeと権限スキップ:確認を減らす設定と注意点

Claude Codeの権限確認を減らしたい方へ。dangerously-skip-permissionsで省略される承認と、残る制御を解説します。autoモードや権限ルール、planモード、フックの使い分けから、非rootの隔離コンテナで実行する手順、クラウド設定の注意点まで、用途に合う設定を選べます。

公開日

Claude Code auto modeと権限スキップ:確認を減らす設定と注意点

Claude Code auto modeや範囲を絞った権限ルールを使えば、ツールの呼び出しをすべて無条件に許可しなくても、つきっきりで承認する手間は減らせます。claude --dangerously-skip-permissionsを実行するとbypassPermissionsモードが選ばれ、通常の承認に加えて、保護された設定ファイルへの書き込み確認も省略されます。このモードは隔離環境でのみ使ってください。日常的な確認の多さに困っているなら、まずはautoモードか、対象を限定した権限ルールから始めるのがおすすめです。

このフラグで省略される確認は何ですか?

--dangerously-skip-permissionsと--permission-mode bypassPermissionsは、同じモードを選択します。Claudeは通常の承認待ちで停止することなく、ファイルの変更、シェルコマンドの実行、その他のツール呼び出しを進められます。保護対象のパスへの書き込みも許可されます。対話形式で初めて起動すると、利用者の責任について警告が表示されます。同意しなければClaude Codeは終了します。Anthropicのバイパスモードの説明

権限確認が作業場の「承認窓口」なら、環境の隔離は作業場を囲う「壁」です。窓口をなくしても、壁ができるわけではありません。途中で止まらずに作業できる一方、不適切な操作を実行前に見つける機会を失います。

つまり、操作を一つずつ承認する進め方から、先に実行環境を定め、最後に結果を確認する進め方へと変わります。コードの正しさが保証されるわけでも、悪意ある指示が無害になるわけでもありません。

ツールの実行要求、明示的なブロック、省略される通常の確認、独立した隔離作業環境を建築的な構成で示したフロー図
承認ルールと環境の隔離は役割が異なります。バイパスで通常の承認を省くなら、実行の影響範囲は環境側で制限する必要があります。

バイパスしても残る制御は何ですか?

「スキップ」といっても、すべての制御がなくなるわけではありません。無人で動かしているはずの処理が停止したり、操作を拒否したりする場合は、次の違いを押さえておく必要があります。

制御引き続き適用される内容
明示的なdenyルール一致する呼び出しは、どの権限モードでもブロックされます。allowリストを設定しても、バイパスの対象をリスト内の操作だけに限定することはできません。
明示的なaskルール一致する呼び出しには引き続き承認が必要です。
対話が必須の操作AskUserQuestion、requiresUserInteractionが指定されたMCPツール、組織が管理しaskに設定しているコネクターツールでは、引き続き対話が必要です。
重要なパスの削除チェックファイルシステムのルート、ホームディレクトリ、作業ディレクトリなどを対象にしたrmやrmdirには、引き続き特別な処理が適用されます。
その他の制限セッション間メッセージの保護措置と、設定済みの作業ディレクトリ外の読み取り制限は引き続き適用されます。

最後の行に対応する読み取り設定は、正確にはpermissions.blockReadsOutsideWorkingDirectories: trueです。ファイルを読み取る操作として認識されるBashコマンドは、許可されたディレクトリの外では引き続き確認を求める場合があります。サンドボックスによるブロックは、これとは挙動が異なります。-pを使った非対話形式のバイパス実行では、なお確認が必要な呼び出しは承認を待たずに拒否されます。どのモードでも自動承認されない操作、ディレクトリ外の読み取り設定

操作をブロックするPreToolUseフックも、ツールの承認処理に引き続き関わります。ただし、EndConversationには特別な例外があり、ほかのツールが利用可能な間は、denyルールやaskルールによる制約を受けません。インストールされたmodは、管理ポリシーによらない権限判断の一部を上書きできます。そのため、チームで必須とする制御は管理ポリシーに置くべきです。管理者は"permissions": {"disableBypassPermissionsMode": "disable"}でバイパスを禁止できます。--restrictedで開始したセッションも、バイパスモードを拒否します。フックとルールの優先順位、バイパスを無効にする設定

バイパスモードでは保護対象のパスにも書き込めます

.gitや.claudeへの書き込みには、引き続き確認が入ると思わないでください。 バイパスモードでは、保護対象のパスへの書き込みが許可されます。これは、先ほどの重要ディレクトリの削除チェックとは別の仕組みです。

Anthropicが挙げている保護対象のパスには、次のものがあります。

分類パス
リポジトリとエディターのディレクトリ.git、.config/git、.vscode、.idea、.husky
ビルドと実行環境のディレクトリ.cargo、.devcontainer、.yarn、.mvn
Claudeの設定と実行可能な拡張機能.claude、--plugin-dirで読み込むディレクトリ、~/.claude/dev-mods/、またはCLAUDE_CONFIG_DIR配下の対応するdev-mods/
Gitとシェルのファイル.gitconfig、.gitmodules、.bashrc、.bash_profile、.bash_login、.bash_aliases、.bash_logout、.zshrc、.zprofile、.zshenv、.zlogin、.zlogout、.profile、.envrc
パッケージとビルドのファイル.npmrc、.yarnrc、.yarnrc.yml、.pnp.cjs、.pnp.loader.mjs、.pnpmfile.cjs、bunfig.toml、.bunfig.toml、.bazelrc、.bazelversion、.bazeliskrc
フックとラッパー.pre-commit-config.yaml、lefthook.yml、lefthook.yaml、.lefthook.yml、.lefthook.yaml、gradle-wrapper.properties、maven-wrapper.properties
その他の設定.devcontainer.json、.ripgreprc、pyrightconfig.json、.mcp.json、.claude.json、およびシンボリックリンクになっている設定ファイルのリンク先

.claude内には、Claude自身のworktree、現在の計画ファイル、バックグラウンドセッションの一時作業領域、一部のメモリー用Markdownファイルなど、限定的な例外があります。通常のManualモードとacceptEditsのセッションでは、保護対象への書き込みに確認が入ります。autoモードでは分類器が判断します。設定ファイルのallowルールで、これらの書き込みを事前承認することはできません。保護対象のパスと例外

Claude Code auto modeなど、確認を減らす四つの方法

何が作業を止めているのかに合わせて、制御方法を選びましょう。多くの開発者にとって、バイパスを導入する前に必要なのは、承認ポリシーをより細かく設定することです。

普段のコーディングにはautoモードを使います

claude --permission-mode autoでセッションを開始します。提案された操作を別のモデルが審査する「分類器」が、通常の承認判断を担当します。ターミナルでの既定値として継続的に使うには、~/.claude/settings.jsonに"permissions": {"defaultMode": "auto"}をマージします。

この値を.claude/settings.jsonや.claude/settings.local.jsonに書いても、autoモードは有効になりません。また、対応モデルや組織の設定によって利用できるかどうかが変わり、明示的なaskルールに一致する操作では引き続き確認が入ります。中断を減らす機能であり、安全を保証するものではありません。既定モードの設定、autoモードの利用条件

この審査モデルがどのようなワークフローに向いているかは、Claude Code autoモードのガイドで解説しています。

定型作業を許可し、特定の操作を拒否します

内容を確認したコマンドにはpermissions.allow、ブロックしたい操作にはpermissions.denyを使います。Claude Codeはdeny、ask、allowの順に評価します。広い範囲を許可するallowルールでも、一致するdenyルールを打ち消すことはできません。権限ルール

信頼できるリポジトリでは、次のように対象を絞った承認ルールと、操作をブロックするフックを組み合わせられます。既存のキーを残したまま、.claude/settings.jsonにマージしてください。この例では、記載した承認ルールを働かせるため、意図的にターミナルのセッションをManualモードで開始します。テストやlintのコマンドを承認する前に、プロジェクトの各スクリプトが実際に何を実行するかを確認してください。

JSON
{
  "permissions": {
    "defaultMode": "default",
    "allow": ["Bash(npm test)", "Bash(npm run lint)"],
    "deny": ["Bash(git push *)", "Read(./.env)", "Read(./.env.*)"]
  },
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "if": "Bash(rm *)",
        "command": "echo 'Use the approved cleanup task instead.' >&2; exit 2"
      }]
    }]
  }
}

プロジェクト内の個人用設定で上書きする場合は、.claude/settings.local.jsonを使います。自分で作成した場合は、.gitignoreにも追加してください。/permissionsを開くと、有効なルールとその設定元のファイルを確認できます。設定の適用範囲

これらのパターン指定は、ファイルシステムやネットワークを隔離する仕組みではありません。コマンドの書き方を変えるとBashのパターンに一致しなくなる場合があります。また、ファイル操作ツールにdenyルールがあっても、任意のスクリプトから間接的にファイルを読み取ることは可能です。機密情報は実行環境の外に置き、アクセスを確実に遮断する必要がある場合はサンドボックスで制限してください。Bashルールの限界、ファイル用ルールの限界

広範囲を変更する前にplanモードを使います

claude --permission-mode planで起動するか、プロジェクトの設定に"permissions": {"defaultMode": "plan"}を指定します。ソースの編集を承認する前に、Claudeが調査し、作業内容を提案します。最上位の設定"useAutoModeDuringPlan": falseを指定すると、計画中のコマンドに対する分類器の承認が無効になります。そのため、組み込みの読み取り専用コマンドの範囲を超える操作には、利用者の承認が必要です。planモードの設定

planモードを使うときは、バイパスを利用可能にするフラグを付けず、新しいセッションを開始してください。対話型ターミナルのセッションでバイパスが選択可能になっていると、planモードで通常適用される編集とコマンドのブロックが働きません。これは、バイパスを即座に有効化せず、後から選べるようにする--allow-dangerously-skip-permissionsを指定した場合も同じです。planモードとバイパスの選択可否

特定のコマンドはフックでブロックします

先ほどの例では、hooks.PreToolUseのハンドラーにmatcher: "Bash"、type: "command"、if: "Bash(rm *)"を指定しています。条件に一致すると、シェルコマンドが理由を表示し、終了ステータス2で終了してツール呼び出しをブロックします。別のスクリプトは不要です。このシェルコマンドは、Anthropicが公開しているフックのフィールドと、ブロックを指示する終了ステータスを使った、本記事の簡単な実装例です。フックの設定、ブロックを指示する終了コード

この例がブロックするのは、条件に一致するrmの呼び出しです。ファイルを削除するあらゆる手段を防ぐわけではありません。チーム独自のデプロイやクリーンアップ用コマンドに合わせて、レビュー済みの検証処理に置き換えることもできます。チェックの対象は、内容を理解し、テストできる範囲に絞ってください。設定方法とデバッグについては、Claude Codeフックの解説で取り上げています。

Auto、Rules、Plan、Hooksと記された四つの建築的なレーンで、操作の審査、許可・拒否ルール、調査、コマンドのブロックを示した図
操作を自動で審査する、特定の作業を承認する、先に計画する、コマンドをブロックする。目的に合った制御方法を選びましょう。

Anthropicはどの環境でバイパスの実行を認めていますか?

Anthropicが一般的な構成をまとめた表では、コンテナ、VM、サンドボックスランタイムのいずれかが必要とされ、LinuxとmacOSでは非rootユーザーでの実行が求められています。バイパスの説明では、ホストに損害を与えられない隔離環境を前提とし、インターネットに接続できない環境にも言及しています。一方、devcontainerのガイドでは、Claudeに必要なサービスへの外向き通信だけを許可する、ネットワーク接続のある構成を紹介しています。通信先を制限しないネットワーク接続は、別のリスクとして扱ってください。必要な隔離環境、devcontainerのネットワーク制限

LinuxとmacOSでは、rootユーザーやsudo経由でバイパスを起動すると、通常は拒否されます。ドキュメントには、認識されたサンドボックス内では自動的に例外が適用されるとの記載がありますが、紹介されているdevcontainerの構成は非rootアカウントを使います。rootに関するエラーを解消するために、この制限を緩めないでください。

参照用devcontainerで始める手順

信頼できるリポジトリを、破棄できる作業用コピーとしてチェックアウトします。Docker、VS Code、Dev Containers拡張機能をインストールしたうえで、Anthropicの参照用プロジェクトから始めます。

Bash
git clone https://github.com/anthropics/claude-code.git claude-code-isolated
code claude-code-isolated
  1. VS CodeでDev Containers: Reopen in Containerを実行します。この参照構成には、CLI、永続ボリューム、外向き通信を制限するファイアウォールが含まれています。remoteUserに非rootアカウントが指定されていることを確認してください。
  2. コンテナ内のターミナルでid -uを実行し、結果が0でないことを確認します。claudeを実行してサインインしたら、そのセッションを終了します。
  3. 同じコンテナ内のターミナルで、claude -p "Inspect this repository and summarize its structure. Do not change files." --dangerously-skip-permissionsを実行します。
  4. 自分のプロジェクトに適用する場合は、参照構成の.devcontainer/ディレクトリを破棄可能な作業用コピーにコピーし、ツールチェーンに合わせてDockerfileを調整します。タスクが終わるたびに、ワークスペースの差分を確認してください。

この手順は、Anthropicの参照用コンテナのワークフローに沿ったものです。参照構成は動作するサンプルであり、継続的に保守されるベースイメージではありません。外向き通信の制限は維持するか、同等のネットワーク制御を用意してください。

マウントしたワークスペースにはコンテナ内からも書き込めるため、変更はホストにも反映されます。~/.ssh、クラウドの認証情報ファイル、無関係なディレクトリはマウントしないでください。悪意あるプロジェクトは、Claudeの認証情報を含め、コンテナ内でアクセスできる情報を外部に漏らす可能性があります。信頼できるリポジトリを使い、作業の様子を確認してください。devcontainerの限界

クラウドセッションではバイパスの既定値が無視されます

クラウドセッションは、設定ファイルのdefaultMode: "bypassPermissions"とdefaultMode: "dontAsk"を通知なく無視します。起動時には、クラウド側のモード選択ドロップダウンに表示されているモードが使われます。リポジトリにコミットしたJSON設定で、クラウドセッションを強制的にバイパスへ切り替えることはできません。クラウドでのモードの挙動

ローカルの~/.claude/settings.jsonは、Anthropicがホストするクラウドセッションには引き継がれません。リポジトリの設定にも制約があります。複数のリポジトリにまたがるセッションでは、各リポジトリの権限ルールとフックは読み込まれません。ターミナルの設定がそのまま適用されていると思い込まず、クラウド環境で実際に有効なポリシーを確認してください。クラウドセッションの設定

作業に合った権限モードを選びます

多くの場合、最も効果が大きいのは、既存のワークフローから繰り返し発生する承認を減らすことです。私なら、次の順番で導入を検討します。

場面選びたいワークフロー得られる効果
開発者が使い慣れたアプリのバグを修正するautoモードを使い、差分とテスト結果を確認する定型的な手順の承認に割く注意を減らせます
保守担当者が信頼済みのテストを繰り返し実行するテストとlintのコマンドだけを正確に指定するallowルールすべてのシェルコマンドを許可せずに、承認の挙動を予測しやすくなります
チームが複数モジュールにまたがるリファクタリングを計画する新しいplanセッションで提案を確認し、その後に実装を承認する編集が広がる前に、変更範囲の誤りを見つけられます
プラットフォームチームがデプロイコマンドを制御するテスト済みのPreToolUse検証処理と管理ポリシーを組み合わせる実行のたびに同じブロックルールを適用できます
CI担当者が決まったタスクを実行するdontAskと明示的な許可リストを使う想定外の作業は、人の応答を待たずに失敗します
保守担当者が使い捨て環境で無人実行する非rootかつネットワーク制限のあるコンテナを使い、その中だけでバイパスを有効にする範囲を定めたタスクを完了させ、作業用コピーを確認するか破棄できます

CIの例でAnthropicが出発点として示しているのは、claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"です。通常なら確認が必要になる操作は拒否されます。一般的な構成例

どのモードを選ぶ場合も、Claude Codeのベストプラクティスを併せて活用してください。権限設定は実行を制御するためのものです。成果を採用できるかどうかは、検証によって判断します。

チームで開発する価値がある二つのツール

最も有望なのは、権限設定をチェックするツールです。 DataForSEOの推計では、「claude code permissions」の米国での月間検索数は720件です。これは必要な情報を見つけにくいという課題を示していますが、購入意向があると証明するものではありません。開発基盤を担当するチームなら、設定の適用範囲を説明し、無視されるdefaultModeの値を指摘し、広範囲に一致するコマンドルールの挙動を事前に確認できる小さなチェッカーを作れます。同僚への導入前に役立つでしょう。まず価値を出せる成果物は、修正案を含むレポートです。課題は、Claude Codeの設定の挙動が変わるたびに保守が必要になることです。

使い捨て環境での実行を立ち上げるランチャーは、無人タスクを繰り返すチームに役立つ可能性があります。 同じ需要調査では、「claude code docker」の米国での月間検索数は260件と推計されています。MVPでは、レビュー済みのコンテナテンプレート、許可されたマウント、非root実行、外向き通信のポリシーを検証し、実行後の差分とログを保守担当者向けに収集するとよいでしょう。価値は、毎回一貫した環境を用意できることにあります。ただし、ランチャーがあっても、信頼できないリポジトリのコードが安全になるわけではありません。Dockerがあるという理由だけで、隔離を保証することもできません。

どちらも、実際の利用者とともに有用性を確かめるべき社内ツールの案です。開発者の端末でバイパスを既定にする必要は、どちらにもありません。

Claudeのdangerously-skip-permissionsは何をする機能ですか?

bypassPermissionsを選択し、通常のツール承認を省略するとともに、保護対象のパスへの書き込みを許可します。明示的なブロックや、対話を必須とするドキュメント記載の保護措置は、引き続き考慮する必要があります。実行が途中で止まることはないと思い込む前に、上で説明した違いを確認してください。

Claudeの権限確認を減らすにはどうすればよいですか?

通常のコーディングなら、claude --permission-mode autoを試してください。手順が決まっている作業では、内容を確認したコマンドをpermissions.allowで事前承認し、特定の操作を拒否するルールは残します。コマンドのチェックが必要な箇所にはフックを使います。編集前の調査にはplanモードが向いています。

Claude Codeで権限確認をバイパスするにはどうしますか?

まず隔離環境を用意し、その中でのみclaude --dangerously-skip-permissionsを起動します。claude --permission-mode bypassPermissionsでも同じです。上の非rootで実行するdevcontainerの手順に従い、普段使うシェルに無条件のバイパス用エイリアスを追加しないでください。

週明けに取り組むなら、まずは繰り返し行う作業を一つ選び、実際に実行されるコマンドを確認しましょう。その作業を最後まで進められる、最小限の承認ポリシーを設定します。その範囲を超える無人実行が必要になってから、使い捨てのコンテナへ移行してください。

チームでこうしたワークフローの構築・保守が必要な場合は、本番運用向けAIシステムの構築支援をご覧ください。

公開日
カテゴリー
Build
Cursor VSCode比較:料金・AI機能と乗り換えの判断基準【2026年】

Cursor VSCode比較:料金・AI機能と乗り換えの判断基準【2026年】

CursorとVSCodeの違いを、Tab補完、AIエージェント、Copilot、拡張機能、料金、プライバシーから比較します。Claude CodeやCodexを今の環境で使う選択肢も整理。移行前に確かめたい互換性と設定、試すべき作業を押さえ、乗り換えが自分の開発に見合うか判断できます。2026年10月18日Build
n8nレビュー:料金・使い方と、導入前に知るべき運用の条件

n8nレビュー:料金・使い方と、導入前に知るべき運用の条件

n8nとは何ができる自動化ツールなのか。料金と使い方、Cloudとセルフホストの選び方、無料版の共同作業の制約を解説します。AIエージェントの権限管理や障害時の復旧まで、導入前に確認したい条件を整理。Zapier・Makeとの違いも踏まえ、技術担当者がいる企業に向く理由と、別の選択肢が適する場面を検討します。2026年10月18日Build
Railway 料金比較:Renderとの違いと選び方【2026年版】

Railway 料金比較:Renderとの違いと選び方【2026年版】

RailwayとRenderの料金を、Webアプリ・ワーカー・Postgresを動かす同じ条件で比較します。月額$15.11と$20の試算に加え、無料枠、データベースの復旧、cron、スケーリング、移行時の制約を解説。安さだけでは見えない運用の違いと、個人開発や小規模チームに合う選び方を整理します。2026年10月18日Build
Pydantic AIとは?Python向けAIエージェントフレームワークの使い方

Pydantic AIとは?Python向けAIエージェントフレームワークの使い方

Pydantic AIは、型付きツールと検証済みの構造化出力を扱うPython向けAIエージェントフレームワークです。問い合わせ分類の実装例を通じて、依存性注入、モデルの切り替え、MCP、永続実行、評価の役割を解説。LangGraphやLangChain、APIの直接呼び出しとの使い分けも整理します。2026年10月17日Build
AIガードレールの設計と実装:チェック箇所・主要ツール・最小構成

AIガードレールの設計と実装:チェック箇所・主要ツール・最小構成

AIガードレールを、入力・取得データ・モデルの提案・ツール実行・出力の5つの境界で整理。返金リクエストを例に、コンテンツフィルターと権限確認、人による承認の違いを解説します。主要ツールの対応範囲と制約、小規模チームが始める6つの制御、Promptfooで確かめるテストケースまで、実装の判断に必要な要点をまとめます。2026年10月17日Build
ハルシネーションとは?LLMが誤る原因と誤回答を減らす実装

ハルシネーションとは?LLMが誤る原因と誤回答を減らす実装

LLMのハルシネーションは、架空の事実だけでなく、誤った数値や引用、ツール引数にも現れます。原因と実例を整理し、RAGによる根拠の取得、引用や値の検証、根拠が足りない場合の回答保留、Pythonの検証コード、評価テストまで解説。顧客への誤回答や誤操作を減らすために、小規模チームが取り組める実装手順を紹介します。2026年10月17日Build
システムプロンプトとは?役割・書き方・具体例と実用テンプレート

システムプロンプトとは?役割・書き方・具体例と実用テンプレート

システムプロンプトとは何か、ユーザープロンプトとどう使い分けるのかを解説します。Anthropic・OpenAI・Googleの指定方法や、役割・ルール・出力・ツール利用の書き方を整理。改善前後の例とコピーして使えるテンプレートに加え、権限制御の限界、会話を続ける際の注意点、運用で確認すべきケースも紹介します。2026年10月17日Build
function callingとは?LLMと外部ツールをつなぐ仕組みと実装

function callingとは?LLMと外部ツールをつなぐ仕組みと実装

function callingは、LLMの依頼をアプリケーションが検証・実行する仕組みです。注文状況の照会を題材に、ツール定義から結果の返却までをPythonで解説。OpenAI・Anthropic・Geminiの形式の違い、引数の検証とアクセス制御、構造化出力やMCPとの使い分けまで整理します。2026年10月17日Build
ニュースレター

毎週日曜、一通の手紙。動くシステムの話。感想戦ではなく。

週刊。スパムなし。いつでも解除できます。