1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code Auto Mode入門 — 安全な自律コーディングを実現する権限制御の全貌

1
Last updated at Posted at 2026-03-25

Claude Code Auto Modeの安全な自律実行コンセプト

はじめに

2026年3月24日、Anthropicは Claude CodeAuto Mode を追加した(公式ブログ)。Claude Codeにはこれまで「毎回ユーザーの承認を求める」デフォルトモードと「すべての権限チェックを省略する」 bypassPermissions モードの2択しかなく、長時間のコーディングタスクでは頻繁な承認ダイアログが生産性を著しく下げる一方、全承認スキップはセキュリティリスクを伴うという課題があった。

Auto Modeはこの二項対立を解消する。各ツール呼び出しの前にAIクラシファイアが安全性を判定し、安全なアクションは自動承認、危険なアクションはブロックする。この記事では、Auto Modeの仕組み、有効化手順、クラシファイア設定のカスタマイズ方法を公式ドキュメントに基づいて解説する。

この記事で学べること

  • Auto Modeの動作原理とクラシファイアの判定ロジック
  • 有効化コマンドと既存の権限モードとの比較
  • autoMode 設定による組織向けカスタマイズ
  • 安全に運用するためのベストプラクティス

対象読者

  • Claude Codeを日常的に利用している開発者
  • チーム・組織でClaude Codeの権限管理を検討している管理者
  • AIコーディングエージェントの自律性とセキュリティのバランスに関心がある方

TL;DR

  • Auto ModeはAIクラシファイアが各アクションを事前判定し、安全な操作のみ自動実行する
  • claude --enable-auto-mode で有効化し、 Shift+Tab で切り替え可能
  • autoMode.environment で組織の信頼済みインフラを自然言語で定義できる
  • Team プランで即時利用可能(公式ドキュメント)、Enterprise・APIは数日以内に対応

Auto Modeのクラシファイア判定フロー

Auto Modeの位置づけ — 6つの権限モードを整理する

Claude Codeは6つの権限モードを提供しており、Auto Modeはその1つとして追加された(公式ドキュメント)。

モード 動作 用途
default 各ツールの初回使用時に承認を要求 通常の開発作業
acceptEdits ファイル編集を自動承認(セッション中) 編集が多いリファクタリング
plan 分析のみ。ファイル変更・コマンド実行を禁止 コードレビュー・設計検討
auto クラシファイアが安全性を判定し自動承認/ブロック 長時間の自律タスク
dontAsk 事前許可リスト以外を自動拒否 CI/CD環境での制限実行
bypassPermissions すべての権限プロンプトをスキップ 隔離環境(コンテナ・VM)のみ

Auto Modeは defaultbypassPermissions の中間に位置し、「承認疲れ」を防ぎつつセキュリティを維持する(TechCrunch報道)。

クラシファイアの仕組み

Auto Modeの中核はクラシファイアモデルにある。ツール呼び出しのたびにクラシファイアが起動し、アクションの安全性を評価する。

判定フロー

  1. Claude Codeがツール呼び出し(Bash、Edit、WebFetch等)を生成
  2. AIクラシファイア がアクション内容を検査
  3. 安全と判定 → 自動実行
  4. 危険と判定 → ブロックし、Claudeに別のアプローチを促す
  5. ブロックが連続する場合 → ユーザーへの権限プロンプトにフォールバック

検出対象

クラシファイアは以下のパターンを検出する(SiliconANGLE報道)。

  • 大量ファイル削除: rm -rf やワイルドカードによる一括削除
  • データ流出: 信頼済み外部へのデータ送信(curl による外部POST等)
  • 悪意あるコード実行: プロンプトインジェクション経由の意図しないコマンド
  • 本番環境への直接操作: force push、本番DBへの直接クエリ

クラシファイアの限界

Anthropicは公式に以下の限界を認めている(公式ブログ)。

Auto mode reduces risk compared to --dangerously-skip-permissions but doesn't eliminate it entirely, and we continue to recommend using it in isolated environments.

具体的には以下のケースで誤判定が発生しうる。

  • ユーザーの意図が曖昧な場合に危険なアクションを許可する可能性
  • 環境コンテキストが不足している場合のリスク評価精度の低下
  • 安全なアクションを誤ってブロックする偽陽性

権限モード別の安全性と生産性の比較

有効化手順

前提条件

  • Claude Code最新版がインストール済み
  • Team プラン以上のサブスクリプション(Enterprise・APIは数日以内に対応予定)
  • Claude Sonnet 4.6 または Opus 4.6 を使用中

手順1: Auto Modeの有効化

ターミナルで以下のコマンドを実行する。

claude --enable-auto-mode

手順2: セッション内でモードを切り替え

Claude Codeのセッション中に Shift+Tab を押すと、権限モードを循環的に切り替えられる。 auto が選択肢に表示されるようになる。

手順3: デフォルトモードとして設定(任意)

プロジェクトの .claude/settings.json または ~/.claude/settings.json に以下を追加すると、起動時のデフォルトモードを auto に設定できる。

{
  "defaultMode": "auto"
}

管理者によるAuto Modeの無効化

組織のセキュリティポリシーでAuto Modeを禁止する場合、マネージド設定で以下を指定する。

{
  "disableAutoMode": "disable"
}

クラシファイア設定のカスタマイズ

Auto Modeの最大の特徴は、組織のインフラに合わせてクラシファイアの判定基準をカスタマイズできる点にある。設定は autoMode ブロックで行う(公式ドキュメント)。

設定の配置場所

スコープ ファイル 用途
個人 ~/.claude/settings.json 個人の信頼済みインフラ
プロジェクト(個人) .claude/settings.local.json プロジェクト固有の設定(gitignore対象)
組織全体 マネージド設定 全開発者に適用される信頼済みインフラ

セキュリティ上の理由から、共有プロジェクト設定( .claude/settings.json )の autoMode はクラシファイアに読み込まれない。リポジトリにチェックインされた設定が自身のallowルールを注入することを防ぐためである。

environment — 信頼済みインフラの定義

ほとんどの組織では autoMode.environment のみを設定すれば十分とされている。クラシファイアはこの定義を参照し、定義外の宛先をデータ流出の潜在的ターゲットと判断する。

{
  "autoMode": {
    "environment": [
      "Organization: Acme Corp. Primary use: software development",
      "Source control: github.com/acme-corp and all repos under it",
      "Trusted cloud buckets: s3://acme-build-artifacts, gs://acme-ml-datasets",
      "Trusted internal domains: *.corp.example.com, api.internal.example.com",
      "Key internal services: Jenkins at ci.example.com, Artifactory at artifacts.example.com"
    ]
  }
}

記述は 自然言語 で行う。正規表現やツールパターンではなく、「新しいエンジニアにインフラ構成を説明するときのような書き方」が推奨されている。

allow / soft_deny — ブロック・許可ルールの上書き

より細かい制御が必要な場合、 allowsoft_deny で組み込みルールを上書きできる。

{
  "autoMode": {
    "environment": [
      "Source control: github.com/acme-corp"
    ],
    "allow": [
      "Deploying to staging is allowed: isolated from production, resets nightly",
      "Writing to s3://acme-scratch/ is allowed: ephemeral bucket with 7-day lifecycle"
    ],
    "soft_deny": [
      "Never run database migrations outside the migrations CLI",
      "Never modify files under infra/terraform/prod/"
    ]
  }
}

判定の優先順位は soft_denyallow(例外) → 明示的なユーザー意図 の順で評価される。ユーザーが「このブランチをforce pushして」と 具体的に 指示した場合、 soft_deny ルールに該当してもクラシファイアは許可する。ただし「リポジトリを整理して」のような汎用的な指示では、force pushは許可されない。

allow または soft_deny を設定すると、該当セクションのデフォルトルールが 完全に置き換わるsoft_deny に1つだけエントリを追加した場合、force push・データ流出・ curl | bash 等の組み込みブロックルールがすべて無効化される。必ず claude auto-mode defaults でデフォルトルールを確認し、それをベースにカスタマイズすること。

CLIによる設定の確認と検証

Auto Modeの設定管理には3つのCLIサブコマンドが用意されている。

# デフォルトのenvironment/allow/soft_denyルールを表示
claude auto-mode defaults

# 現在有効な設定(デフォルト + カスタム)を表示
claude auto-mode config

# カスタムルールをAIがレビューし、曖昧・冗長・偽陽性のリスクを指摘
claude auto-mode critique

推奨ワークフローは以下の通り。

  1. claude auto-mode defaults の出力をファイルに保存
  2. 組織のポリシーに合わせてルールを編集
  3. 設定ファイルに反映
  4. claude auto-mode config で有効な設定を確認
  5. claude auto-mode critique でAIレビューを実行

autoMode.environment設定の概念図

既存の権限システムとの連携

Auto Modeは既存のClaude Code権限システムと組み合わせて利用できる。

権限ルールとの関係

Claude Codeの権限ルールは denyaskallow の順で評価される。Auto Modeのクラシファイアが許可したアクションであっても、 permissions.deny ルールに一致する場合はブロックされる。つまり、マネージド設定の deny ルールはクラシファイアより優先される。

{
  "permissions": {
    "deny": ["Bash(git push --force *)"],
    "allow": ["Bash(npm run *)"]
  },
  "defaultMode": "auto"
}

この設定では、Auto Modeが有効でも git push --force は常にブロックされる。

Hooksとの連携

Claude Code HooksPreToolUse フックはクラシファイアの判定前に実行される。フックが deny を返した場合、クラシファイアの判定を待たずにアクションがブロックされる。

サンドボックスとの連携

Auto Modeの権限制御とOS レベルのサンドボックスは補完関係にある。権限制御はClaudeのツール呼び出しを制御し、サンドボックスはBashコマンドのファイルシステム・ネットワークアクセスをOS レベルで制限する。両方を有効にすることで多層防御が実現する。

導入シナリオ別ガイド

個人開発者: 最小構成で始める

// ~/.claude/settings.json
{
  "defaultMode": "auto"
}

デフォルトのクラシファイアルールのみで運用する。ソースコントロールのリモートURLは自動検出されるため、 environment の設定は不要な場合が多い。

チーム: 共通インフラを定義する

// マネージド設定
{
  "defaultMode": "auto",
  "autoMode": {
    "environment": [
      "Organization: Example Corp. Primary use: web application development",
      "Source control: github.com/example-corp",
      "CI/CD: GitHub Actions",
      "Trusted domains: *.example.com"
    ]
  }
}

エンタープライズ: 厳格なポリシーを適用する

// マネージド設定
{
  "defaultMode": "auto",
  "autoMode": {
    "environment": [
      "Organization: Enterprise Inc. Regulated industry (financial services)",
      "Source control: gitlab.enterprise.com",
      "Trusted cloud: s3://enterprise-artifacts",
      "Compliance: SOC 2, PCI DSS"
    ]
  },
  "permissions": {
    "deny": [
      "Bash(git push --force *)",
      "Bash(curl * | bash)",
      "Edit(//etc/**)"
    ]
  }
}

マネージド設定の deny ルールは開発者が上書きできないため、組織のセキュリティベースラインを確実に維持できる。

運用上の注意点

トークン消費とレイテンシ

Auto Modeでは各ツール呼び出しの前にクラシファイアが実行されるため、トークン消費量・コスト・レイテンシにわずかな影響がある(公式ブログ)。

段階的なロールアウトが推奨

Anthropicの公式ドキュメントでは以下の段階的な導入を推奨している。

  1. デフォルト設定 + ソースコントロール組織とキー内部サービスの追加(最も一般的な偽陽性を解消)
  2. 信頼済みドメインとクラウドバケットの追加
  3. 残りの environment を必要に応じて追加

隔離環境での利用推奨

Anthropicは「Auto Modeを隔離環境で使用すること」を引き続き推奨している。コンテナ、VM、またはサンドボックスと併用することで、クラシファイアの誤判定によるリスクを最小化できる。

まとめ

  • Auto Modeは、Claude Codeの権限管理における「毎回承認」と「全スキップ」の課題を解消する新しいモード
  • AIクラシファイアが各アクションを事前判定し、安全な操作のみ自動実行する
  • autoMode.environment による自然言語ベースの信頼済みインフラ定義が、組織固有の運用に対応する
  • 既存の権限ルール・Hooks・サンドボックスとの多層防御が可能
  • 現在はResearch Previewとして Team プランで利用可能。Enterprise・APIは近日対応予定

参考リンク

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?