Skip to content

原文(日本語に翻訳)

deny ルールのツール名位置での glob パターンサポートを追加("*" で全ツール拒否);allow ルールは非MCP glob を拒否し、deny ルール内の不明なツール名は起動時に警告が表示されます。

原文(英語)

Added glob pattern support in deny rule tool-name position ("*" denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup

概要

settings.jsondenylist ルールにおけるツール名位置で glob パターンが使えるようになりました。"*" を指定することで全ツールを一括拒否でき、ワイルドカードパターンによる柔軟なツール制限が可能です。また、allow ルールでは MCP 以外の glob を拒否するようになり、deny ルール内の未知のツール名は起動時に警告が表示されます。

基本的な使い方

settings.json でのパターン指定:

json
{
  "permissions": {
    "deny": ["*"]
  }
}

特定のツールグループを glob で拒否:

json
{
  "permissions": {
    "deny": ["Bash(*)", "Write(*)", "Edit(*)"]
  }
}

実践例

読み取り専用モードの設定

全ての書き込み・実行系ツールを拒否してコードレビューのみを許可する:

json
{
  "permissions": {
    "allow": ["Read(*)", "Glob(*)", "Grep(*)"],
    "deny": ["Bash(*)", "Write(*)", "Edit(*)", "WebFetch(*)"]
  }
}

全ツール拒否でMCPのみ許可

Claude に標準ツールを使わせず、MCP ツールのみ使用させる設定:

json
{
  "permissions": {
    "deny": ["*"],
    "allow": ["mcp__my-server__*"]
  }
}

MCP ツールへの glob は allow ルールで引き続き使用できます。

セキュリティ強化設定

外部通信を全て拒否しつつ、ローカルファイル操作のみ許可:

json
{
  "permissions": {
    "deny": ["WebFetch(*)", "WebSearch(*)"]
  }
}

注意点

  • "*" を deny に指定すると全ての組み込みツールが拒否されます。MCP ツールには影響しません
  • allow ルールに非 MCP glob(例: "Bash(*)" 形式でない "Bash*" のような形式)を使用すると拒否されます
  • deny ルールに存在しないツール名を指定すると、起動時に警告メッセージが表示されます(エラーにはなりません)
  • ルールの評価順序は allow が deny に優先します

関連情報