Build This Now
Build This Now
クロード・コードとは何か?Claude Code のインストールClaude Code ネイティブインストーラーClaude Code で最初のプロジェクトを作る
Subscription BillingMulti-Tenant SaaSAI Chat FeatureRate LimitingStripe WebhooksSemantic SearchRealtime UpdatesDrip Email Sequencesv2.1.122 Release NotesClaude Code の Dynamic Workflows:実際のコードベースで 1,000 個の subagents を動かす方法Claude Code ベストプラクティスClaude Opus 4.7 ベストプラクティスVPS上でのClaude CodeGit 統合Claude Code レビューClaude Code WorktreesClaude CodeリモートコントロールClaude Code ChannelsChannels、Routines、Teleport、DispatchClaude Code スケジュールタスクClaude Code権限管理Claude Code オートモードClaude Code で Stripe 決済を組み込むフィードバックループTodoワークフローClaude Code タスク管理プロジェクトテンプレートClaude Code の料金とトークン使用量Claude Code の料金:実際にいくら払うことになるのかClaude Code Ultra Review 完全ガイドClaude Code で Next.js アプリを作るSupabase DatabaseVercel DeepsecTest-Driven DevelopmentClaude Code で SaaS の MVP を作る方法Claude Code で認証を追加する(Supabase Auth)Claude Code でトランザクションメールを追加する(Resend + React Email)Claude Code で型安全な API を作る(oRPC + Zod)File UploadsBackground Jobs (Inngest)Admin DashboardFull-Text Searchエージェント型コマース:AI エージェントが支払えるアプリの作り方1M ContextGitHub ActionsHeadless ModeMax Plan vs APIPrompt Caching2026年、Claude Code で SaaS を作るといくらかかるかParallel AI AgentsCoding Agent Injection
speedy_devvkoen_salo
Blog/Handbook/Workflow/Permission Management

Claude Code権限管理

5つの権限モード、それらを切り替える一回のキー操作、そしてモードをタスクに合わせる明確な方法。完全なルール構文とそれぞれをいつ使うべきかを紹介する。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →
speedy_devvWritten by speedy_devvPublished Mar 29, 2026Handbook hubWorkflow index

問題: Claude Codeがすべてのファイル編集とコマンドで権限を要求してくることは、作業の流れを断ち切り、時間を無駄にする。

すぐできる改善策: Shift+Tabを押して権限モードをその場で切り替える:

# Shift+Tabを押して切り替え:
normal → auto-accept edits → plan mode → normal

Shift+Tabがターミナルと競合する場合は再バインドできる。これで設定ファイルに触れることなくフローをコントロールできる。モードをタスクに合わせれば、割り込みのサイクルが止まる。

すべての権限モード

Claude Codeには5つの権限モードが搭載されており、それぞれ異なる種類の作業向けに設計されている。3つのコアモードはShift+Tabでサイクルし、残り2つは設定に存在する。

通常モード(default)

通常モードは潜在的に危険な操作の前にプロンプトを表示する。確認ダイアログが表示されるのは以下の場合だ:

  • ファイルの編集と変更
  • ターミナルコマンドの実行
  • システム操作
  • ディレクトリの変更

速度よりもセキュリティ。以下の場合に使う:

  • 本番コード
  • よく知らないコードベース
  • 新しい技術を学ぶとき
  • 高リスクな操作

自動承認モード(acceptEdits)

自動承認モードはセッションの残りの間、ファイル編集の権限プロンプトを省略する。Claude は承認済みの操作を直接実行する。

Shift+Tabを押してUIが「auto-accept edit on」と表示されるまで切り替えてオンにする。

最適な用途:

  • 大規模なリファクタリングセッション
  • 明確に定義されたプランに沿って作業するとき
  • 調査とドキュメント作業
  • 多くのファイルにわたる繰り返しの編集

プランモード(plan)

プランモードはClaude を読み取り専用操作にロックする。Claude は自由に分析できるが、ディスク上の何も変更されない。

以下に最適:

  • 最初のコードベース探索
  • アーキテクチャ分析
  • 複雑な機能の計画
  • コードレビューセッション

確認なしモード(dontAsk)

確認なしモードは/permissionsまたはpermissions.allowルールを通じてツールが既に事前承認されていない限り、あらゆるツール使用を自動拒否する。プロンプトなし。許可リストにないものはすべて静かに拒否される。

最適な用途:

  • 人が確認するために周りにいないCI/CDパイプライン
  • 既知の許可操作セットを持つロックダウン環境
  • 厳格な事前構築された権限ポリシーに対してClaude を実行する場合

権限バイパスモード(bypassPermissions)

バイパスモードはすべての権限チェックをスキップする。Claude はプロンプトなしで任意のツールを実行する。

# CLIフラグの同等物:
claude --dangerously-skip-permissions

コンテナ、VM、またはClaude が永続的なダメージを与えられないエフェメラルなCIランナーのような完全に分離された環境の中でのみこれをオンにする。 このモードの目的は、環境自体が安全境界となる場所での自動化だ。

警告: 管理者はマネージド設定のdisableBypassPermissionsModeを"disable"に設定することでこのモードを完全にオフにできる。組織がブロックしている場合、設定もCLIフラグも機能しない。

永続的なデフォルトモードの設定

セッションごとにモードをサイクルする代わりに、settings.jsonで好みのデフォルトを固定する:

{
  "defaultMode": "acceptEdits"
}

有効な値: default、acceptEdits、plan、dontAsk、bypassPermissions。この設定はセッションをまたいで維持されるので、常に望む場所から始められる。

/permissionsによる権限管理

JSONファイルを手動で編集する代わりに、組み込みの/permissionsコマンドがインタラクティブビューを開く:

# インタラクティブな権限UIを起動
/permissions

そこからできること:

  • 現在どのツールが許可・拒否されているかを確認
  • 特定のツールやパターンへのアクセスを付与
  • オフリミットにしたいツールをブロック
  • 各ルールがどの設定ファイルから来ているかを確認
  • Claude Codeを再起動せずに変更を加える

権限ルールの構文

ルールはToolまたはTool(specifier)の形式に従う。これらはsettings.jsonのpermissionsオブジェクト内に存在する:

{
  "permissions": {
    "allow": ["Bash(npm run *)"],
    "deny": ["Bash(rm *)"],
    "ask": ["Bash(git push *)"]
  }
}

3つのルールタイプが動作を決める:

  • AllowルールはClaude が確認なしにツールを実行できるようにする
  • Askルールは使用するたびに確認を求める
  • Denyルールはツールを完全にブロックする

ルールは順番に評価される: 最初にdeny、次にask、次にallow。最初に一致したルールが優先されるので、denyは常にallowに勝つ。

ツールのすべての使用をマッチングする

ツール名だけを使えばすべての呼び出しをカバーできる:

ルール効果
BashすべてのBashコマンドにマッチ
WebFetchすべてのウェブフェッチリクエストにマッチ
Readすべてのファイル読み取りにマッチ
Editすべてのファイル編集にマッチ

Bash(*)はBashと同じで、すべてのBashコマンドにマッチする。

Bashワイルドカードパターン

Bashルールは*を使ったglobパターンを取る。ワイルドカードはルールのどこにでも置ける:

{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git commit *)",
      "Bash(git * main)",
      "Bash(* --version)",
      "Bash(* --help *)"
    ],
    "deny": ["Bash(git push *)"]
  }
}

単語境界のセマンティクス: *の前のスペースが重要だ。Bash(ls *)はls -laにマッチするがlsofにはマッチしない。Bash(ls*)は両方にマッチする。

シェルオペレーターの認識: Claude Codeはシェルオペレーターを認識する。Bash(safe-cmd *)のようなルールはsafe-cmd && malicious-cmdにはマッチしない。これによりチェーンコマンドの悪用が防がれる。

警告: コマンド引数を制限しようとするBashパターンは脆弱だ。Bash(curl http://github.com/ *)のようなルールはcurlをGitHub URLに限定しようとしているが、バリエーション(URLの前のオプション、異なるプロトコル、変数展開)をキャッチしない。本物のURLフィルタリングには、BashのネットワークツールをブロックしてドメインルールとともにWebFetchを使う。

ReadとEditのパターン

ReadとEditのルールはgitignoreスタイルのパスパターンを使い、4種類ある:

パターン意味例
//pathファイルシステムルートからの絶対パスRead(//Users/alice/secrets/**)
~/pathホームディレクトリからのパスRead(~/Documents/*.pdf)
/path設定ファイルからの相対パスEdit(/src/**/*.ts)
pathまたは./pathカレントディレクトリからの相対パスRead(*.env)

重要: /Users/alice/fileのようなパターンは絶対パスではない。設定ファイルからの相対として解決される。真の絶対パスには//Users/alice/fileを使う。

gitignoreパターンでは、*は単一ディレクトリ内のファイルにマッチし、**は再帰的にマッチする。すべてのファイルアクセスを許可するには、括弧を完全に省略する: Read、Edit、またはWrite。

WebFetchドメインルール

Claude がフェッチできるドメインを制御する:

{
  "permissions": {
    "allow": ["WebFetch(domain:docs.anthropic.com)"],
    "deny": ["WebFetch(domain:internal.company.com)"]
  }
}

MCPツールパターン

サーバーまたはツールレベルでMCPサーバーアクセスを制御する:

ルール効果
mcp__puppeteerpuppeteerサーバーの任意のツールにマッチ
mcp__puppeteer__*上と同じ(ワイルドカード構文)
mcp__puppeteer__puppeteer_navigate特定のnavigateツールのみにマッチ

タスク(サブエージェント)ルール

Task(AgentName)を使ってClaude が生成できるサブエージェントを制御する:

{
  "permissions": {
    "deny": ["Task(Explore)"]
  }
}

エージェント名にはExplore、Plan、Verifyが含まれる。--disallowedToolsCLIフラグも起動時に特定のエージェントを無効にできる。

フックによる権限の拡張

PreToolUseフックは権限システムの前に実行され、実行時にツール呼び出しを承認、拒否、または書き換えることができる。これにより静的なルールの上でプログラム的な制御が可能になる。

権限とサンドボックスの連携

権限とサンドボックスは2つの補完的なセキュリティレイヤーとして積み重なる(多層防御):

  • 権限はClaude が使えるツールとアクセスできるファイルまたはドメインを制御する。すべてのツール(Bash、Read、Edit、WebFetch、MCPなど)に適用される。
  • サンドボックスはその上にOSレベルの強制を追加し、Bashコマンドがファイルシステムとネットワークレベルで到達できる範囲を制限する。Bashコマンドとその子プロセスにのみ適用される。

最強の態勢のために両方を一緒に使う:

  • 権限のdenyルールはClaude が制限されたリソースにアクセスしようとすること自体を阻止する
  • サンドボックスの制限は、プロンプトインジェクションがClaude の意思決定をバイパスしてもBashコマンドを定義された境界内に保つ
  • サンドボックスのファイルシステム制限はReadとEditのdenyルールを使う(個別のサンドボックス設定ではない)
  • ネットワーク制限はWebFetchの権限ルールとサンドボックスのallowedDomainsリストを組み合わせる

/sandboxコマンドでサンドボックスをオンにする。macOSではSeatbeltを使ってすぐに機能する。LinuxとWSL2では先にbubblewrapとsocatをインストールする。

マネージド権限設定

中央コントロールが必要な組織向けに、管理者はユーザーとプロジェクトが上書きできないマネージド設定ファイルを配布できる:

設定効果
allowManagedPermissionRulesOnlytrueのとき、マネージド設定の権限ルールのみが適用される。ユーザーとプロジェクトのルールは無視される。
disableBypassPermissionsMode"disable"に設定するとbypassPermissionsモードと--dangerously-skip-permissionsCLIフラグがブロックされる。

マネージド設定ファイルの場所:

  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux/WSL: /etc/claude-code/managed-settings.json
  • Windows: C:\Program Files\ClaudeCode\managed-settings.json

これらはシステム全体のパス(ユーザーホームディレクトリではない)で、管理者権限が必要だ。通常の設定ファイルと同じ形式を使うが、設定の階層で最高の優先度を持つ。

開発シナリオの戦略

初期開発(通常モードを使う)

新しいプロジェクトを始めるとき、または不慣れなコードを調べるとき:

  • すべての権限を手動で保つ
  • 提案された変更をそれぞれレビューする
  • Claude がどのように問題に取り組むかを観察する
  • AIの判断に対する信頼を築く

アクティブな開発(自動承認を使う)

集中的なコーディングセッション中:

  • 信頼できるファイルタイプに自動承認をオンにする
  • 一般的なコマンド(npm、git status)を許可する
  • システム操作にはプロンプトを維持する
  • 中断のないワークフローに乗る

コードレビュー(プランモードを使う)

既存のコードベースを分析しているとき:

  • 安全のためにプランモードに切り替える
  • Claude がファイルに触れずに探索できるようにする
  • 分析と推奨事項を作成する
  • 実装する準備ができたときだけモードを切り替える

よくある権限の落とし穴

過剰な権限: 完全に分離されたコンテナまたはVMの中にいない限りbypassPermissionsモードは避ける。明示的なallowルールを持つdontAskモードがより安全な「ハンズオフ」オプションだ。

過少な権限: 100回目の「許可」クリックは目的を失わせる。繰り返し操作を事前承認するために/permissionsを使うか、アクティブな開発中はacceptEditsに切り替える。

モードの混乱: 作業を始める前に現在のモードを確認する。インジケーターはUIにある。常に同じ開始モードにしたい場合はsettings.jsonでdefaultModeを設定する。

包括的な権限: すべてのBashコマンドを許可しない。スコープを狭く保つためにBash(npm run *)のような特定のパターンを使う。そして覚えておく: denyルールは常にallowルールに勝つ。

脆弱な引数パターン: コマンド引数を制限するためにBashルールに頼らない(curlを特定のURLに固定するなど)。本物のURLフィルタリングにはWebFetchのドメインルールを使う。

次は何か

5つの種類の作業のための5つの権限モード。安全のためのdefault、生産性のためのacceptEdits、探索のためのplan、自動化のためのdontAsk、分離環境のためのbypassPermissions。タスクに合ったモードを選び、多層防御のためにサンドボックスを上に積み重ねる。

関連記事:

  • フックとPermission Hookで権限呼び出しを自動化する
  • より速いモード切り替えのためのカスタムキーバインディング
  • より速い反復のためのフィードバックループ
  • タスク追跡のためのTodoワークフロー
  • バージョン管理のためのGit統合
  • settings.jsonとより深いセットアップのための設定の基本

Continue in Workflow

  • エージェント型コマース:AI エージェントが支払えるアプリの作り方
    2026年のエージェント型コマースをわかりやすく解説するガイド。x402、ACP、Machine Payments Protocol が何をするのか、そして AI エージェントが購入できる有料 API を週末で出荷するための手順を紹介します。
  • Claude Code ベストプラクティス
    Claude Codeで成果を出すエンジニアを分ける5つの習慣: PRD、モジュラーなCLAUDE.mdのルール、カスタムスラッシュコマンド、/clearリセット、そしてシステム進化の思考法。
  • Claude Code オートモード
    2つ目の Sonnet モデルが、Claude Code のすべてのツール呼び出しを実行前に審査します。オートモードがブロックするもの・許可するもの、そして settings.json に追加される許可ルールについて解説します。
  • Channels、Routines、Teleport、Dispatch
    Anthropic が2026年3月と4月に出荷した4つの Claude Code 機能。これらは CLI を、スマホ・ウェブ・デスクトップをまたぐイベント駆動の調整レイヤーに変えます。
  • Claude Code 1M Context in Practice: When Bigger Isn't Better
    The 1M-token context window is GA at flat pricing, but bigger isn't always better. A decision framework, token-cost math, and when to use /compact, subagents, and dynamic workflows instead.
  • How to Build an Admin Dashboard With Claude Code
    Ship an internal admin panel with Claude Code: role-gated routes, a searchable users and orders table with pagination, impersonation-safe RLS, and metrics tiles pulled through a type-safe API.

More from Handbook

  • エージェントの基礎
    Claude Codeでスペシャリストエージェントを構築する5つの方法:タスクサブエージェント、.claude/agents YAML、カスタムスラッシュコマンド、CLAUDE.mdペルソナ、パースペクティブプロンプト。
  • エージェント・ハーネス・エンジニアリング
    ハーネスとは、AIエージェントを構成するモデル以外のすべての層のことです。5つの制御レバー、制約のパラドックス、そしてなぜハーネス設計がモデルよりもエージェントのパフォーマンスを左右するのかを学びましょう。
  • エージェントパターン
    オーケストレーター、ファンアウト、バリデーションチェーン、スペシャリストルーティング、プログレッシブリファインメント、ウォッチドッグ。Claude Code のサブエージェントを組み合わせる6つのオーケストレーション形状。
  • エージェントチームのベストプラクティス
    Claude Code エージェントチームの実証済みパターン。コンテキストが豊富なスポーンプロンプト、適切なサイズのタスク、ファイルオーナーシップ、デリゲートモード、v2.1.33〜v2.1.45 の修正内容。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →

Claude Code スケジュールタスク

デスクトップスケジュールタスクによる堅牢な自動化、CLI /loop によるセッション内ポーリング、キャッチアップルール、ワークツリーの分離、そしてチームが毎朝実際に使用するプロンプトについて解説します。

Claude Code オートモード

2つ目の Sonnet モデルが、Claude Code のすべてのツール呼び出しを実行前に審査します。オートモードがブロックするもの・許可するもの、そして settings.json に追加される許可ルールについて解説します。

On this page

すべての権限モード
通常モード(default)
自動承認モード(acceptEdits)
プランモード(plan)
確認なしモード(dontAsk)
権限バイパスモード(bypassPermissions)
永続的なデフォルトモードの設定
/permissionsによる権限管理
権限ルールの構文
ツールのすべての使用をマッチングする
Bashワイルドカードパターン
ReadとEditのパターン
WebFetchドメインルール
MCPツールパターン
タスク(サブエージェント)ルール
フックによる権限の拡張
権限とサンドボックスの連携
マネージド権限設定
開発シナリオの戦略
初期開発(通常モードを使う)
アクティブな開発(自動承認を使う)
コードレビュー(プランモードを使う)
よくある権限の落とし穴
次は何か

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →