skipAutoPermissionPromptでauto mode案内の初回表示を止める設定
skipAutoPermissionPromptはauto modeの一度きりの案内通知を消す設定です。効く範囲はユーザー設定・管理設定に限られ、組み込みの既定起動による通知には効きません。
skipAutoPermissionPromptは、Claude Codeがautoモードに初めて入ったときに一度だけ出す案内通知を省略する設定キーです。Boolean型で、trueにすると通知を省きます(falseは未設定と同じ扱いです)。ユーザー設定か管理設定にしか書けません。
skipAutoPermissionPromptとは — 何を消して何を消さないか
skipAutoPermissionPromptが消すのは、自分の設定やモードセレクターを使ってautoモードに自分から入ったときに出る、一度きりの案内通知だけです。組み込みの既定値がセッションを最初からautoモードで起動したときの通知には、このキーは効きません(この2つの通知がどう決まるかは次の見出しで説明します)。
Claude Codeはこの通知を一度出すと表示済みだったことを記録します。skipAutoPermissionPromptが意味を持つのは、まだその通知が出ていない環境に限られます。
{
"skipAutoPermissionPrompt": true
}falseに設定するのは未設定と同じ扱いで、他のどの設定ファイルもtrueにしていなければ通知は一度出ます。
autoモードの起動経路によって通知の種類が決まる
新規セッションの開始モードは、次の順で最初に条件に合ったものが採用されます。
--permission-modeフラグ、または--dangerously-skip-permissions- 設定ファイルの
permissions.defaultMode - 組み込みの既定値
1番目や2番目でユーザー自身が明示的にautoを指定した場合は、skipAutoPermissionPromptが対象にする「自分で入った」側の通知が出ます。3番目、つまり組み込みの既定値がセッションを最初からautoモードで起動したときだけ、別の「組み込みの既定起動」の通知が出ます。skipAutoPermissionPromptが効くのは前者だけで、後者の通知はこのキーでは消せません。同じautoモードでも、どの経路で入ったかによって出る通知が違うという点が、このキーの効き方を分かりにくくしています。
フラグ・設定ファイル・組み込みの既定値のいずれがautoを選んでも、そのセッションでauto mode自体を利用できなければ、Claude CodeはManualモードで起動します。この場合はどちらの通知も出ません。defaultMode: "auto"を書いたのに通知を一度も見ていないときは、まずそのセッションでauto modeの利用条件(後述)を満たしているかを確認します。
v2.1.283以降で「組み込みの既定起動」に出会う人が増えた
Claude Code v2.1.283より前は、組み込みの既定値がauto modeを選ぶのはPro・Max・Teamプランのセッションだけで、それ以外のプランやAPI直結の利用者はManualモードから始まっていました。v2.1.283以降は全プラン・全プロバイダーのインタラクティブなターミナルセッションとVS Code拡張で、組み込みの既定値がauto modeになります。これまでauto modeの通知を見たことがなかった開発者が、バージョンアップだけで初めて「組み込みの既定起動」の通知に出会う機会が増えました。組織の管理者にとっては、いつ・誰にこの通知が出るのかを事前に把握しておくと、ロールアウト計画を立てやすくなります。
組み込みの既定値がユーザーを初めてautoモードで起動したとき、Claude Codeは権限モードの公式ドキュメントへのリンク付きの通知を出します。ターミナルではセッション冒頭に一度だけ、VS Code拡張では新規会話画面のカードとして、ユーザーが消すまで残ります。
やり方 — どこに書けば効くか
設定できる場所はユーザー設定または管理設定に限られます。プロジェクトの.claude/settings.jsonやチーム共有の設定ファイルには書けません。つまりリポジトリ側からチームメンバー全員の通知を一律で消すことはできず、各自の~/.claude/settings.jsonに書くか、組織の管理設定に置く必要があります。
設定ファイルの効く範囲は、Claude Code全体で4段階に分かれています。
| ファイル | 効く範囲 | このキーを書けるか |
|---|---|---|
~/.claude/settings.json(User) | 効く範囲自分が動かすすべてのプロジェクト | このキーを書けるか書ける |
.claude/settings.json(Shared project) | 効く範囲そのフォルダで作業する全員 | このキーを書けるか書いても無視される |
.claude/settings.local.json(Project local) | 効く範囲自分・このプロジェクトだけ | このキーを書けるか書いても無視される |
managed-settings.jsonなど(Managed) | 効く範囲組織が配布した全端末・全プロジェクト | このキーを書けるか書ける |
skipAutoPermissionPromptは上位2段(User・Managed)にしか反応しません。プロジェクト単位で「このリポジトリを開いたときだけ通知を消す」ような使い方はできない設計です。
管理設定に置けば、組織としてauto modeの案内をすでに周知済みの開発者に対して、通知を出さないようにできます。個人の~/.claude/settings.jsonに書けば、複数の端末やクラウドセッションを行き来する開発者が、端末ごとに同じ通知を何度も見る手間を省けます。管理設定はmanaged-settings.jsonファイルのほかMDMポリシーやclaude.aiコンソールからのserver-managed設定でも配布でき、--settingsで渡すユーザー側の値より優先順位が高くなります。
skipDangerousModePermissionPromptとの違い
名前も見た目も似た設定にskipDangerousModePermissionPromptがあります。対象はまったく別です。
| 設定キー | 対象 | Scope | 設定できる値 |
|---|---|---|---|
skipAutoPermissionPrompt | 対象自分でauto modeに入ったときの案内通知(1回のみ) | ScopeUser or managed | 設定できる値true / 未設定 |
skipDangerousModePermissionPrompt | 対象bypassPermissionsモードに入る前の確認ダイアログ | ScopeUser, local, or managed | 設定できる値true / 未設定 |
disableAutoMode | 対象autoモードという選択肢自体の有無 | ScopeAny file | 設定できる値文字列"disable" |
skipDangerousModePermissionPromptは、--dangerously-skip-permissionsまたはdefaultMode: "bypassPermissions"でbypassPermissionsモードに入る直前の確認ダイアログを省略するための設定です。Claude Codeはユーザーがこのダイアログを一度承認すると、ユーザー設定にこの値をtrueで自動的に書き込みます。auto modeの案内通知とは発生タイミングも対象モードも別物なので、名前の類似だけで混同すると意図と逆の設定を消してしまいます。
disableAutoModeは通知そのものではなく、autoモードをShift+Tabの巡回サイクルから完全に取り除く別レイヤーの設定です。autoモードを使わせたくない組織はdisableAutoModeを、autoモードは使わせるが通知だけ省きたい組織はskipAutoPermissionPromptを、と役割が分かれます。Claude CodeのdisableAutoMode設定ではこのdisableAutoMode単体の挙動と落とし穴をまとめています。
状況別にどれを使うかは次のとおりです。
| やりたいこと | 使う設定 |
|---|---|
| 通知の内容を全員に一度は見せたい | 使う設定何も設定しない(既定のまま) |
| 社内研修などで周知済みなので案内を省きたい | 使う設定skipAutoPermissionPromptを管理設定またはユーザー設定にtrue |
autoモード自体を組織から使わせたくない | 使う設定disableAutoModeを管理設定に"disable" |
bypassPermissionsモードの確認だけ省きたい | 使う設定skipDangerousModePermissionPromptをユーザー・ローカル・管理設定にtrue |
設定が読み込まれているか確認する
skipAutoPermissionPromptを書いたのに通知が出続ける場合、まず設定ファイルがそもそも読み込まれているかを確認します。Claude Code内で/statusを実行すると、Setting sources行にそのセッションが読み込んだ設定ファイルが一覧されます。
/status管理設定が効いている場合は、どの経路(managed-settings.jsonファイル・MDMポリシー・claude.aiコンソールからのserver-managed設定など)で届いたかが括弧書きで表示されます。~/.claude/settings.jsonに書いたはずの値が反映されない場合は、この行を見て管理設定側がより強い優先順位で別の値を上書きしていないかを確認します。管理設定は、ファイルベースなら起動時とファイル変更時に、MDMやserver-managed設定なら起動時と一定間隔のポーリングで更新されるため、反映までタイムラグが生じることがあります。
組み込みの既定起動で出る通知の条件
ここまでの内容は自分でautoモードに入ったときの通知です。ここからはskipAutoPermissionPromptでは消せない側、組み込みの既定起動による通知が出る条件を見ます。この通知が出るのは、次の条件がすべてそろったときだけです。
- Claude Code v2.1.228以降(macOS・Linux・WSL)またはv2.1.233以降(Windows)を使っている
- そのセッションが組み込みの既定値によって
autoモードで起動している - そのアカウント・端末でこの種類の通知がまだ一度も表示されていない
Pro・Max・Teamプランでは、~/.claude/settings.jsonにauto以外のdefaultModeが設定されていて他のどの設定ファイルもdefaultModeを指定していない場合、Claude Codeは別途「autoモードに変更しますか」という確認を一度だけ表示します。ここで断ると設定はそのまま残ります。この切り替え確認はskipAutoPermissionPromptとは別物で、案内通知・切り替え確認・bypassPermissions確認は、それぞれ独立した一度きりのプロンプトとして扱われます。
auto mode自体が使えるかどうかにも条件があります。プランの制限はありませんが、モデルはAnthropic APIやClaude Platform on AWS上ではOpus 4.6以降・Sonnet 4.6以降・Fableモデルに限られ、Amazon Bedrock・Google CloudのAgent Platform・Microsoft Foundry・サインイン済みのClaude apps gatewayセッションではSonnet 5・Opus 4.7以降・Fableモデルだけがサポートされます。組織側が管理設定でpermissions.disableAutoModeを"disable"にしていれば、そもそもauto modeの選択肢自体がなくなり、どちらの通知も出ません。
よくあるつまずき
- プロジェクトの
.claude/settings.jsonに書いても効かない: ScopeはUser or managedのみです。リポジトリ側の設定ファイルは対象外なので、共有プロジェクト設定に書いても無視されます - すでに通知を見た後に設定しても何も変わらない: Claude Codeは通知を表示した記録を残すため、
skipAutoPermissionPromptは「まだ通知を見ていない」環境にしか作用しません。過去の表示済み通知をさかのぼって消す機能ではありません - v2.1.283へのアップグレード後に急に通知が増えた: これは不具合ではありません。組み込みの既定値がauto modeになるプランが広がったことで、それまで見えていなかった「組み込みの既定起動」の通知に該当するセッションが増えただけです。
skipAutoPermissionPromptはこの通知を消せませんが、~/.claude/settings.jsonでpermissions.defaultModeにautoを明示すれば「自分で入った」側の通知に切り替わり、skipAutoPermissionPromptで省けるようになります。autoモード自体を使わせたくない場合に限りdisableAutoModeを検討します skipDangerousModePermissionPromptと取り違える: どちらも「一度きりの確認を消す」設定ですが、片方はauto mode案内、もう片方はbypassPermissionsモードの確認ダイアログです。設定ファイルを見返すときは対象のモード名まで確認します