Claude Codeの自動承認とは?Autoモードの特徴&設定・自動化テク
Claude Codeを自動承認するにはどうすればいいの?
何でもかんでも自動承認するのは危ないかな…
Claude Codeを使い始めたものの、たびたび求められる承認が手間だと感じている人は多いですよね。
実のところ、Claude Codeの承認は自動化できます。ただし、効率だけを求め自動承認を行なってはファイルの削除や情報漏洩といった危険も生じかねません。
そこでこの記事では、Claude Codeにおける自動承認の設定方法を解説します。安全に使うための注意点やトラブル時の対処法も紹介するので、ぜひ参考にしてください。
Claude Codeの特徴をおさらいしておきたい人は、次の記事を参考にしてください。

- Autoモードは承認プロンプトを省略して作業を継続できる
- `–allowedTools`や設定ファイルを使えば承認範囲を細かく制御できる
- 本番環境や重要ファイルを扱う環境では無条件の自動承認を避けるべき
『ClaudeCodeに興味はあるけど、どうやって使えばいいんだろう…』
そんな方へ、
- ClaudeCodeに作業や仕事を任せる方法
- ClaudeCodeを使いこなすたった1つのコツ
- 業務効率化や収入獲得に活かすClaudeCodeの実演
を、無料のオンラインセミナーで凝縮してお伝えします!
パソコンはもちろん、スマホから気軽に参加OK。この時間が、あなたを変える大きなきっかけになりますよ。
Claude Codeの自動承認とは

Claude Codeの自動承認とは、ファイルの読み書きやコマンド実行などの操作を、毎回確認なしで実行できる機能です。通常のClaude Codeではアクションを実行するたびに「この操作を許可しますか?」という確認プロンプトが表示されます。しかし、自動承認を設定するとこの確認ステップを省略したまま処理を継続できます。
ここからは次の2点を解説します。
承認プロンプトが表示される理由
Claude Codeが毎回確認を求めるのは、安全性を確保するためです。
Claude Codeには、ファイル編集・削除・シェルコマンド実行など、開発環境へ直接影響する操作を実行する機能があります。そのため、意図しない変更や危険なコマンド実行を防ぐ目的で、重要な操作の前には承認プロンプトが表示される仕様になっています。
たとえば、`rm -rf`のような削除コマンドを含む処理を実行しようとすると、Claude Codeは必ず実行確認を表示します。これは誤操作によるデータ消失を防ぐための安全装置です。
承認プロンプトは単なる確認画面ではなく「Claude Code 承認なし」で危険な操作が走らないようにする保護機能でもあります。
そのため、自動承認を有効する際は「どこまで許可するのか」を理解したうえで設定することが重要です。
自動承認で何が変わるか
自動承認を設定すると、Claude Codeが複数の作業を中断せず連続実行できるようになります。
通常のモードでは、コードの生成・ファイルへ保存・テスト実行などが、それぞれ承認待ちで停止します。一方、自動承認を有効にすると、一連の処理をまとめて実行できるため、作業テンポが大きく改善されます。
たとえば「0個のファイルを作成してテストまで実行してほしい」と依頼した場合、通常は途中で何度も確認が入ります。しかしAutoモードや許可設定を使えば、これらを連続して処理できます。
とくに、以下のような場面では効果的です。
- リファクタリングをまとめて実行したい
- テストと修正を繰り返したい
- 定型的な開発作業を自動化したい
- VSCode上でテンポよくAIコーディングしたい
ただし、自動承認は便利な反面、意図しない変更まで自動で実行されるリスクもあります。そのため、後述する「許可リスト」や-allowedToolsを活用し、必要な操作だけを承認対象にする使い方がおすすめです。
Claude Codeにおける自動承認の種類
Claude Codeは、用途に応じて複数の方法で承認プロンプトを省略できます。
「すべての操作を無条件で許可する方法」や「特定のコマンドだけ許可する方法」があるため、作業内容や安全性に応じて使い分けることが重要です。
ここからは、代表的な4つの方法を解説します。
Autoモード:全アクションを自動承認
Autoモードは、背後で動く分類器(classifier)が各操作の安全性を審査しながら、承認プロンプトを省略して作業を進めるモードです。
「全自動だが無防備」なbypassPermissionsモードとは異なり、危険と判断された操作は自動でブロックされるため、日常的な開発作業での利用に適しています。
セッション中にShift+Tabを押すことで切り替えられます。デフォルトとして設定したい場合はsettings.jsonに以下を記述します。
{
"permissions": {
"defaultMode": "auto"
}
}
Autoモードでブロックされる操作の主な例は以下のとおりです。
- curl | bashのような外部コードの取得・即時実行
- 本番環境へのデプロイやマイグレーション
- mainブランチへの直接プッシュ
- IAM権限の変更など共有インフラの操作
逆に、ローカルファイルの編集・依存パッケージのインストール・読み取り専用のHTTPリクエストなどは承認なしで実行されます。
なお、Autoモードの利用にはClaude Code v2.1.83以降、およびClaude Sonnet 4.6またはOpus 4.6以上のモデルが必要です。
bypassPermissionsモード:全アクションを自動承認
bypassPermissionsモードは、Claude Codeが実行するすべての操作を確認なしで自動承認するモードです。起動時に–dangerously-skip-permissionsフラグを付与すると有効になります。
claude --dangerously-skip-permissions
名前に「dangerously(危険)」と含まれている通り、このモードではファイル編集・削除・シェルコマンド実行なども確認なしで実行されます。Autoモードのような安全チェックも一切行われないため、使用できる場面は限定されます。
公式ドキュメントでも、以下のような隔離された環境での使用のみを推奨しています。
- Dockerコンテナや仮想マシン内
- インターネット接続のないサンドボックス環境
- CI/CDパイプラインの定型処理
また、LinuxおよびmacOSではroot権限・sudo権限での起動は拒否される仕様になっています。
本番環境や重要データを含むプロジェクトでは使用を避けてください。「とにかく承認を省きたい」という目的であれば、まずAutoモードや許可リストの利用を検討するのがおすすめです。
設定ファイルでの許可リスト:特定動作を自動承認
Claude Codeでは、設定ファイル(`settings.json`)に許可ルールを書くことで、特定の動作だけを自動承認できます。
```json
{
"permissions": {
"allow": [
"Bash(git *)",
"Bash(npm *)",
"Read(*)",
"Write(src/)"
]
}
}
```
この設定では、以下の操作のみ承認なしで実行されます。
- Gitコマンド
- npmコマンド
- ファイル読み込み
- src/ ディレクトリ内への書き込み
それ以外の操作については、通常通り確認プロンプトが表示されます。Autoモードのように全面許可するわけではないため、安全性を保ちながら効率化したい場合に適した方法です。
とくに「Git操作だけ毎回確認されるのが面倒」あるいは「特定フォルダだけ自動編集したい」といったケースでよく使われます。
‘–allowedTools’フラグ:特定ツールだけを承認済みに
`–allowedTools`フラグを使うと、起動中のセッション限定で特定ツールを自動承認できます。
```
claude --allowedTools "Bash(git *)" --allowedTools "Read(*)"
```
この例では、Gitコマンドとファイル読み込みのみが承認不要になります。
設定ファイルを書き換える必要がないため、「今回の作業だけ許可したい」というケースに便利です。
たとえば、以下のような使い方ができます。
- Git操作だけ一時的に自動化する
- レビュー専用セッションでRead権限だけ許可する
- 一時的な検証作業でnpm実行を許可する
セッション終了後は設定が残らないため、常時許可したくない場合にも扱いやすい方法です。
Claude Codeの自動承認を設定する方法

Claude Codeの自動承認は、用途に応じて設定方法を使い分けることが重要です。
すべての操作を一時的に許可したいのか、特定コマンドだけ安全に自動化したいのかによって、最適な設定は変わります。
ここからは下記の手順別に、設定方法を解説します。
Autoモードの設定手順
Autoモードはセッション中にShift+Tabを押すか、settings.jsonに以下を記述することで有効化できます。
{
"permissions": {
"defaultMode": "auto"
}
}
このモードでは、分類器が各操作の安全性を審査しながら承認プロンプトを省略して作業を進めます。安全と判断された操作は自動で実行され、危険と判断された操作はブロックされます。
日常的な開発作業全般での利用に適しており、bypassPermissionsモードと異なり本番環境を含む通常の開発環境でも使用できます。
ただし、Autoモードはresearch previewであるため、完全な安全性は保証されていない点に留意してください。
VSCodeの拡張機能で設定する方法
Visual Studio Code(VSCode)では、Claude Code拡張機能の設定画面から承認設定を変更できます。
まずは、VSCodeの拡張機能マーケットプレイスからClaude Code拡張機能をインストールしてください。設定手順は次のとおりです。
- VSCodeの設定(`Ctrl+,` / `Cmd+,`)を開く
- 検索欄に「Claude Code」と入力する
- 「Permissions」「Approval」などの関連設定を探す
- 自動承認に関する項目を有効化する
また、VSCodeでは「ユーザー設定」と「ワークスペース設定」を切り替えられます。
- ユーザー設定:すべてのプロジェクトに適用
- ワークスペース設定:特定プロジェクトだけに適用
安全性を考えると、まずはワークスペース単位で試すのがおすすめです。
GUIで操作できるため、CLI操作に不慣れな初心者でも設定しやすい方法といえます。
VS CodeでのClaude Code活用法を詳しく知りたい人は、次の記事を参考にしてください。

設定ファイルで永続化する手順
毎回フラグを入力するのが面倒な場合は、設定ファイル(settings.json)に許可ルールを書くことで永続化できます。
設定ファイルは、次のいずれかに配置します。
- ~/.claude/settings.json:全プロジェクト共通
- .claude/settings.json:プロジェクト単位
```json
{
"permissions": {
"allow": [
"Bash(git *)",
"Bash(npm run *)",
"Bash(npm test *)",
"Read(*)",
"Write(src/)",
"Write(tests/)"
],
"deny": []
}
}
```
この設定では、allowに記載した操作のみが自動承認されます。denyは、逆に常に拒否したい操作を書くための項目です。
たとえば上記では、以下の操作が承認不要になります。
- Gitコマンド
- npm実行
- ファイル読み込み
- src/ や tests/ ディレクトリへの書き込み
一方、それ以外の危険な操作については、通常通り確認が表示されます。
安全性を重視する場合は、まずプロジェクト単位の設定から始めるのがおすすめです。
特定ツールだけ承認する方法
セッション中だけ特定ツールを許可したい場合は、`–allowedTools`フラグを使います。
```
claude --allowedTools "Bash(git add *)" \
--allowedTools "Bash(git commit *)" \
--allowedTools "Bash(git status *)"
```
この例では、Gitの`add`・`commit`・`status`のみが自動承認されます。設定ファイルを変更せず、一時的に許可できる点が大きなメリットです。
セッション中に許可状況を確認・管理したい場合は、`/permissions`コマンドを使用します。 永続的に許可ルールを追加したい場合は、settings.jsonのallowリストに追記してください。
たとえば、以下のようなケースで便利です。
- 今日の作業だけnpm testを許可したい
- Git操作だけ承認をスキップしたい
- レビュー専用セッションでReadだけ許可したい
「必要な操作だけ許可する」ため、安全性と効率のバランスを取りやすい方法です。
自動設定を手動に戻す手順
自動承認を解除したい場合は、設定を元に戻すだけで対応できます。
設定ファイルで使っている場合は、`settings.json`の`allow`リストから該当の項目を削除してください。
```json
{
"permissions": {
"allow": [],
"deny": []
}
}
```
Autoモードを使用している場合は、Shift+Tabで通常モードに切り替えるか、settings.jsonの”defaultMode”: “auto”の記述を削除してClaude Codeを再起動すれば、通常の確認モードに戻ります。
VSCode拡張機能の場合は、設定画面でで自動承認関連の項目をオフにしてください。設定の変更後はClaude Codeを再起動し、意図した権限設定になっているか確認しておくと安心です。
Claude Codeで自動承認を設定する注意点

自動承認は作業効率を高める一方で、適切に扱わなければ意図しないトラブルの原因になります。使い方を誤るとファイルの削除や外部への意図しない通信が発生するリスクがあるため、注意点を把握しておくことが重要です。
Claude Codeの自動承認は、開発効率を大きく高められる便利な機能です。
一方で、設定を誤ると、ファイル削除や意図しないコマンド実行などのリスクもあります。安全に活用するためには、「どこまで許可するのか」を明確にしたうえで運用することが重要です。
ここからは次の3点を解説します。
無条件で全操作を許可しない
`–dangerously-skip-permissions`を使うと、Claude Codeはすべての操作を確認なしで実行します。
この状態では、ファイル削除・上書き・シェルコマンド実行だけでなく、外部APIへの通信やパッケージインストールなども自動で実行される可能性があります。たとえば、誤った指示や不完全なプロンプトによって、重要なファイルを削除してしまうケースも起こり得ます。
そのため、全面的な自動承認は、影響範囲が把握できているテスト環境のみで使用するのが基本です。
普段の開発では`–allowedTools`や許可リストを使い、必要な操作だけを許可する設定をおすすめします。
本番環境での使用は避ける
自動承認は、本番サーバーや重要データを扱う環境では基本的に使用を避けましょう。
確認なしでコマンドが実行されるため、設定ミスや誤操作がそのまま障害につながる可能性があります。
たとえば、以下のようなリスクがあります。
- 本番ファイルの上書き
- データ削除
- 不要な依存関係のインストール
- サービス停止につながるコマンド実行
とくに、bypassPermissionsモードを本番環境で使う運用は非常に危険です。
自動承認を利用する場合は、ローカル開発環境や隔離された検証環境に限定し、必要に応じてバックアップを取得してから実行してください。
定期的に許可リストを見直す
設定ファイル(settings.json)の許可リストは、一度設定すると放置されやすいポイントです。
しかし、プロジェクトの進行に合わせて必要な権限は変化します。以前は必要だった許可が、現在では不要になっているケースも少なくありません。不要な許可が残っていると、意図しない操作まで自動実行されるリスクが高まります。
そのため、月に1回程度を目安に、`settings.json`の`allow`リストを見直す習慣を付けるのがおすすめです。とくにチーム開発では、コードレビューと同じように、権限設定の変更もレビュー対象に含めると安全性を高められます。
【トラブル別】自動承認が効かない時の対処法

Claude Codeで自動承認を設定しても「承認プロンプトが消えない」「Permission denied(権限拒否)と表示される」といったトラブルが発生することがあります。
多くの場合は、設定ファイルの配置ミスや、OS側の権限設定が原因です。
ここからは下記のケース別に、対処法を解説します。
設定が反映されない場合の確認手順
設定ファイルを書いたのに反映されない場合は、以下の順番で確認してください。
1. 設定ファイルの配置場所を確認する
Claude Codeの設定ファイルは、正しい場所に配置しないと読み込まれません。
- グローバル設定:~/.claude/settings.json
- プロジェクト設定:.claude/settings.json
ファイル名やディレクトリ名が少しでも違うと無効になります。ターミナルで下記のコマンドを実行して、ファイルが存在するか確認してください。
```
ls ~/.claude/settings.json
ls .claude/settings.json
```
2. JSONの書き方にミスがないか確認する
JSON形式では、カンマの付け忘れやカッコの閉じ忘れがあると設定全体が読み込まれません。
次のコマンドでJSONの文法チェックができます。
```
python3 -m json.tool ~/.claude/settings.json
```
エラーが表示された場合は、その行を修正してください。
3. Claude Codeを再起動する
設定変更後は、Claude Codeを一度終了して再起動してください。起動中にsettings.jsonを編集しても、再起動するまで設定が反映されない場合があります。
権限エラーが出る場合の確認項目
自動承認を設定しているにもかかわらず「Permission denied(権限がありません)」と表示される場合は、OS側のファイル権限が原因の可能性があります。
確認すべき項目は次のとおりです。
ファイルの書き込み権限の確認
対象のファイルやディレクトリに、現在のユーザーが書き込み可能か確認します。
```
ls -la 対象フォルダのパス
```
権限が`r–`(読み取り専用)になっている場合は、次のコマンドで書き込み権限を付与します。
```
chmod u+w 対象ファイルのパス
```
許可リストの記述パターンを確認する
`settings.json`の`allow`リストでは、記述パターンによって許可範囲が変わります。
settings.json の allow リストでは、記述パターンによって許可範囲が変わります。たとえば、以下の2つは意味が異なります。
- Bash(git *) → git で始まるすべてのコマンドを許可
- Bash(git commit *) → git commit のみ許可
```json
{
"permissions": {
"allow": [
"Bash(git *)"
]
}
}
```
パターンが狭すぎると、意図したコマンドが承認対象にならないことがあります。
`deny`リストで上書きされていないか確認する
Claude Codeでは`allow`に記載していても、`deny`に同じパターンがあると拒否が優先されます。そのため「許可したはずなのに動かない」という場合は、`deny`リストに意図しない設定が入っていないか確認してください。
Claude Codeの自動化テクニック5選

Claude Codeでは、自動承認だけでなく、プロンプト管理や外部ツール連携を工夫することでさらに作業効率を高められます。とくに定型作業を減らしたりプロジェクト固有のルールを自動共有したりすることで、日常的な開発負荷を大きく削減できます。
ここからはClaude Codeの自動化テクニックを、5つにまとめて解説します。
テンプレートプロンプトの活用
毎回同じ指示を入力している場合は、テンプレートプロンプトとして保存しておくと便利です。
よく使う指示をテキストファイルにまとめ、Claude Code起動時に読み込ませることで、入力の手間を削減できます。
```
claude "$(cat prompts/review_template.txt)"
```
たとえば、コードレビュー用テンプレートを作っておけば、以下のような作業も毎回長文の指示を書く必要がなく同じ品質で依頼できます。
- バグ確認
- 命名規則チェック
- テスト不足の指摘
- リファクタリング提案
チームで共通のテンプレートを管理すれば、レビュー品質を統一しやすくなる点もメリットです。
Claude Codeで使えるプロンプトを詳しく知りたい人は、次の記事を参考にしてください。

カスタムスラッシュコマンドの作成
Claude Codeでは、プロジェクトの`.claude/commands/`フォルダにMarkdownファイルを配置することで、独自のスラッシュコマンドを作成できます。
たとえば、`.claude/commands/review.md`というファイルを作成して下記のように書きます。
```markdown
コードレビューを実施してください。
確認項目:
バグや論理的な誤りがないか
変数名・関数名が適切か
エラーハンドリングが実装されているか
テストが書かれているか
問題点があれば、修正案も合わせて提示してください。
```
この状態で`/review`と入力するだけで保存したプロンプトを即座に呼び出せます。
長い指示を毎回入力する必要がなくなるため、レビュー・テスト・ドキュメント生成などの定型作業を効率化できます。
Claude Codeのスラッシュコマンドを一覧で詳しく知りたい人は、次の記事を参考にしてください。

プロジェクト設定の自動読み込み
Claude Codeはプロジェクトルートに`CLAUDE.md`ファイルがあると、その内容を自動で読み込みます。このファイルにプロジェクト固有のルールや背景情報を書いておくことで、毎回説明する手間を省けます。
`CLAUDE.md`に書いておくと、以下のような内容を記載できます。
```markdown
# プロジェクト概要
このプロジェクトはTypeScriptで書かれたREST APIです。
# コーディング規約
インデントはスペース2つ
関数名はキャメルケース
エラーは必ずcatchして適切なHTTPステータスを返す
# 禁止事項
console.logをコードに残さない
anyタイプの使用は原則禁止
```
`CLAUDE.md`はGitHubのリポジトリにコミットしておけば、チーム全員が同じルールでClaude Codeを利用できます。
とくに新しいメンバーがプロジェクトに参加した際も、CLAUDE.mdの内容がClaudeに自動で伝わるため、立ち上がりの時間を短縮できます。
シェルスクリプトとの連携
Claude CodeはCLIツールとして動作するため、シェルスクリプトに組み合わせた自動化にも対応できます。
たとえば、特定フォルダ内のPythonファイルを順番にレビューするスクリプトは次のように書けます。
```bash
#!/bin/bash
for file in src/*.py; do
echo "Reviewing: $file"
claude --allowedTools "Read(*)" \
"次のファイルをレビューして問題点を指摘してください: $file" \
>> review_results.txt
done
echo "レビュー完了"
```
このようにスクリプト化しておくと、定型レビューやログ生成を半自動化できます。
また、cronなどの定期実行ツールと組み合わせれば、継続的な品質チェック運用にも応用できます。
CI/CDパイプラインへの組み込み
GitHub ActionsなどのCI/CDパイプラインにClaude Codeを組み込むことで、プルリクエストごとの自動レビューや助的な品質チェックを実行できます。
GitHub Actionsでの設定例を以下に示します。
```yaml
name: Claude Code Review
on:
pull_request:
branches:
- main
jobs:
review:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Run Code Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude \
--allowedTools "Read(*)" \
"変更ファイルをレビューして問題点を指摘してください"
```
CI/CDで利用する場合は、必要最小限の権限だけを許可することが重要です。
また、ANTHROPIC_API_KEY はGitHub ActionsのSecretsに登録し、コードへ直接書き込まないようにしてください。
CI/CDへの組み込むことで、レビュー品質の均一化や確認漏れの削減につなげられます。
まとめ
Claude Codeの自動承認は、作業効率を高める便利な機能です。
設定方法はAutoモード・設定ファイル・–allowedToolsによる一時的な付与など複数あり、用途に応じて使い分けられます。トラブル時は設定ファイルのパスやJSON構文、OS側の権限設定と許可リストを確認してください。
テンプレートプロンプトやカスタムスラッシュコマンド、CLAUDE.mdと組み合わせることで、さらなる効率化も可能です。
まずは’–allowedTools’やプロジェクト単位の設定から試し、少しずつ自動化の範囲を広げてみてください。
