CC Guide
設定

パーミッションモード

Claude Codeの権限設定。5つのモード、ルール構文、MCP権限、設定方法を解説。

permissionssecuritysettingsmcp

パーミッションモード

Claude Codeは5つの権限モードを提供します。

モード説明想定用途
defaultツールごとに確認通常の開発
acceptEdits編集操作を自動許可高速な開発サイクル
dontAskほぼ全操作を自動許可信頼できる環境
bypassPermissions全権限チェックをスキップCI/CD等の自動化
plan読み取りのみ調査・計画フェーズ
# モードの指定
claude --permission-mode plan
// settings.jsonでのデフォルト指定
{
  "permissions": {
    "defaultMode": "acceptEdits"
  }
}

ルール構文

allowaskdeny でツールごとの権限を細かく制御します。

基本形式

ToolName(subcommand:arguments)

ルール例

{
  "permissions": {
    "allow": [
      "Bash(git diff:*)",
      "Bash(git log:*)",
      "Bash(npm test:*)",
      "Read"
    ],
    "ask": [
      "Bash(git push:*)",
      "Bash(npm install:*)"
    ],
    "deny": [
      "WebFetch",
      "Read(./.env)",
      "Bash(rm -rf:*)"
    ]
  }
}

ツール別権限一覧

ツール権限
Bash要確認Bash(git diff:*)
Edit要確認Edit
Write要確認Write
WebFetch要確認WebFetch
WebSearch要確認WebSearch
Read不要Read
Grep不要Grep
Glob不要Glob

MCP権限

MCPツールはサーバー単位またはツール単位で権限を設定します。ワイルドカードはサポートされていません。

{
  "permissions": {
    "allow": [
      "mcp__github",
      "mcp__github__get_issue"
    ]
  }
}
指定方法説明
サーバー全体サーバー内の全ツールを許可mcp__github
個別ツール特定ツールのみ許可mcp__github__get_issue

mcp__github__* のようなワイルドカードは無効です。

追加ディレクトリ

デフォルトの作業ディレクトリ以外も許可できます。

{
  "permissions": {
    "additionalDirectories": [
      "../docs/",
      "../shared-libs/"
    ]
  }
}

設定の確認・変更

# 現在の権限を確認
/permissions

# CLIで設定
claude config add permissions.allow "Bash(npm run build:*)"

関連コンテンツ