autoモードの動作原理とdefault/bypass各モードとの違い。allowedToolsリストの設計方法と実践的な構成例。
本記事は2026年8月時点の情報です。
本記事は「Claude Code実践ガイド|AI開発の生産性を高める運用設計」シリーズの一部です。
Claude Codeのautoモードを使えば、あらかじめ許可したツールをAIが確認なしで自律実行できます。 毎回の承認操作をなくすことで作業スピードは劇的に上がりますが、安全に使うにはallowedToolsの設計が鍵になります。本記事では、autoモードの仕組みから実務での運用パターンまでを体系的に解説します。
この記事でわかること
Claude Codeの承認操作を省略して作業スピードを上げるautoモードの設定方法と、安全に運用するためのallowedTools設計を解説します。defaultモードとの使い分けからチーム導入まで、実践的な運用パターンを紹介します。
- autoモードの動作原理とdefault/bypass各モードとの違い — リストに登録されたツールは承認なしで自動実行され、リストに含まれないツールは従来通りユーザーへ確認を求めます。
- allowedToolsリストの設計方法と実践的な構成例 — autoモードの実用性は、allowedToolsリストの設計で決まります。
- 安全性と生産性を両立するチーム運用パターン — allowedToolsだけでなく、blockedToolsで危険なコマンドを明示的に禁止できます。
対象読者: Claude Codeの承認操作を効率化したいエンジニア、チームでの安全な自動実行ポリシーを設計したいテックリード
autoモードとは
autoモードは、Claude Codeの4つのパーミッションモードの1つです。allowedToolsリストに登録されたツールは承認なしで自動実行され、リストに含まれないツールは従来通りユーザーへ確認を求めます。
起動方法
# コマンドライン引数で起動
claude --mode auto
# allowedToolsを同時に指定
claude --mode auto --allowedTools "Edit,Write,Bash(npm test),Bash(npm run build)"
設定に関する注意(2026年8月1日時点): CLAUDE_CODE_ENABLE_AUTO_MODE=1 という環境変数は現在は不要です。 v2.1.158〜v2.1.206の期間、Amazon Bedrock・Google CloudのAgent Platform・Microsoft Foundryなどではこの変数の設定が必須でしたが、v2.1.207でその要件は削除されました。 互換性のため変数自体は受理されますが、設定しても効果はありません。この変数を「必要」と書いている情報は古い仕様です。また、autoモードは現在全プラン(Proを含む)で利用可能で、Team / Enterpriseでは既定で使え、管理者はマネージド設定のpermissions.disableAutoModeを"disable"にして組織全体で無効化できます。(出典: Choose a permission mode、2026年8月1日確認)
他モードとの比較
autoモードとは、allowedToolsに登録したツールだけを承認なしで自動実行し、それ以外は従来通り確認を求める中間的なパーミッションモードです。
| モード |
承認の挙動 |
適したシーン |
| default |
書き込み系は毎回承認 |
初めてのプロジェクト |
| plan |
読み取り専用(書き込み不可) |
コード分析・調査 |
| auto |
allowedToolsのみ自動承認 |
繰り返し作業・信頼できるPJ |
| bypass |
すべて自動承認 |
CI/CD・完全自動化 |
autoモードの安全性は「何を許可するか」ではなく「何を許可しないか」で決まります。allowedToolsは最小限から始め、blockedToolsで破壊的コマンドを明示的にブロックする設計が、安全性と生産性を両立する鍵です。
defaultモードでは、ファイル編集のたびに「よろしいですか?」と確認が入ります。1回の作業で数十回ファイルを変更するケースでは、この確認操作だけで大きな時間ロスが発生します。autoモードは、この問題を「許可リスト方式」で解決します。
autoモードの実用性は、allowedToolsリストの設計で決まります。許可する範囲が狭すぎると承認の手間が残り、広すぎるとセキュリティリスクが生まれます。
基本構文
{
"permissions": {
"defaultMode": "auto",
"allowedTools": [
"Edit",
"Write",
"Bash(npm test)",
"Bash(npm run build)",
"Bash(git diff *)"
]
}
}
| 指定方法 |
例 |
動作 |
| ツール名のみ |
Edit |
すべての呼び出しを許可 |
| ツール名+引数 |
Bash(npm test) |
特定コマンドのみ許可 |
| ワイルドカード |
Bash(npm *) |
npm系コマンドをすべて許可 |
| MCP連携 |
mcp__slack__send_message |
MCPサーバーの特定ツールを許可 |
実務パターン1: 開発者向け(コーディング中心)
{
"allowedTools": [
"Edit",
"Write",
"Bash(npm test)",
"Bash(npm run build)",
"Bash(npm run lint)",
"Bash(git add *)",
"Bash(git commit *)",
"Bash(git diff *)",
"Bash(git status)",
"Bash(git log *)"
]
}
ファイル編集とテスト・ビルド・Gitの基本操作を自動化しつつ、git pushやrm -rfのような破壊的コマンドは承認を要求します。
実務パターン2: コンテンツ制作向け
{
"allowedTools": [
"Edit",
"Write",
"Bash(node *)",
"Bash(npx *)"
]
}
マークダウン記事やHTMLの生成・変換スクリプトの実行を自動化するパターンです。CRM連携のコンテンツパイプラインでは、記事生成からHTML変換までの反復作業が多いため、autoモードとの相性が優れています。
設定ファイルでの永続化
毎回コマンドライン引数を指定するのは非効率です。.claude/settings.jsonに設定を書くことで、プロジェクト単位でautoモードを永続化できます。
// .claude/settings.json
{
"permissions": {
"defaultMode": "auto",
"allowedTools": [
"Edit",
"Write",
"Bash(npm *)",
"Bash(git add *)",
"Bash(git commit *)"
]
}
}
この設定ファイルをGitリポジトリに含めれば、チーム全員が同じ権限ポリシーで作業できます。
設定の優先順位
- コマンドライン引数(
--mode auto)が最優先
- プロジェクト設定(
.claude/settings.json)
- ユーザー設定(
~/.claude/settings.json)
autoモードの安全運用ガイドライン
段階的に権限を広げる
最初からすべてのツールを許可するのではなく、まずはdefaultモードで作業し、頻繁に承認するツールを特定してからallowedToolsに追加していくアプローチが安全です。
Week 1: defaultモードで全操作を確認
↓ 頻繁に承認するツールを特定
Week 2: autoモード + 最小限のallowedTools
↓ 安定を確認
Week 3+: 必要に応じてallowedToolsを拡張
allowedToolsだけでなく、blockedToolsで危険なコマンドを明示的に禁止できます。
{
"permissions": {
"blockedTools": [
"Bash(rm -rf *)",
"Bash(git push --force *)",
"Bash(git reset --hard *)"
]
}
}
Hooksとの組み合わせ
Hooksを併用すれば、「autoモードで自動実行しつつ、実行ログを記録する」「特定ファイルの変更前にバックアップを取る」といった多層防御が実現します。
ビジネス活用の視点
autoモードの本質的な価値は、AIエージェントの「自律性」を業務効率に変換できることにあります。HubSpotゴールドパートナーのStartLinkが支援するCRM×AIの文脈では、HubSpotのデータ連携スクリプトの開発・テスト・デプロイの繰り返しサイクルにおいて、autoモードが作業時間を大幅に短縮します。
少数精鋭の組織では、一人あたりの生産性が事業成長を左右します。autoモードで反復作業をAIに任せ、人間は設計判断やクライアントコミュニケーションに集中する――この役割分担こそが、AI時代の実務設計です。
経営データの可視化やコンテンツマーケティングにおけるAI活用については、経営データBI支援やコンテンツマーケティング支援のページもご参照ください。
あわせて読みたい
まとめ
本記事ではClaude Codeのautoモードについて、仕組みから実務での安全運用パターンまでを解説しました。
- autoモードはallowedToolsリストに登録したツールのみを承認なしで自動実行し、未登録ツールは従来通り確認を求める「許可リスト方式」で動作します
- allowedToolsの設計では「最小権限の原則」を守り、Edit・Write・テスト・ビルド系から段階的に許可範囲を広げるアプローチが安全です
- blockedToolsで破壊的コマンドを明示的に禁止し、Hooksと組み合わせることで多層防御を実現できます
.claude/settings.jsonに設定を記述してGit管理することで、チーム全体で統一された権限ポリシーを運用できます
Claude Codeの全コマンド一覧はClaude Codeチートシートをご覧ください。AI活用の全体像はAI活用完全ガイドで解説しています。
よくある質問(FAQ)
Q1. Claude Codeのautoモードとbypassモードの違いは何ですか?
autoモードはallowedToolsリストに登録したツールだけを自動実行し、未登録のツールは従来通りユーザーに確認を求めます。一方、bypassモードはすべてのツールを無条件で自動実行します。安全性を保ちながら効率化するにはautoモードが適しており、CI/CDなど完全自動化が必要な場面ではbypassモードが有効です。
まずはdefaultモードで作業し、頻繁に承認が必要になるツールを特定してから登録するのが安全です。一般的にはEdit、Write、テスト実行(npm test)、ビルド(npm run build)、Gitの読み取り系コマンドが候補になります。git pushやrm -rfのような破壊的コマンドは登録せず、必要に応じてblockedToolsで明示的にブロックすることを推奨します。
Q3. autoモードの設定をチーム全体で統一するにはどうすればよいですか?
.claude/settings.jsonにdefaultModeとallowedToolsを記述し、このファイルをGitリポジトリに含めることで、チーム全員が同じ権限ポリシーで作業できます。設定の優先順位はコマンドライン引数 > プロジェクト設定 > ユーザー設定の順なので、個人の環境で上書きすることも可能です。
Q4. autoモードでMCPサーバーのツールも自動実行できますか?
はい、allowedToolsにmcp__サーバー名__ツール名の形式で指定すれば、MCPサーバー経由のツールもautoモードで自動実行されます。例えばmcp__slack__send_messageを登録すると、Slack連携のメッセージ送信が承認なしで実行されます。ただし、外部サービスへの書き込み操作は影響範囲が大きいため、十分にテストしてから登録してください。
Q5. autoモードの実行ログを後から確認する方法はありますか?
Claude Codeはセッションごとの操作ログを自動的に記録しています。さらにHooksを併用すれば、autoモードで自動実行されたツールの入出力を任意のファイルやSlackに記録する仕組みを構築できます。「いつ・何が・どのように実行されたか」をトレースできる環境を整えることで、autoモードの運用リスクを大幅に低減できます。