Claude Codeのパーミッションモード完全ガイド|default・plan・auto・bypassの使い分け

  • 1970年1月1日
  • 最終更新: 2026年4月25日
この記事の結論

パーミッションモードは、Claude Codeの安全性と生産性のバランスを決定する最重要設定です。defaultは慎重な作業、planは読み取り専用の分析、autoはallowedToolsによる柔軟

ブログ目次

記事の内容を、そのまま実務に落とし込みたい方向け

HubSpot導入、AI活用、CRM整備、業務効率化までをまとめて支援しています。記事で気になったテーマを、そのまま相談ベースで整理できます。


Claude Codeには4つのパーミッションモード(default・plan・auto・bypass)があり、AIエージェントにどこまでの自律性を許可するかを制御できます。 プロジェクトの性質やチームのセキュリティ要件に合わせて適切なモードを選択することで、安全性を維持しながらAIの生産性を最大化できます。



この記事でわかること

Claude Codeを安全に運用するには、パーミッションモードの理解が不可欠です。この記事では、4つのモードの使い分けから、チーム全体でのポリシー統一まで、実務に直結する設定方法を体系的に解説します。

  • Claude Codeの4つのパーミッションモード(default・plan・auto・bypass)の動作の違い — モードによって、エージェントの自律性と安全性のバランスが変わります。
  • allowedToolsリストによるツール単位の細かい権限制御の方法 — autoモードの中核となるのがリストです。どのツールを許可し、どのツールをブロックするかを細かく制御できます。
  • チーム規模・プロジェクト種別に応じたモード選択の実践的な判断基準 — 新しいプロジェクトやチームメンバーはモードから開始し、信頼が確立されたらモードに移行するパターンです。

対象読者: Claude Codeをチームで導入している・導入を検討しているエンジニア、テックリード、セキュリティ担当者


パーミッションモードとは

パーミッションモードは、Claude Codeがファイル編集やコマンド実行などのツールを使う際に、ユーザーの承認を求めるかどうかを制御する仕組みです。モードによって、エージェントの自律性と安全性のバランスが変わります。


4つのモードの詳細比較

モード一覧

モード 自律性 承認要求 推奨シーン
default 書き込み系ツールはすべて承認を要求 初めてのプロジェクト、慎重な作業
plan 最低 読み取り専用。書き込み・実行はすべて拒否 コード分析、設計レビュー、調査
auto allowedToolsに含まれるツールは自動承認 繰り返し作業、信頼できるプロジェクト
bypass 最高 すべてのツールを自動承認(承認なし) CI/CD、完全自動化パイプライン

defaultモード

defaultモードは、Claude Codeの標準的な動作モードです。ファイルの読み取り(Read、Glob、Grep)は承認なしで実行されますが、ファイルの書き込み(Edit、Write)やコマンド実行(Bash)は毎回ユーザーの承認を求めます。

[Claude Code] src/index.tsを編集します。よろしいですか?
  > Yes / No / Always allow for this session

初めて触るプロジェクトや、本番環境に影響するファイルを扱う場合に適しています。承認のたびにAIの行動を確認できるため、意図しない変更を防止できます。

planモード

planモードは、Claude Codeを「読み取り専用のアナリスト」として使うモードです。ファイルの読み取りは可能ですが、書き込みやコマンド実行は一切できません。

claude --mode plan

コードベースの分析、アーキテクチャレビュー、バグの原因調査など、「調べるだけで変更は不要」なタスクに最適です。誤操作によるファイル変更のリスクをゼロにできます。

autoモード

autoモードは、allowedToolsリストに含まれるツールを自動的に承認し、それ以外のツールは承認を求めるモードです。

claude --mode auto --allowedTools "Edit,Write,Bash(npm test),Bash(npm run build)"

上記の例では、ファイル編集、ファイル作成、npm testnpm run buildの実行は承認なしで自動実行されます。それ以外のBashコマンド(rmgit pushなど)は承認を求めます。

autoモードは、信頼できるプロジェクトで繰り返し作業を効率化したい場合に最適です。必要なツールだけを許可し、危険なコマンドはブロックするという「最小権限の原則」を実現できます。

bypassモード

bypassモードは、すべてのツールを承認なしで自動実行するモードです。ユーザーの介入は一切ありません。

claude --mode bypass -p "テストを実行して、失敗したテストを修正してください"

CI/CDパイプラインや、SDK経由の完全自動化シナリオで使用します。人間が監視していない環境で使うため、実行環境のセキュリティ(サンドボックス、ネットワーク制限など)で安全性を担保する必要があります。


allowedToolsリストの設計

autoモードの中核となるのがallowedToolsリストです。どのツールを許可し、どのツールをブロックするかを細かく制御できます。

ツール指定の構文

指定方法 動作
ツール名のみ Edit そのツールのすべての呼び出しを許可
ツール名+引数パターン Bash(npm test) 特定のコマンドのみ許可
ワイルドカード Bash(npm *) npmで始まるコマンドをすべて許可
MCP+ツール名 mcp__slack__send_message MCPサーバーの特定ツールを許可

実務で使われるallowedToolsの構成例

開発者向け(コーディング作業)

{
  "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 pushrm -rfのような破壊的コマンドは許可リストに含まれないため、承認を求められます。

レビュアー向け(読み取り+コメント)

{
  "allowedTools": [
    "Read",
    "Glob",
    "Grep",
    "Bash(git diff *)",
    "Bash(git log *)",
    "Bash(git show *)"
  ]
}

ファイルの読み取りとGitの差分確認のみを許可しています。コードレビューの分析タスクに最適です。

CI/CD向け(ビルド+テスト+デプロイ)

{
  "allowedTools": [
    "Edit",
    "Write",
    "Bash(npm *)",
    "Bash(git *)",
    "Bash(gh pr create *)"
  ]
}

npmコマンド、Gitコマンド、GitHub CLIによるPR作成を包括的に許可しています。CI/CD環境では、実行環境自体がサンドボックス化されているため、広めの権限を付与しても安全です。


設定ファイルでの管理

パーミッション設定はコマンドライン引数だけでなく、設定ファイルで管理できます。

プロジェクト設定(.claude/settings.json

{
  "permissions": {
    "defaultMode": "auto",
    "allowedTools": [
      "Edit",
      "Write",
      "Bash(npm test)",
      "Bash(npm run build)"
    ]
  }
}

プロジェクト設定はGitリポジトリに含まれるため、チーム全体で統一したパーミッションポリシーを適用できます。

ユーザー設定(~/.claude/settings.json

{
  "permissions": {
    "defaultMode": "default"
  }
}

ユーザー設定はプロジェクト設定より優先度が低く、プロジェクトで指定された設定が適用されます。ただし、ユーザー設定でbypassモードを禁止するなど、安全側への制限は可能です。

設定の優先順位

設定の優先順位は以下の通りです。

  1. コマンドライン引数--mode auto) — 最優先
  2. プロジェクト設定.claude/settings.json) — プロジェクト単位
  3. ユーザー設定~/.claude/settings.json) — グローバル

チーム運用パターン

パターン1: 段階的権限昇格

新しいプロジェクトやチームメンバーはdefaultモードから開始し、信頼が確立されたらautoモードに移行するパターンです。

Week 1-2: defaultモード(全操作を確認)
  ↓ プロジェクト構造を理解・信頼関係構築
Week 3-4: autoモード(基本操作を自動承認)
  ↓ ワークフローが安定
Week 5+: autoモード + 拡張allowedTools(より広い自動承認)

パターン2: タスク別モード切り替え

同じプロジェクト内でも、タスクの性質に応じてモードを切り替えるパターンです。

タスク 推奨モード 理由
コード分析・レビュー plan 変更不要。読み取りのみで安全
新機能開発 auto 効率重視。allowedToolsで制御
本番環境のデバッグ default 慎重さが必要。毎回確認
CI/CDパイプライン bypass 完全自動化。環境で安全性担保

パターン3: 組織ポリシーによる統一管理

組織全体でパーミッションポリシーを統一する場合、.claude/settings.jsonをテンプレートとして全プロジェクトに配布します。

{
  "permissions": {
    "defaultMode": "auto",
    "allowedTools": [
      "Edit",
      "Write",
      "Bash(npm *)",
      "Bash(yarn *)",
      "Bash(git add *)",
      "Bash(git commit *)",
      "Bash(git diff *)",
      "Bash(git status)",
      "Bash(git log *)"
    ],
    "blockedTools": [
      "Bash(rm -rf *)",
      "Bash(git push --force *)",
      "Bash(git reset --hard *)"
    ]
  }
}

破壊的コマンドを明示的にブロックすることで、autoモードの利便性を維持しながらリスクを制御しています。


関連コマンドとの組み合わせ

Hooksとの連携

Hooksを使えば、ツール実行の前後にカスタムスクリプトを挟めます。パーミッションモードとHooksを組み合わせることで、「autoモードで自動承認しつつ、特定のツール実行時にはログを記録する」といった柔軟な制御が可能です。

CLAUDE.mdとの関係

プロジェクトの.claude/CLAUDE.mdに記載したルールは、パーミッションモードとは独立して動作します。パーミッションモードはツール実行の「承認/拒否」を制御しますが、CLAUDE.mdはエージェントの「行動指針」を制御します。両方を適切に設定することで、安全かつ的確なエージェント運用が実現します。こうした取り組みの詳細は、経営データの可視化コンテンツマーケティングの支援のページでもご紹介しています。

設定確認

パーミッション設定が意図通りに適用されているか不明な場合は、/config コマンドで現在の設定状況を確認できます。設定ファイルの読み込み状況や、適用されているモードを確認できます。


あわせて読みたい


まとめ

パーミッションモードは、Claude Codeの安全性と生産性のバランスを決定する最重要設定です。defaultは慎重な作業、planは読み取り専用の分析、autoはallowedToolsによる柔軟な自動承認、bypassは完全自動化に、それぞれ最適化されています

押さえておきたいポイントは以下の通りです。

  • チームでの運用では、.claude/settings.jsonでポリシーを統一し、タスクの性質に応じてモードを切り替えることが実践的です
  • まずはdefaultモードで始め、プロジェクトへの理解が深まったらautoモードに移行するのが安全なアプローチです
  • *Claude Codeの全コマンド一覧はClaude Codeチートシートをご覧ください
  • AI活用の全体像はAI活用完全ガイドで解説しています

よくある質問(FAQ)

Q1. autoモードとbypassモードの違いは何ですか?

autoモードはallowedToolsに指定したツールのみ自動承認し、それ以外は承認を求めます。bypassモードはすべてのツールを無条件で自動承認します。autoモードは「許可リスト方式」、bypassモードは「全許可方式」と理解してください。日常の開発作業にはautoモード、CI/CDなどの完全自動化環境にはbypassモードが適しています。

Q2. allowedToolsでBashコマンドを細かく制御できますか?

はい、Bash(コマンドパターン)の形式で細かく制御できます。Bash(npm test)ならnpm testのみ、Bash(npm )ならnpmで始まるすべてのコマンドが許可されます。正確なコマンド名で指定するほどセキュリティが高まりますが、利便性とのバランスを考慮してください。Bash(rm -rf )のように明示的にブロックしたいコマンドはblockedToolsに追加することも可能です。

Q3. パーミッション設定をチーム全体で統一するにはどうすればよいですか?

.claude/settings.jsonをGitリポジトリに含めてコミットしてください。このファイルはプロジェクト単位のパーミッション設定として、全チームメンバーに適用されます。組織内の複数プロジェクトで統一する場合は、設定ファイルのテンプレートを作成し、新規プロジェクト作成時に配布する運用が効果的です。


株式会社StartLinkは、事業推進に関わる「販売促進」「DXによる業務効率化(ERP/CRM/SFA/MAの導入)」などのご相談を受け付けております。 サービスのプランについてのご相談/お見積もり依頼や、ノウハウのお問い合わせについては、無料のお問い合わせページより、お気軽にご連絡くださいませ。

関連キーワード:

サービス資料を無料DL

著者情報

7-1

今枝 拓海 / Takumi Imaeda

株式会社StartLink 代表取締役。累計150社以上のHubSpotプロジェクト支援実績を持ち、Claude CodeやHubSpotを軸にしたAI活用支援・経営基盤AXのコンサルティング事業を展開。
HubSpotのトップパートナー企業や大手人材グループにて、エンタープライズCRM戦略策定・AI戦略ディレクションを経験した後、StartLinkを創業。現在はCRM×AIエージェントによる経営管理支援を専門とする。