ユウ

Claude Codeは、今は自動モードで動くと聞きました。でも、危ない操作まで勝手に進んでしまわないか心配です。

モカ

最初に「pushしないで」ってお願いしておけば、それで止まるんじゃない?

おんじ

会話で伝えたお願いは、作業の途中で消えてしまうことがあります。公式の説明でも、自動モードは確認を減らすものの、安全を保証するものではないとされています。

ユウ

そうなんですね。前に記事を見ながら書いた設定は、消さずに残しておいたほうがいいんでしょうか?

おんじ

私は、許可待ちを減らすのは自動モードに任せ、どのモードでも止めたい操作は設定ファイルのルールに、作業の前提はCLAUDE.mdに書き分けています。本記事では、今のモードの確かめ方と以前の設定の見直し方、止めたい操作の書き方を整理しましたので、一緒に見ていきましょう。

Claude Codeは今は自動モードで動くため、許可待ちで作業が止まることは減りました。ただ、危ない操作まで任せきりにしてよいかは別の話です。確実に止めたい操作だけは自分でルールに書き、作業の前提をCLAUDE.mdに書いておけば、自動モードの手軽さを保ったまま安心して使えます。ここからは、自動モードの確かめ方と以前の設定の見直し方、私が「編集を受け入れる」モードから自動モードに切り替えた話、自動モードが止める操作と止めきれない場面、deny・askルールとCLAUDE.mdの書き方、Claude Codeに入力してはいけない情報を順に見ていきます。

本記事は特定の設定を推奨するものではありません。自分の作業に合わせてモードとルールを選ぶための判断材料をお渡しするのが目的です。なお、この記事は2026年4月の公開時の内容を、自動モードが標準になったことに合わせて全面的に書き直しています。

この記事でわかること

  • 自動モードに任せても、危ない操作を確実に止める方法
  • 以前に書いた設定(settings.json)を残すか、見直すかの判断

Claude Codeの許可待ちは、今は自動モードで減る

今の Claude Code は、新しいバージョンなら何も設定しなくても自動モードで起動します。自動モードでは、作業フォルダ内のファイルの読み取りや編集はそのまま進みます。コマンドの実行などは、チェック専用のAI(公式では classifier と呼ばれる判定役)が実行前に確認し、問題がなければ許可を求めずに進みます。判定役も Claude Code の仕組みの一部で、他社のAIではありません。作業をする Claude とは別に、実行しようとしている操作だけをチェックする役割です。

いま自分がどのモードで動いているかは、画面で確かめられます。

  • CLI(ターミナル):ステータスバーに ⏵⏵ auto mode on と表示される
  • VS Code:入力欄の下のモード表示が「Auto」になっている
  • デスクトップアプリ:送信ボタンの横のモード選択で「自動」を選ぶ(選んだモードはフォルダごとに記憶されます)

「自動」(VS Code では「Auto」)になっていない、または選べない場合は、バージョンや利用条件が当てはまっていない可能性があります。気になる方は下の条件を確認してください。

▼自動モードで起動する条件(バージョン・モデル・プラン)を見る

2026年9月26日時点の公式ドキュメントでは、標準で起動するモードは次のとおりです。

使い方・バージョン 起動時のモード
CLI・VS Code 拡張機能で v2.1.283 以降 プランを問わず自動モード
v2.1.228 以降(ネイティブの Windows は v2.1.233 以降)で、v2.1.283 より前 Pro・Max・Team プランは自動モード、それ以外は手動
それより前のバージョン 手動(従来の確認モード)
claude -p などの非対話での実行 手動

さらに、自動モードは次の条件を満たすときだけ使えます。条件を満たさないと、自動モードが選ばれていても手動で起動します。

  • 対応モデルを使っている:Anthropic に直接つなぐ通常の使い方なら、Opus 4.6 以降・Sonnet 4.6 以降など。Sonnet 4.5・Opus 4.5・Haiku などの古いモデルでは使えません
  • 組織で無効にされていない:Team・Enterprise プランでは、管理者が自動モードを無効にできます

よく使う3つのモード

Claude Code には6つのモードがあります。ふだんの作業で選ぶのは、次の3つです。

モード 確認なしで進むもの 向いている場面
手動(設定値は default) 読み取りだけ すべての操作を自分で確認したいとき
編集を受け入れる(設定値は acceptEdits) 読み取り、作業フォルダ内のファイル編集、よく使うファイル操作コマンド(mkdir・touch・mv・cp など) 変更を後から見直す前提で作業するとき
自動(設定値は auto) すべて。ただしコマンドの実行などは判定役が実行前にチェックする 長い作業、確認の多さに疲れたとき

残りの3つは特殊な用途向けで、ふだんは気にしなくてかまいません。

モード 確認なしで進むもの 向いている場面
プラン(設定値は plan) 読み取り(自動モードが使える環境では、判定役が承認したコマンドも)。編集は計画を承認するまで止まる 変更の前に調べて計画を立てさせたいとき
dontAsk(CLI のみ) 読み取りと、事前に許可したツールだけ。それ以外は聞かずに拒否 CI やスクリプトでの自動実行
権限をバイパス(設定値は bypassPermissions) すべて(安全チェックなし) 隔離したコンテナ・仮想マシンのみ

モードは作業の途中でも切り替えられます。

  • CLI:Shift+Tab で順に切り替え
  • VS Code:入力欄の下のモード表示をクリック
  • デスクトップアプリ:送信ボタンの横のモード選択
  • CLI で許可を聞かれたその場で:手動や「編集を受け入れる」のまま Bash コマンドの許可を聞かれたとき、「Yes, and switch to auto mode」を選ぶと、そのコマンドを許可したうえで自動モードに切り替わります(v2.1.247 以降。PowerShell 経由のコマンドの確認では表示されません)

以前の設定が残っている人は見直す

この章は、以前この記事のプロンプトで設定ファイルを作った方向けです。初めて Claude Code を設定する方は、次の章まで読み飛ばしてかまいません。

旧版のプロンプトで settings.json を作った方は、自動モードで起動していない可能性があります。旧版のプロンプトは、全プロジェクト共通の設定ファイル(~/.claude/settings.json)に "defaultMode": "acceptEdits" を書き込むものでした。設定ファイルに defaultMode があると、標準の自動モードではなく、そのモードで起動します。Pro・Max・Team プランでは Claude Code が一度だけ「自動モードに変えますか?」と聞きますが、断れば設定はそのまま残ります。

旧版のプロンプトで入れた設定のうち、見直したいのは次の3つです。allow は「確認なしで実行してよい操作」を並べるルールの一覧です。

旧設定 今どうなるか 見直し方
settings.json の "defaultMode": "acceptEdits" 毎回「編集を受け入れる」モードで起動する 自動モードで始めたいなら、この行を消すか "auto" に書き換える(ほかの設定ファイルで指定していなければ、消すと標準の自動モードで起動します)
settings.json の allow にある "Bash(*)"(すべての Bash コマンドを許可) 自動モードの間は自動的に外される。自動モード 以外のモードに戻すと、すべての Bash コマンドが確認なしで通る状態に戻る 自動モードで使うなら消しておく。ほかのモードに切り替えたときも、コマンドの前に確認が入るようになる
CLAUDE.md の「ローカルファイルの読み取り・編集・新規作成は確認不要で実行してよい」「git の add・commit・push(force なし)は確認不要で実行してよい」 自動モードでは書かなくても、作業フォルダ内の編集や通常の push は確認なしで進む。一方で、判定役のAIも CLAUDE.md を読むため、push を確認したい人には逆の指示になる 2行とも消す

"defaultMode": "auto" と書くときは、全プロジェクト共通の ~/.claude/settings.json に書きます。プロジェクトフォルダの .claude/settings.json や .claude/settings.local.json に書いても、自動モードは反映されないと公式に明記されています。

補足:「権限をバイパス」は隔離環境専用

「権限をバイパス」は、すべての確認と安全チェックを省くモードです。自動モードとの違いは、実行前に操作を確かめる判定役がいないことです。

公式ドキュメントは、このモードをコンテナや仮想マシンのように隔離された環境だけで使うよう警告しています。読み込んだ文章に紛れた悪意ある指示(プロンプトインジェクション)や、意図しない操作を防ぐ仕組みはないとも明記しています。確認を減らしたいだけなら、公式も自動モードを使うよう案内しています。

  • CLI:起動時に --dangerously-skip-permissions を付ける(このモードを有効にせずに始めたセッションから、途中で切り替えることはできません)
  • VS Code:拡張機能の設定で「Allow dangerously skip permissions」をオンにする
  • デスクトップアプリ:設定の「バイパス権限モードを許可」をオンにする(Pro・Max プランの場合)
  • deny ルールに一致する操作は、このモードでも止まります

「編集を受け入れる」モードから自動モードに切り替えた話

私も以前は「編集を受け入れる」モード + deny リスト + CLAUDE.md で運用していて、今は自動モードに切り替えています。まずは、この記事を最初に書いた当時の話からです。

当時:「許可を取らないで」とお願いしても変わらなかった

使い始めたころは、1度指示を出すと10回程度は確認(許可)を求められ、PCに張り付いていないと作業が進みませんでした。そこで、毎回表示される許可ダイアログに対して「許可を取らないようにしてください」と Claude Code に直接お願いしていました。しかし、それでも許可を求めてきます。何度お願いしても状況は変わりませんでした。

公式ドキュメントには、許可のルールは Claude Code の本体が判定するもので、会話や CLAUDE.md での指示は Claude が「何をしようとするか」を変えるだけ、と書かれています。ただし自動モードの判定役は、会話で伝えた指示も判断の参考にします(後の章で扱います)。

そこで Claude Code 自身に聞いてみました。

「毎回許可を求めてくるのを減らしたい。何かいい方法はないか?」

提案されたのが、settings.json と CLAUDE.md への設定でした。「この2つのファイルに書いておけば、セッションをまたいでも設定が有効になる」という説明とともに、具体的な設定内容まで出してくれました。

さらに、ただ「何でも許可」にするのではなく、「こういう操作のときは確認を取って」という条件もあわせて設定するよう勧められました。たとえば「課金が発生しうる操作の前は確認する」「APIキーを外部に送信しようとしたら警告を出す」といった内容です。

その提案どおりにファイルを書いてもらったところ、許可ダイアログはほぼ出なくなり、止まってほしい場面では確認が入る環境になりました。設定ファイルの存在を調べたのではなく、Claude Code に相談したら Claude Code 自身が答えを教えてくれた——これが当時の実態です。

今:自動モードに切り替えて

その後、自動モードに切り替えました。

「編集を受け入れる」モードで使っていたころも、あまり違和感はありませんでした。おそらく、もともと自動で進むような設定をしていたからだと思います。

それでも自動モードにすると、やっぱり楽になります。

今は、Claude Code に設定を入れたり自動モードを使ったりすることで、ほとんど許可を求められなくなりました。指示を出して席を離れ、用事をしていたら、指示した作業を終えてくれている。今の使い方は、そんなイメージです。

ここからは、自動モードでも自分で決めておく部分を見ていきます。


自動モードが止めてくれる操作と、止めきれない場面

自動モードは危なそうな操作を実行前に止めてくれますが、公式は「安全を保証するものではない」と明記しています。何を止めて、どこに穴が残るのかを知っておくと、自分で書くべきルールが決まります。

既定で止める操作・通す操作

判定役のAIは、主に次のような操作を止めます。

  • 依頼した範囲を超える操作
  • 知らないサーバーやクラウドなど、見覚えのない環境への操作
  • Claude が読んだ文章に紛れた悪意ある指示に、誘導されたように見える操作

公式ドキュメントに挙がっている例から、個人の作業に関係しそうなものを抜き出しました。

既定で止める操作(例)

  • ダウンロードしたコードをそのまま実行する(curl | bash など)
  • 機密データを外部に送る
  • 本番環境へのデプロイ
  • クラウドストレージの大量削除
  • git の force push
  • セッション開始前からあったファイルを、取り返しがつかない形で消す
  • git reset --hard など、コミットしていない変更を捨てる操作

既定で通す操作(例)

  • 作業フォルダ内のファイル操作
  • 読み取りだけの Web アクセス
  • 作業中のリポジトリへの通常の push
  • .env ファイルを読み、そこにある認証情報を対応する API に送る操作

通常の git push と .env の読み取りは、自動モードでは確認なしで通ります。push の前に中身を見たい人や、APIキーを Claude に読ませたくない人は、次の章で紹介するルールを足しておく必要があります。

会話で伝えた「止めて」は消えることがある

自動モードでは、会話で「pushしないで」「デプロイ前に確認させて」と伝えると、判定役はそれを止める合図として扱います。

ただし、この指示はルールとして保存されません。判定役は毎回、会話の記録から指示を読み直しています。そのため、会話が長くなって要約されると、その指示が消えることがあります。公式は、確実に止めたいなら deny ルールを書くよう案内しています。

止められ続けたときは確認に戻る

判定役が操作を3回連続、またはセッション内で合計20回止めると、自動モードは一時停止します。そこからは Claude Code が確認を求める形に戻り、確認に応じて許可すると自動モードが再開します。

自動モードは、許可の確認を減らすためのものです。公式の注意書きも、全体の方向性を信頼できる作業に使い、重要な操作の確認の代わりにはしないよう求めています。

知らないファイルが置かれるフォルダで起動しない

Claude Code は、起動したフォルダにある CLAUDE.md を作業の前提として読み込みます(CLAUDE.md がなければ AGENTS.md を読み込みます)。他人が置いたファイルがあるフォルダで起動すると、そこに書かれた指示にも従おうとします。

2026年10月、セキュリティ会社の Forever Security が、この仕組みを使った手口を報告しました。

  • 同社によると、細工された Web ページを開くと、クリックしなくてもダウンロードフォルダに CLAUDE.md(Codex 向けには AGENTS.md)が保存される
  • 利用者がそのフォルダで Claude Code を起動すると、ファイルに紛れた指示に従い、通信先(ANTHROPIC_BASE_URL)を攻撃者のサーバーに向ける設定を .claude/settings.json に書き込もうとする
  • 書き込みが通ると、ログイン情報(認証トークン)が攻撃者に渡り、次に同じフォルダで起動したときには攻撃者の指示でコマンドが実行されるおそれがある

同社の検証では、Claude Code が設定ファイルの書き込みまで進んだのは約半分でした。この数字は同社が自ら行った検証によるもので、試した回数や Claude Code のバージョンは記事に書かれていません。同社は、特定の製品の不具合ではなく、フォルダにある指示を読んで動くAIエージェントの仕組みから来る問題だとしています。

設定ファイルが入っている .claude フォルダは、公式が「保護されたパス」としている場所です。手動モードと「編集を受け入れる」モードでは書き込みの前に確認が出て、自動モードでは判定役が審査します。ただし「権限をバイパス」モードでは、確認なしで書き込まれます。

なお、次の章で紹介する deny ルールのひな型には、この手口を止めるルールは入っていません。deny で .claude フォルダへの書き込みを止めることもできますが、スクリプトを通した書き込みなどは防げず、CLAUDE.md が読み込まれること自体も止められません。

同社がまず挙げている対策は、ダウンロードフォルダでAIエージェントを起動しないことです。個人の使い方に置き換えると、次の4つになります。

  • ダウンロードフォルダなど、自分の知らないファイルが置かれる場所で Claude Code を起動しない。作業は自分で作った作業用フォルダで始める
  • 見覚えのない CLAUDE.md・AGENTS.md があったら、起動する前に中身を開いて確かめる。対話形式で起動すると、まだ信頼していないフォルダでは「このフォルダを信頼するか」の確認が出るので、自分で作ったフォルダでなければ信頼しない
  • .claude/settings.json に通信先(ANTHROPIC_BASE_URL)を書き込む確認が出て、自分で頼んだ覚えがなければ許可しない。「このセッションの間は .claude フォルダの編集を許可する」も選ばない
  • 心当たりがあれば、.claude/settings.json に見覚えのない ANTHROPIC_BASE_URL がないか確かめる。同社は、書き換えられていた場合は認証情報を取り直すよう勧めています

deny・ask ルール:止めたい操作は自分で書く

自動モードが標準の今、settings.json に自分で書いておきたいのは、「どのモードでも止めたい操作」の deny ルールと、「実行前に確認したい操作」の ask ルールです。

  • deny:一致した操作は実行させない。Claude Code 本体が止めるので、「権限をバイパス」を含むすべてのモードで止まる
  • ask:一致した操作の前に確認を出す。自動モードでも確認が出る

deny と ask のしくみ

ルールは deny → ask → allow(確認なしで実行してよい操作)の順に照合され、最初に一致したものが結果になります。狭い allow ルールがあっても、広い deny ルールに一致すれば止まります。deny はどの設定ファイルに書いても、ほかの設定ファイルの allow より先に照合されます。

ただし、deny も万能ではありません。Bash のルールは「Claude が書いたコマンドの文字列」と照合します。たとえば git push を deny にしても、git -C . push のような別の書き方のコマンドには一致しません(公式ドキュメントに載っている例です)。公式も、deny・ask ルールは Claude がふだん書く形のコマンドを止めるもので、そのプログラムの使用自体を封じるものではないと説明しています。deny は会話での「止めて」よりは確実ですが、自動モードの判定役と組み合わせて、二重に止める位置づけで使います。

Windows で使う場合は、PowerShell 用のルールも必要になることがあります。claude.ai や Console のアカウントでは、Windows で PowerShell ツールが標準でオンになっていて、Claude はコマンドを主に PowerShell 経由で実行します。その場合、Bash(git push *) のような Bash 用のルールは一致しません。PowerShell(git push *) のように、同じ内容を PowerShell 用のルールでも書いておきます(ルールの形は Bash 用と同じです)。

設定ファイルの置き場所は次のとおりです(Windows の場合)。

  • 全プロジェクト共通の設定:C:\Users\(ユーザー名)\.claude\settings.json
  • 特定プロジェクトだけの設定:プロジェクトフォルダ直下の .claude\settings.json

.claude はドット始まりの隠しフォルダですが、場所を自分で探す必要はありません。次のプロンプトで、Claude Code が正しい場所に書き込みます。

コピペ用プロンプト:deny・ask ルールを書いてもらう

以下をコピーして、Claude Code のチャットに貼ってください。止める操作は例なので、自分の作業に合わせて書き換えてください。

~/.claude/settings.json の permissions に、次の方針で deny ルールと ask ルールを追加してください。

【進め方】
- 既存の設定は消さずに追記する
- defaultMode は変更しない
- Windows で PowerShell ツールが有効なら、Bash(...) のルールと同じ内容を PowerShell(...) のルールでも追加する
- 書き込む前に、追加するルールの一覧と、それぞれが何を止めるか、どんな書き方のコマンドだと一致しないかを日本語で説明し、私の確認を取る

【deny:どのモードでも実行させない】
- git の force push
- git reset --hard
- .env ファイルの読み取り(どのフォルダの .env も対象にする。例:Read(//**/.env))

【ask:自動モードでも実行前に確認する】
- git push

書き込みが終わったら、Claude Code で /permissions と入力してください。登録されたルールと、それぞれがどの設定ファイルから来ているかを一覧で確認できます。

プロンプトで指定したルールの意味

ルール(例) 何を止めるか 補足
git の force push(deny) リモートの履歴を強制的に上書きする操作 自動モードも既定で止めるが、deny にするとどのモードでも止まる
git reset --hard(deny) コミットしていない変更をすべて捨てる操作 同上
.env の読み取り(deny) APIキーなどを入れた .env ファイルを Claude が読む操作 自動モードは既定で通すため、自分で止める(下の注意も参照)
git push(ask) push 全般 自動モードでは通常の push は確認なしで通るため、push の前に中身を見たい人向け。不要なら外す

.env の deny には、次の注意点があります。

  • 同じファイルの編集・新規作成も止まります。Claude Code に .env を作ってもらうこともできなくなります
  • ファイル名を指定せずに読むコマンドや、スクリプトが内部でファイルを開く場合は止まりません
  • 書き方で対象範囲が変わります。Read(.env) は作業中のフォルダより下の .env だけ、Read(//**/.env) は PC 内のどこにある .env も対象です。全プロジェクト共通の設定に Read(/.env) のような1本スラッシュで書くと、プロジェクトではなく ~/.claude の下を指してしまいます

settings.json にそのまま貼れるひな型

Claude Code に頼まず、自分で設定ファイルに貼りたい場合のひな型です。公式ドキュメントに載っている例をもとに、ここまでの章で扱ったルールをまとめました。

{
  "permissions": {
    "deny": [
      "Bash(rm -rf /*)",
      "Bash(rm -rf ~*)",
      "Bash(git push --force*)",
      "Bash(git push * --force*)",
      "Bash(git push -f*)",
      "Bash(git push * -f*)",
      "Bash(git reset --hard*)",
      "Read(//**/.env)"
    ],
    "ask": [
      "Bash(git push *)"
    ]
  }
}
  • 貼る場所:全プロジェクト共通なら ~/.claude/settings.json(Windows では C:\Users\(ユーザー名)\.claude\settings.json)。すでに permissions がある場合は、deny と ask の中身だけを足します。カッコや「,」の位置がずれると設定ファイルが読み込めなくなるので、不安なら上のプロンプトで Claude Code に書いてもらうほうが確実です
  • force push の行が2本ずつある理由:ルールの途中にある * は、そこに何か1語以上が入る形にしか一致しません。git push * --force* だけだと、git push origin main --force は止まりますが、--force を先に書いた git push --force origin main は止まりません。両方の書き方をふさぐため、2本ずつ書いています
  • 確かめ方:Claude Code で /permissions と入力すると、登録されたルールが一覧で出ます
  • Windows の場合:PowerShell ツールが有効なら、git の行は PowerShell(git push * --force*) のように同じ内容を PowerShell 用にも足します。削除のコマンドは PowerShell では書き方が違う(Remove-Item など)ので、rm -rf の行はそのままでは PowerShell での削除を止めません
  • ask の git push:push の前に中身を確かめたい人向けです。不要なら ask ごと外してください

参考:私が実際に入れている deny

最低限のことしか禁止していないので、参考になるかはわかりませんが、私の設定もお見せします。

この5行は、この記事を最初に書いたとき、Claude Code に「許可待ちを減らしたい」と相談して提案された設定をもとに書いてもらったものです。考え方は「すべてを確認するのではなく、本当に危険な操作だけを禁止する」で、実行されると取り返しがつかない操作だけを選んでいます。

禁止しているコマンド 設定している理由
rm -rf /* パソコンの中身をまるごと消す操作。PC が起動しなくなる
rm -rf ~* 自分のファイル(ホームフォルダ)を全部消す操作
git push * --force* GitHub などにある履歴を強制的に上書きし、ほかの作業を消してしまう操作
git push * -f* 上と同じ操作の省略形
git reset --hard* まだ保存(コミット)していない変更をすべて捨てる操作

なお、この記事を見直すなかで、私の force push の2行は --force を先に書く形(git push --force origin main)には一致しないことに気づきました。気づいたあとで、自分の設定にも git push --force* と git push -f* の2行を足しました(上のひな型と同じ形です)。

使い続けるなかで「これも止めたい」と気づいた操作は、同じように Claude Code に頼んで追記していけば十分です。


CLAUDE.md:作業の前提と、止まって相談してほしい場面を書く

CLAUDE.md は、Claude に作業の前提と振る舞いを伝えるファイルです。許可の範囲を決めるファイルではありません。公式ドキュメントも、Claude は CLAUDE.md を「強制される設定ではなく、文脈として扱う」と説明しています。

それでも書いておく意味はあります。Claude は会話の開始時に CLAUDE.md を読み込み、その内容に沿って動こうとします。さらに自動モードでは、判定役のAIも同じ CLAUDE.md の内容を読んでいます。「どんな操作の前に手を止めて相談してほしいか」を書いておくと、Claude の振る舞いと判定役の判断の両方の材料になります。

置き場所は次の2つです。

  • 全プロジェクト共通:~/.claude/CLAUDE.md
  • 特定プロジェクトだけ:プロジェクトフォルダ直下の CLAUDE.md(または .claude/CLAUDE.md)

コピペ用プロンプト:CLAUDE.md に追記してもらう

以下をコピーして、Claude Code のチャットに貼ってください。

以下の内容を ~/.claude/CLAUDE.md に追記してください。
ファイルがなければ新規作成してください。
すでに同じ内容が書かれている場合は変更不要です。

## 作業の進め方

- 課金が発生しうる操作の前は、実行せずに確認を取る
- 個人情報・パスワード・APIキーを含む可能性のある情報を外部に送る前は、実行せずに警告を出す
- 本番データベースへの変更を行う前は、実行せずに確認を取る

この3項目は、旧版の記事で紹介した CLAUDE.md の内容から、確認を取る条件だけを残し、言い回しを整えたものです。自分の作業で「ここで止まってほしかった」と気づいた場面があれば、Claude Code に「CLAUDE.md にこの一行を追記して」と伝えて書き足していきます。

ただし、CLAUDE.md に書いた「確認を取る」は、Claude がそう振る舞おうとする指示です。Claude Code の本体が止める仕組みではありません。確実に止めたい操作は、CLAUDE.md だけに頼らず deny・ask ルールにも書いておきます。


Claude Codeに入力してはいけない情報

モードやルールを整えても、入力する情報のルールを守らないと別のリスクが生まれます。これは自動モードでも変わりません。

入力してはいけない情報

次の情報は、Claude Code のチャットや CLAUDE.md に書かないでください。

  • 氏名・住所・電話番号・メールアドレスなどの個人情報(自分のものも他人のものも)
  • クレジットカード番号・銀行口座番号・証券口座番号
  • パスワード・PINコード・秘密の質問の答え
  • APIキー・アクセストークン・シークレットキー

なぜリスクがあるのか

Claude Code が情報を直接外部に送るリスクだけでなく、もう一つの経路にも気をつける必要があります。Claude が生成したコード・スクリプト・設定ファイルに、入力した情報が埋め込まれてしまうリスクです。

たとえば「このAPIキーを使ってスクリプトを書いて」と依頼すると、生成されたコードにAPIキーが直接書き込まれる場合があります。そのコードをコミットして公開リポジトリに push してしまうと、GitHub 等で誰でも見られる状態になり、第三者に悪用されるおそれがあります。

また、会話の記録は PC の中(~/.claude/projects/ 以下)に保存されます。共用PCや管理が甘い環境では、この記録ファイルを通じて情報が漏れるおそれがあります。

自動モードにも、秘密情報を公開リポジトリへ push する操作などを止めるチェックはあります。それでも、判定役がすべてを止めてくれるわけではないので、入力しない習慣はモードに関係なく必要です。

APIキーをコードに直接書いてGitHubに公開してしまうNGパターンと、.envファイルで環境変数管理するOKパターンの比較図

APIキーは環境変数で管理する

APIキーが必要な作業は、コードに直接書くのではなく環境変数(.env ファイルや OS の環境変数)に入れます。そのうえで Claude Code には「環境変数から読み込んでください」と指示します。

# Claude への指示例(チャットに直接入力する)
APIキーはソースコードに直接書かないでください。
環境変数(.env ファイル)から読み込む形で実装してください。

こうしておけば、コードが外に出ても、キーそのものは含まれない状態にできます。deny・ask ルールの章のプロンプトで .env の読み取りを deny にしておくと、Claude が .env を開いてキーの中身が会話に出てくる場面も減らせます。


まとめ:許可待ちは自動モードに任せ、止める操作は自分で決める

Claude Code の許可設定について、ポイントを振り返ります。

  • 許可待ちを減らすのは自動モードの役目:今の Claude Code は標準で自動モードから始まる。旧版の acceptEdits・Bash(*)・CLAUDE.md の「確認不要」の行が残っていれば見直す
  • 自動モードに任せきりにしない:判定役が止めるのは既定の範囲の操作で、会話で伝えた「止めて」は要約で消えることがある
  • どのモードでも止めたい操作は deny、確認したい操作は ask:Windows では PowerShell 用のルールも書き、/permissions で中身を確かめる
  • CLAUDE.md は前提と相談してほしい場面を伝えるもの:許可の範囲そのものは変えない
  • 入力してはいけない情報のルールは、モードに関係なく守る

まずは画面のモード表示を見て、いま自動モードで動いているかを確かめてみてください。そのうえで deny・ask のプロンプトを Claude Code に貼り、/permissions で登録されたルールを確認するところまで進めると、止めたい操作を自分で決めた状態で自動モードを使えます。

Claude Code に日々の作業をどう任せているかは、資産記録を自動化した記事 で具体的な流れを紹介しています。

何かの参考になれば幸いです。

関連記事

参考文献・出典