0
0

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 を理解する

0
Last updated at Posted at 2026-05-22

Claude Code Auto Mode 調査メモ

概要

Claude Code の権限モード「Auto Mode」について調査した結果をまとめる。

Auto Mode とは

各ツール呼び出しの前にAIクラシファイアが安全性を判定し、安全なアクションは自動承認、危険なアクションはブロックする仕組み。

従来の2択(「毎回承認」vs「全スキップ(bypassPermissions)」)の中間に位置する。

有効化方法

⚠️ 重要(v2.1.142以降): プロジェクト設定(.claude/settings.json)に defaultMode: "auto" を書いても無視される。リポジトリが自分自身に auto モードを付与できないようにするセキュリティ制約。

// ❌ プロジェクト設定では効かない(v2.1.142以降)
// .claude/settings.json
{ "defaultMode": "auto" }

// ✅ ユーザー設定に書く
// ~/.claude/settings.json
{ "defaultMode": "auto" }

https://code.claude.com/docs/en/settings#permission-settings より

Default permission mode when opening Claude Code. Valid values: default, acceptEdits, plan, auto, dontAsk, bypassPermissions. As of Claude Code v2.1.142, auto is ignored when set in project or local settings (.claude/settings.json, .claude/settings.local.json) so a repository cannot grant itself auto mode. Set it in ~/.claude/settings.json instead. The --permission-mode CLI flag overrides this setting for a single session

その他の有効化方法:

  • CLI: claude --permission-mode auto
  • セッション中の切り替え: Shift+Tab(default → acceptEdits → plan → auto のサイクル)

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

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

対象ツール

モード Bash Edit/Write MCP WebFetch
default 毎回確認 毎回確認 毎回確認 毎回確認
acceptEdits 毎回確認 自動承認 ❌対象外 毎回確認
auto 自動判定 自動判定 ✅自動判定 自動判定
bypassPermissions 全スキップ 全スキップ 全スキップ 全スキップ

💡 acceptEdits はファイル編集のみ自動承認。MCP ツールは auto mode でないと自動承認されない。

検出対象

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

既存の権限ルールとの関係

  • permissions.deny ルールはクラシファイアより優先される
  • Auto Modeが許可しても、denyルールに一致すればブロック
  • パイプ・チェーン(&&, ||, ;, |)は各サブコマンドを個別にチェック
{
  "permissions": {
    "deny": ["Bash(git push --force *)"]
  },
  "defaultMode": "auto"
}

→ Auto Mode有効でも git push --force は常にブロック。

カスタマイズ: autoMode.environment

組織の信頼済みインフラを自然言語で定義できる。クラシファイアはこの定義を参照し、定義外の宛先をデータ流出の潜在的ターゲットと判断する。

{
  "autoMode": {
    "environment": [
      "Trusted cloud: AWS ap-northeast-1 region, PoC account only"
    ]
  }
}

⚠️ 注意: autoMode 設定も共有プロジェクト設定(.claude/settings.json)からはクラシファイアに読み込まれない(セキュリティ上の理由)。個人設定(~/.claude/settings.json または .claude/settings.local.json)またはマネージド設定に置く必要がある。

評判・実績

ポジティブ

  • Anthropic計測: ユーザーは承認プロンプトの93%を結局approveしている → 儀式的な承認が不要に
  • bypassPermissionsの危険性なしに生産性向上
  • 開発環境での利用は十分実用的という評価が主流
  • Reddit初回発表スレッド: 771 upvotes / 133 comments と高い関心

ネガティブ・注意点

  • 偽陽性あり(安全なコマンドがブロックされることがある)
  • トークン消費が若干増加(クラシファイア呼び出し分)
  • Anthropic公式: 「隔離環境での利用を推奨」「リスクを軽減するが完全には排除しない」
  • Research Preview(正式版ではない)

コミュニティの声

"It is not entirely safe, but it is a lot safer than --dangerously-skip-permissions, and previously a lot of people were just clicking yes to requests mostly without thinking, which isn't safe either."

参考リンク

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?