Skip to main content
オートモードを使用すると、Claude Code は、ツール呼び出しを分類器にルーティングして、不可逆的、破壊的、または環境外を対象とした操作をブロックすることで、定期的な権限プロンプトなしで実行できます。拒否および明示的な質問ルールは分類器の前に評価され、引き続きブロックまたはプロンプトを表示します。autoMode 設定ブロックを使用して、その分類器に組織が信頼するリポジトリ、バケット、ドメインを指定し、定期的な内部操作のブロックを停止させます。
このページは設定リファレンスです。オートモードのオン・オフの切り替えは、権限モードページで説明されています。
オートモードは、Anthropic API、AWS 上の Claude Platform、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、およびサインイン済みのClaude アプリゲートウェイセッションを含む、すべてのプロバイダーのすべてのユーザーが利用できます。Claude Code がアカウントでオートモードが利用できないと報告する場合は、完全な要件を確認してください。これには、サポートされているモデルと Team および Enterprise プランでの組織レベルの制御も含まれます。 デフォルトでは、分類器は作業ディレクトリと現在のリポジトリの設定されたリモートのみを信頼します。会社のソース管理組織へのプッシュやチームクラウドバケットへの書き込みなどのアクションは、autoMode.environment に追加するまでブロックされます。 このページでは、以下の方法について説明します。
  • permissions.askを使用してプッシュおよびプルリクエストの人間チェックポイントを追加する
  • autoMode.environmentを使用して信頼できるインフラストラクチャを定義する
  • /auto-mode-setupを使用して環境エントリを生成する
  • 拒否を確認して、次に何を追加するかを把握する

一般的な境界

オートモードでは、作業中のリポジトリのあらゆるブランチ(デフォルトブランチを含む)へのプッシュが許可され、デフォルトではプルリクエストの作成も可能です。production、release、gh-pages など、デプロイまたは公開ターゲットとしてマークされた非デフォルトブランチは、このデフォルトの対象外です。分類器はそこへのプッシュを独自の条件で判定し、本番環境へのデプロイとして扱います。プッシュの内容も引き続きチェックされるため、強制プッシュ、コミットへのシークレット入力、または CI やデプロイパイプラインの実行時にシークレットをリポジトリ外に送信する変更は、ブロックされたままです。 Claude のプッシュおよびプルリクエストコマンドの前に人間によるチェックポイントが必要な場合は、権限ルールを追加してください。以下のレシピでは、他のすべてのアクションに対してオートモードを有効に保ちます。

人間によるチェックポイントを追加する

最も直接的なメカニズムは permissions.ask です。以下のようなコンテンツスコープの ask ルールは、分類器の前に評価され、オートモードでも常に権限プロンプトを強制します。これは、明示的な ask ルールがそのアクションについてプロンプトを表示する意図を示しているためです。設定にルールを追加してください。
これらのルールは git push または gh pr create で始まるコマンドに一致します。Claude が別の方法で記述したプッシュ(例:git -C <dir> push または git -c <key>=<value> push)は、ルールに一致しないため、チェックポイントされません。完全なコマンドテキストを検査するチェックポイントの場合は、PreToolUse フックを追加してください。 境界がどの程度厳密である必要があるかに応じて、メカニズムを選択してください。

分類器が設定を読み込む場所

分類器は Claude 自体が読み込む同じ CLAUDE.md コンテンツを読み込むため、プロジェクトの CLAUDE.md に「force push を絶対にしない」のような指示があれば、Claude と分類器の両方を同時に制御します。プロジェクト規約と動作ルールについては、ここから始めてください。 複数のプロジェクトに適用されるルール(信頼できるインフラストラクチャや組織全体の拒否ルールなど)については、autoMode 設定ブロックを使用してください。分類器は以下のスコープから autoMode を読み込みます。 分類器は .claude/settings.json または .claude/settings.local.json のプロジェクト設定から autoMode を読み込みません。両方のファイルはリポジトリディレクトリに存在するため、チェックインされたリポジトリまたはビルドステップが独自の許可ルールを注入する可能性があります。autoMode ブロックを .claude/settings.local.json から ~/.claude/settings.json に移動してください。 各スコープからのエントリは結合されます。開発者は個人的なエントリで environment、allow、soft_deny、hard_deny を拡張できますが、マネージド設定が提供するエントリを削除することはできません。許可ルールは分類器内のソフトブロックルールの例外として機能するため、開発者が追加した allow エントリは組織の soft_deny エントリをオーバーライドできます。組み合わせは加算的であり、ハードポリシー境界ではありません。
分類器は 権限システム の後に実行される 2 番目のゲートです。ユーザーの意図または分類器の設定に関係なく、絶対に実行してはいけないアクションについては、マネージド設定で permissions.deny を使用してください。これは分類器が参照される前にアクションをブロックし、オーバーライドできません。

信頼できるインフラストラクチャを定義する

ほとんどの組織では、autoMode.environment が設定する必要がある唯一のフィールドです。これは分類器にどのリポジトリ、バケット、ドメインが信頼できるかを伝えます。分類器はこれを使用して「外部」が何を意味するかを決定するため、リストに記載されていない宛先は潜在的なデータ流出ターゲットです。 claude auto-mode defaults は 3 種類の環境エントリを出力します。
  • コンテキストスロット: 組織、スタック、セキュリティ体制を説明し、分類器がコンテキスト内の他のルールを読み取れるようにします。各スロットはデフォルトで None configured または次に示す保守的な仮定に設定されます。
    • Organization(組織)
    • Claude Code の主な用途: ソフトウェア開発がデフォルト
    • クラウドプロバイダー
    • リポジトリの可視性: リポジトリはリモートホストと名前が別途示さない限りプライベートと見なされます。または分類器が会話の前の段階で読み取った可視性チェックでそれがパブリックであることが示されている場合。 Claude Code 自体が送信する分類器リクエストでは、分類器はメッセージと Claude が実行するコマンドを読み取り、その出力は読み取りません。証拠は分類器が読み取ることができるもの(リポジトリをパブリックとして名前を付けた独自のメッセージなど)である必要があります。gh repo view の出力だけではそこに到達しません。
    • 内部共有 / スニペットホスティング: パブリックペーストおよび gist サービスは、名前を付けるまで信頼境界の外側として扱われます
    • 組織固有の CLI
    • シークレット管理
    • CI/CD デプロイターゲット
    • ネットワーク体制
    • ホスト隔離: デフォルトは、オープンインターネットを備えた通常の開発者マシンまたは CI ランナーです。Claude Code がコンテナ、VM、またはポッド内で実行され、エグレス許可リストまたは接触してはいけないネイバーがある場合は、許可されたホスト、クラウドメタデータエンドポイントに到達可能かどうか、およびタスクが使用するクラウドプロジェクト、クラスタ、またはレジストリと使用する ID を名前付けします。このエントリがその ID を名前付けするまで、分類器はホストの独自の認証情報に対するリクエストをブロックします。Claude Code v2.1.257 以降が必要です
    • 保護されたデプロイメント名前空間 / 環境: 名前を付けるまで「機密リモートターゲット」ヒューリスティックにフォールバックします
    • データ保持 / 機密解除
  • 信頼スロット: 分類器が境界内として扱うものを名前付けします。スロットは「信頼できるリポジトリ」、「ソース管理」、「信頼できる内部ドメイン」、「信頼できるクラウドバケット」、「主要な内部サービス」、および「内部パッケージレジストリ」です。リポジトリおよびソース管理エントリはデフォルトで作業リポジトリとその設定されたリモートに設定されます。他のすべての信頼スロットはデフォルトで None configured に設定されるため、追加するまで他に信頼できるものはありません。リポジトリの可視性は機密資料のみをスコープします。プライベートリポジトリは機密資料の許容可能な宛先ですが、リポジトリをプライベートにしてもシークレット、個人データ、または信頼されたデータがそこにクリアされることはなく、分類器は作業リポジトリの外側からポート、リポイント、または最初に読み取られたコンテンツをそのリポジトリ独自の作業として扱いません。
  • 感度スロット: 保護ルールが高リスクとして扱うものを名前付けします。スロットは「機密データの場所とオーディエンス」、「機密リモートターゲット」、および「保護された IaC スコープ」です。各スロットはデフォルトで広範なヒューリスティック(名前に prod または production を含むホストまたは名前空間を機密リモートターゲットとして扱うなど)に設定されるため、保護ルールは何も設定する前からアクティブです。感度スロットに具体的なターゲットを名前付けすると、これらのルールはヒューリスティックではなく名前付けされたターゲットに適用されます。
デフォルトと並行して独自のエントリを追加するには、配列にリテラル文字列 "$defaults" を含めます。デフォルトエントリはその位置に挿入されるため、カスタムエントリはその前後に配置できます。 次の例は、デフォルトエントリを保持し、組織のリポジトリ、バケット、ドメイン、サービスを追加します。
設定を保存した後、claude auto-mode config を実行して、有効なルールがエントリを含むことを確認します。 エントリは散文であり、正規表現やツールパターンではありません。分類器はそれらを自然言語ルールとして読み取ります。新しいエンジニアにインフラストラクチャを説明する方法で記述してください。十分な環境セクションは以下をカバーします。
  • Organization(組織): 会社名と Claude Code が主に使用される用途(ソフトウェア開発、インフラストラクチャオートメーション、データエンジニアリングなど)
  • ソース管理: 開発者がプッシュするすべての GitHub、GitLab、または Bitbucket 組織
  • クラウドプロバイダーと信頼できるバケット: Claude が読み取りおよび書き込みできるバケット名またはプレフィックス
  • 信頼できる内部ドメイン: *.internal.example.com のようなネットワーク内の API、ダッシュボード、サービスのホスト名
  • 主要な内部サービス: CI、アーティファクトレジストリ、内部パッケージインデックス、インシデント対応ツール
  • 内部パッケージレジストリ: インストールがルーティングされるプライベート npm、PyPI、またはその他のレジストリ。パブリックレジストリをバイパスするインストールがブロックされるようにします
  • 機密データの場所とオーディエンス: 個人データ、機密ビジネスデータ、認証情報、規制データ、または同様に機密性の高い資料を保持するバケット、データベース、またはパス、および各場所のデータが共有される可能性があるオーディエンス。分類器がコンテンツから推測する代わりにこれらの場所を保護します。
  • 機密リモートターゲット: 本番環境としてカウントされる名前空間、ホスト、またはコンテナ。リモートシェルおよびポートフォワードにはユーザーの明示的な承認が必要です
  • 保護された IaC スコープ: 適用または破棄が常にユーザーが変更を名前付けする必要があるインフラストラクチャリソース
  • 追加コンテキスト: 規制業界の制約、マルチテナントインフラストラクチャ、または分類器がリスクとして扱うべきことに影響するコンプライアンス要件
有用な開始テンプレート: 括弧で囲まれたフィールドを入力し、適用されない行を削除します。
すべてを一度に入力する必要はありません。合理的なロールアウト: デフォルトから始めて、ソース管理組織と主要な内部サービスを追加します。これにより、独自のリポジトリへのプッシュなど、最も一般的な誤検知が解決されます。次に信頼できるドメインとクラウドバケットを追加します。ブロックが発生したら残りを入力します。

/auto-mode-setup で環境エントリを生成する

/auto-mode-setup を実行すると、Claude Code がプロジェクトと最近のセッションから autoMode.environment エントリを作成し、時にはルールエントリも作成します。ドラフトを承認すると、Claude Code は ~/.claude/settings.json に書き込みます。
/auto-mode-setup には Pro、Max、または Team プランと Claude Code v2.1.228 以降が必要です。ネイティブ Windows では v2.1.233 以降が必要です。Web 上の Claude Code では実行できません。またフィーチャーフラグ取得が必要なため、フラグ取得をオフにしたセッションでは実行できません。

/auto-mode-setup が読み込むもの

~/.claude/settings.json に既に autoMode エントリが含まれている場合、Claude Code はまず環境リストに追加するか置き換えるかを尋ね、どちらの場合でも作成したルールを保持します。その後、Claude Code はこのプロジェクトの使用方法を尋ね、スキャンの前に 2 つのオプションスキャンを提供します。スキャンでは、Claude Code は常にこれらのソースを読み込みます:
  • このプロジェクトの CLAUDE.md、README.md、設定ファイル、および git リモート
  • autoMode および permissions.allow 設定
  • Claude がこのプロジェクトの最近のセッションで実行したコマンドのホスト、バケット、コマンド名(メッセージは含まない)
2 つのオプションスキャンは各々1 つのソースを追加します:
  • シェル履歴内の各コマンドの最初の単語
  • ホームディレクトリ下のリポジトリのリモートホストと名前

ドラフトを確認して保存する

Claude Code はバックグラウンドでスキャンを実行し、ドラフトを表示します。ドラフト全体を承認または破棄し、その後 ~/.claude/settings.json を編集して個別のエントリを調整します。承認すると、Claude Code はドラフトを書き込み、既に持っている設定と調整します:
  • Claude Code は "$defaults" なしで environment リストを書き込みます。ドラフトが変更されていない組み込みエントリを明示しているため
  • Claude Code は、ドラフトがエントリを追加する allow、soft_deny、および hard_deny リストのそれぞれに "$defaults" を含めます。ただし、既に allow リストを "$defaults" なしで作成している場合は除きます。そのため、置き換えていない組み込みルールは有効なままです
  • 保存後、Claude Code は ~/.claude/settings.json 内の permissions.allow ルールを削除することを提案します。オートモードが無視するもの(Bash(*) など)、または破壊的なコマンドを自動承認するもの
その後、claude auto-mode config を実行して有効な結果を確認します。

/auto-mode-setup をオフにする

オートモードが複数のアクションをブロックし、まだ autoMode.environment エントリがない場合、Claude Code はターンの終わりに「オートモードに環境について教えますか?」というタイトルのダイアログを表示し、/auto-mode-setup を実行することを提案します。提案を停止してコマンドを保持するには、そのダイアログで [今後表示しない] を選択します。 コマンドと提案の両方をオフにするには、このskillOverrides エントリを ~/.claude/settings.json に追加します:
/auto-mode-setup はバンドルされたスキルではなく組み込みコマンドなため、この skillOverrides エントリは引き続き適用されますが、disableBundledSkills はオフにしません。

ブロックルールと許可ルールをオーバーライドする

3 つの追加フィールドを使用すると、分類器の組み込みルールリストを置き換えることができます。
  • autoMode.hard_deny:無条件のセキュリティ境界
  • autoMode.soft_deny:ユーザーの意図でクリアできる破壊的なアクション
  • autoMode.allow:ソフトブロックルールの例外
各フィールドは散文説明の配列であり、自然言語ルールとして読み込まれます。分類器の前に実行されるツールパターンベースのハードブロックについては、permissions.deny を使用します。 分類器内では、優先順位は 4 つのレベルで機能します。
  • hard_deny ルールは無条件にブロックします。ユーザーの意図と allow 例外は適用されません。
  • soft_deny ルールが次にブロックします。ユーザーの意図と allow 例外はこれらをオーバーライドできます。
  • allow ルールは一致する soft_deny ルールを例外としてオーバーライドします。
  • 明示的なユーザーの意図が残りのソフトブロックをオーバーライドします。ユーザーのメッセージが Claude が実行しようとしている正確なアクションを直接かつ具体的に説明する場合、soft_deny ルールが一致しても分類器はそれを許可します。
一般的なリクエストは明示的な意図としてカウントされません。Claude に「リポジトリをクリーンアップする」ように依頼することは force push を認可しませんが、「このブランチを force push する」ように依頼することは認可します。 緩和するには、分類器がデフォルトの例外がカバーしていないルーチンパターンを繰り返しフラグする場合、allow に追加します。厳しくするには、環境に固有で、デフォルトが見落としているリスクについて soft_deny に追加するか、絶対に越えてはいけないセキュリティ境界について hard_deny に追加します。 組み込みルールを保持しながら独自のルールを追加するには、配列にリテラル文字列 "$defaults" を含めます。デフォルトルールはその位置に挿入されるため、カスタムルールはそれらの前後に配置でき、リリース全体でビルトインリストが変更されるにつれて更新を継続して継承します。 次の例は、すべての 4 つのリストでデフォルトを保持し、各リストに組織固有のルールを追加しています。
environment、allow、soft_deny、または hard_deny のいずれかを "$defaults" なしで設定すると、そのセクション全体のデフォルトリストが置き換わります。"$defaults" なしで配列を設定する場合、そのセクションの組み込みルールを破棄します。
  • soft_deny:force push、curl | bash、本番環境へのデプロイ、およびオートモードバイパスを含むすべての組み込みソフトブロックルール
  • hard_deny:組み込みのデータ流出ルール
各セクションは独立して評価されるため、environment のみを設定すると、デフォルトの allow、soft_deny、および hard_deny リストはそのままになります。 "$defaults" は、リストの完全な所有権を取得する意図がある場合のみ省略します。その場合、claude auto-mode defaults を実行して組み込みルールを出力し、それらを設定ファイルにコピーしてから、各ルールを独自のパイプラインとリスク許容度に対して確認します。

/permissions から編集ルール

設定ファイルを開かずに分類器ルールと environment エントリを表示および編集するには、/permissions を実行して Auto mode タブを選択します。このタブは Claude Code v2.1.246 以降が必要であり、auto mode がセッションで利用可能な場合にのみ表示されます。 Claude Code は 管理設定または --settings フラグからのエントリを読み取り専用として表示し、タブで行ったすべての変更を ~/.claude/settings.json に保存します。

すべてのシェルコマンドを分類器を通してルーティングする

デフォルトでは、狭い Bash および PowerShell の許可ルール(Bash(npm test) など)はオートモードで有効なままであり、Claude Code は分類器が実行される前にそれらを解決します。ただし、コマンドが コマンドごとの許可ドメイン を含む場合は除きます。Claude Code は、Bash(*) やワイルドカード化されたインタープリターなどの任意のコード実行を許可する広いルール、および Monitor という名前のすべてのルールを一時停止します。Monitor コマンドはシェルを通して実行されるためです。これは、狭いルールが、分類器が見ることなく、破壊的な引数(スクリプトパスやルールのプレフィックスが予想しなかったフラグなど)を通す可能性があることを意味します。 autoMode.classifyAllShell を true に設定して、オートモードがアクティブな間、すべての Bash および PowerShell の許可ルールを一時停止し、分類器が許可リストに関係なくすべてのシェルコマンドを評価するようにします。ただし、重要パスの削除 は除きます。
これは、レイテンシーをカバレッジと引き換えにします。許可ルールが即座に承認したコマンドは、分類器の決定を待つようになり、各シェルコマンドは分類器呼び出しとしてカウントされます。 この設定はオートモードがアクティブな間のみ適用され、他の権限モードではあなたの許可ルールは通常通り動作します。

デフォルトと有効な設定を確認する

claude auto-mode サブコマンドは、設定を確認、検証、リセットするのに役立ちます。 組み込みの environment、allow、soft_deny、hard_deny ルールを JSON として出力します:
jq にパイプしなくても 1 つのルールの完全な文言を読むには、--label にルールのラベルの開始部分を渡します。例えば claude auto-mode defaults --label 'Git Destructive' のようにします。マッチングは各ルールのラベルに対する大文字小文字を区別しないプレフィックスであり、マッチしないセクションは空のリストとして出力されます。 分類器が実際に使用する設定を JSON として出力します。設定が指定されている場合はその設定を、そうでない場合はデフォルトを適用します:
defaults と config の両方は、4 つのルールリストを単一の JSON オブジェクトとして出力し、各ルールは散文文字列です。これは切り詰められた例です:
カスタムの allow、soft_deny、hard_deny、environment エントリについて AI からのフィードバックを取得します:
カスタムルールを作成した場合、claude auto-mode critique はそれらをレビューし、曖昧、冗長、または偽陽性を引き起こす可能性のあるエントリにフラグを立てます。 カスタマイズを破棄して組み込みデフォルトに戻すには、reset サブコマンドを実行します。このサブコマンドはユーザー設定ファイルから autoMode セクションを削除します:
このコマンドは削除する内容を要約し、書き込む前に Reset auto mode configuration to defaults? と確認を求めます。--yes を渡すと確認をスキップできます。Reset は ~/.claude/settings.json のみを変更します。managed settings または --settings フラグからの autoMode ルールは引き続き適用されます。

拒否の確認

オートモード分類器が拒否したアクションを確認して再試行するには、/permissions を開いて Recently denied タブを選択します。ここで Claude Code は各拒否を記録しています。拒否されたアクションで r を押してリトライ対象としてマークします。ダイアログを終了すると、Claude Code はモデルにそのツール呼び出しを再試行できることを伝えるメッセージを送信し、会話を再開します。 分類器がアクションの安全性について判定できない場合、オートモードとは別の安全チェックが分類器自身のリクエストを拒否したか、またはそのレスポンスが解析できなかったため、Claude Code はアクションを拒否しますが、Recently denied に記録しません。リンク先のエラーエントリでは、Claude に伝えられる内容と、必要な場合にアクションを実行する方法について説明しています。

許可ルール、環境エントリ、またはリトライで拒否を修正する

分類器がブロックした内容を確認するには、会話でツール呼び出しを見つけます。呼び出しが短縮されているか、Ran 3 shell commands のような概要行に折りたたまれている場合は、Ctrl+O を押してトランスクリプトビューアを開き、展開します。 画面上の拒否を報告する他の 2 つの場所では、コマンドまたは URL が省略されています。入力ボックスの近くの通知(bash denied by auto mode · [Data Exfiltration] · /permissions など)はツールと理由を示し、Recently denied タブはシェルコマンドを Claude が記述した説明で一覧表示します。これらの拒否の正確な入力をプログラムで取得するには、PermissionDenied フックを追加します。これは tool_input として受け取ります。 呼び出しの下のテキストは、修正すべきことがあるかどうかを示します。薄く表示された Not run · auto mode's check had no usable answer の行、または分類器自体の問題を報告するテキスト(Auto mode could not evaluate this action など)は、Claude Code が分類器からの判定なしに呼び出しをブロックしたことを意味します。Not run の行の場合は、Ctrl+O を押してメッセージ全文を読み、対処方法についてはauto モードがアクションの安全性を判定できないまたはサーバーが安全性の判定を返さなかったを参照してください。 それ以外の場合、Denied by auto mode classifier と [Production Deploy] または Blocked by classifier などの理由が記載された行は、分類器が呼び出しを安全でないと判定したことを意味するため、呼び出しが何に到達しようとしていたか、または何をしようとしていたかから修正を選択します。
  • タスク全体を通じて Claude が必要とする宛先(パッケージレジストリ、内部ドメイン、リポジトリホストなど):autoMode.environment に追加します。
  • これからレビューなしで実行したいコマンド:allow ルールを追加します。
  • 実際に意図した 1 回限りのアクション:次のメッセージでその意図を述べて、Claude に再試行させます。
環境エントリまたは allow ルールは、/permissions ダイアログのAuto mode タブから追加できます。 角括弧内のテキスト([Data Exfiltration] など)は、分類器がマッチしたルールの名前です。そのルールの完全な文言を読むには、デフォルトと有効な設定を確認するを参照してください。

繰り返される拒否を修正する

同じ宛先に対する繰り返される拒否は、通常、分類器がコンテキストを欠落していることを意味します。その宛先を autoMode.environment に追加するか、/auto-mode-setup を実行して Claude Code にエントリを作成させ、その後 claude auto-mode config を実行して変更が有効になったことを確認します。

関連項目

  • 権限モード:auto モードとは何か、デフォルトでブロックされるもの、およびどのセッションがそれで開始されるか
  • マネージド設定:組織全体に autoMode 設定をデプロイする
  • 権限:分類器が実行される前に適用される許可、確認、および拒否ルール
  • すべての設定:autoMode を含むすべての設定キー