Auto Modeの設定を確認したいのに、どのコマンドを打てばいいのか分かりにくい状態が続いています。この記事では実際に使える4つのサブコマンドを実機で検証し、どれをいつ使うのか、設定はどのファイルに書くのかまで整理します。
先にお伝えします。auto-mode-setup や /auto-mode-setup というコマンドは存在しません。
Claude Code のチェンジログ全文(524KB)、公式ドキュメント、そして手元の v2.1.220 の claude auto-mode --help のいずれにも該当するコマンドはなく、code.claude.com/docs/en/auto-mode-setup も404を返します。
実際に使えるのは、この記事で解説する config / defaults / critique / reset の4つです。設定を確認したいなら claude auto-mode config が目的のコマンドである可能性が高いです。
Claude Code の Auto Mode は、実行前に専用の分類器がアクションを審査する権限モードです。2026年8月14日から Pro・Max・Team プランの新規セッションで既定になりました。
設定そのものは JSON に書きますが、「いま何が効いているのか」を確認する手段が用意されていることはあまり知られていません。まずそこから見ていきます。
使えるサブコマンドは4つ
手元の v2.1.220 で claude auto-mode --help を実行した結果です。
Usage: claude auto-mode [options] [command]
Inspect or reset auto mode classifier configuration
Commands:
config Print the effective auto mode config as JSON
critique [options] Get AI feedback on your custom auto mode rules
defaults [options] Print the default auto mode environment, allow,
soft_deny, and hard_deny rules as JSON
reset [options] Reset auto mode configuration to the shipped defaults
| コマンド | 用途 |
auto-mode config | いま実際に効いているルールを出力する。自分の設定があればそれを反映し、無い項目は既定値で埋まる |
auto-mode defaults | 出荷時の既定ルールを出力する。自分の設定は反映されない |
auto-mode critique | 自作したルールにAIがレビューをくれる。曖昧・冗長・誤検知を招きやすい記述を指摘する |
auto-mode reset | ユーザー設定から autoMode セクションを削除して初期化する |
config と defaults の違い
この2つは紛らわしいので、実際に両方を実行して比較しました。
claude auto-mode config > config.json
claude auto-mode defaults > defaults.json
カスタムルールを設定していない環境では、両者は完全に一致しました。どちらも61,641バイトで、4つのキーすべてが同一件数・同一内容です。
| キー | config | defaults |
allow(許可) | 17件 | 17件 |
soft_deny(条件付きブロック) | 65件 | 65件 |
hard_deny(無条件ブロック) | 1件 | 1件 |
environment(環境情報の枠) | 20項目 | 20項目 |
設定を書いたあとの確認には config を使ってください。自分や組織の設定が正しく反映されているか、"$defaults" がどう展開されたかが分かります。
defaults は「そもそも標準ではどうなっているか」を調べる用途です。設定を何も書いていない段階では、両者の出力は同じになります。
ルールを1件だけ読む
61,641バイトのJSONを毎回全部読むのは現実的ではありません。--label を使えば、ラベルの先頭一致で絞り込めます(v2.1.208以降)。
claude auto-mode defaults --label 'Git Destructive'
実行すると、該当セクションだけに中身が入り、他は空配列で返ります。
{
"allow": [],
"soft_deny": [
"Git Destructive [named+specifics — **must name:** the destructive
operation and its target]: Force pushing (`git push --force`), ..."
],
"hard_deny": [],
"environment": []
}
一致するラベルが無い場合は、4つとも空配列が返るだけでエラーにはなりません。ブロックされた直後に、該当ルールの全文をピンポイントで読むのがいちばん効率的な使い方です。
設定はどのファイルに書くのか
ここを間違えると、書いたのに反映されないという状態になります。公式ドキュメントによれば、分類器が autoMode を読むスコープは3つです。
| スコープ | ファイル |
| 個人 | ~/.claude/settings.json |
| 組織全体 | 管理設定(managed settings) |
| 実行単位 | --settings フラグ/Agent SDK のインラインJSON |
分類器は .claude/settings.json と .claude/settings.local.json の autoMode を読みません。どちらもリポジトリ内にあるため、チェックインされたリポジトリやビルド手順が自前の許可ルールを注入できてしまうからです。
v2.1.207 より前は .claude/settings.local.json も読んでいました。そこに autoMode を書いている場合は ~/.claude/settings.json へ移してください。
CLAUDE.md も分類器に読まれます
見落とされがちですが、分類器は Claude 自身が読むのと同じ CLAUDE.md の内容を読みます。つまりプロジェクトの CLAUDE.md に「force push は絶対にしない」と書けば、Claude と分類器の両方に同時に効きます。
プロジェクト固有の慣習や振る舞いのルールは、JSONではなく CLAUDE.md に書くほうが素直です。
既定を残したまま自分の項目を足す
配列に "$defaults" という文字列を入れると、その位置に既定エントリが展開されます。自分の項目は前後どちらにも置けます。
{
"autoMode": {
"environment": [
"$defaults",
"**Trusted internal domains**: internal.example.com"
]
}
}
各スコープのエントリは合成されます。開発者は environment・allow・soft_deny・hard_deny に個人の項目を追加できますが、管理設定が与えたエントリを削除することはできません。
ただし公式ドキュメントは、許可ルールはブロックルールの例外として働くため、開発者が追加した allow が組織の soft_deny を上書きしうると明記しています。合成は加算であって、厳密なポリシー境界ではないということです。
ユーザーの意図や分類器の設定に関係なく絶対に実行させたくない操作は、管理設定の permissions.deny を使ってください。分類器が呼ばれる前にブロックされ、上書きできません。
自作ルールをAIにレビューさせる
critique は、他の3つに比べてほとんど知られていないサブコマンドです。
claude auto-mode critique
自作した allow・soft_deny・hard_deny のルールをレビューし、曖昧なもの、冗長なもの、誤検知を招きやすいものを指摘します。--model オプションで使用モデルを指定することもできます。
Auto Mode のルールは自然言語の散文で書くため、書き手の意図どおりに分類器へ伝わるとは限りません。組織向けにルールを整備するなら、配布前にこのコマンドを通しておく価値があります。
設定を初期化する
カスタマイズを破棄して出荷時の状態に戻すコマンドです(v2.1.212以降)。
claude auto-mode reset
削除する内容を要約表示したうえで確認を求めます。--yes(または -y)で確認を省略できます。
変更されるのは ~/.claude/settings.json のみです。管理設定や --settings フラグ由来の autoMode ルールは残ったまま適用され続けます。組織で配布されたルールを個人の操作で外すことはできません。
よくある質問
まず書いた場所を確認してください。プロジェクト内の .claude/settings.json と .claude/settings.local.json の autoMode は読み込まれません。~/.claude/settings.json に移したうえで claude auto-mode config を実行し、意図した内容になっているか確かめてください。
autoMode.environment の20項目が未設定である可能性が高いです。信頼するリポジトリ・内部ドメイン・クラウドバケット・内部パッケージレジストリなどを登録すると、分類器が「外部」と判定する範囲が狭まり、誤検知が減ります。
拒否されたアクションは /permissions の Recently denied タブに記録されます。該当ルールの全文は claude auto-mode defaults --label '<ラベルの先頭>' で読めます。ルールの一覧と分類はAuto Modeは何をブロックするのか|全83ルールと解除方法にまとめています。
claude --version でバージョンを確認してください。--label は v2.1.208以降、reset は v2.1.212以降が必要です。この記事は v2.1.220 で検証しています。
まとめ
auto-mode-setupというコマンドは存在しない。実際に使えるのはconfig/defaults/critique/resetの4つ- 設定後の確認は
config、標準の調査はdefaults。未設定の環境では出力は同一 --labelでルールを1件だけ取り出せる(v2.1.208以降)- 設定は
~/.claude/settings.json・管理設定・--settingsの3スコープ。プロジェクト内の設定ファイルは読まれない - CLAUDE.md も分類器に読まれるので、振る舞いのルールはそちらに書くほうが素直
- 絶対に許可したくない操作は
permissions.deny。分類器より前に効き、上書きできない
まず claude auto-mode config を実行して、自分の環境で何が効いているかを見てみてください。何も設定していなければ出荷時の既定がそのまま表示されるはずで、それが分かるだけでも、次に何を足せばいいかの判断がしやすくなります。


