はじめに
Claude Code v2.1.152 (2026-05-27 リリース) で disallowed-tools フロントマターが追加されました。
これを使うと、SKILL.md 内だけでツールアクセス制限が完結します。スキル実行中に使えるツールを明示的に制限できるため、最小権限の原則 (Principle of Least Privilege) を Claude Code のスキル設計に適用できます。
---
name: my-skill
disallowed-tools:
- Write
- Bash
- WebSearch
---
このフロントマターを書くだけで、スキル実行中は Write/Bash/WebSearch が無効になります。
なぜ最小権限が必要か
Claude Code のスキルは強力なツールにアクセスできます。用途によっては「このスキルはファイルを読むだけでいい」「外部通信は絶対させたくない」というケースがあります。
disallowed-tools 以前は、スキル実行中のツール制限はユーザーの権限設定に依存するか、プロンプトで「Bash を使わないでください」と指示するしかありませんでした。いずれも確実な保証ではありません。
disallowed-tools により、スキル定義ファイル (SKILL.md) に制約を埋め込むことができます。
5パターンのテンプレート
全パターンを OSS として公開しました。
👉 claude-skill-templates (GitHub)
Pattern 1: 読み取り専用 (read-only)
---
name: tmpl-readonly
description: 読み取り専用スキル。監査・調査用途向け。
disallowed-tools:
- Write
- Edit
- Bash
- WebSearch
- WebFetch
---
用途: コードベースの監査、ログ調査など。外部への書き込み・通信が一切発生しないことを保証。
Pattern 2: Web調査専用 (web-researcher)
---
name: tmpl-webresearch
description: Web調査専用スキル。外部情報収集のみ。
disallowed-tools:
- Write
- Edit
- Bash
---
用途: 外部情報の収集・調査に特化。ローカルファイルの変更やシェルコマンドが発生しないことを保証。
Pattern 3: ローカル限定 (local-worker)
---
name: tmpl-localwork
description: ローカル限定スキル。外部通信なし。
disallowed-tools:
- WebSearch
- WebFetch
---
用途: ファイル操作・シェルコマンドは許可するが、外部への通信を禁止。機密データ処理やオフライン環境に適している。
Pattern 4: レポート出力 (reporter)
---
name: tmpl-reporter
description: レポート出力スキル。ファイル読み書きのみ。
disallowed-tools:
- Bash
- WebSearch
- WebFetch
---
用途: ファイルの読み取りとレポート出力のみ。シェルコマンドや外部通信が発生しない安全なドキュメント生成に。
Pattern 5: 完全サンドボックス (full-sandbox)
---
name: tmpl-sandbox
description: 完全サンドボックス。Read/Glob/Grep のみ許可。
disallowed-tools:
- Write
- Edit
- Bash
- WebSearch
- WebFetch
---
用途: 読み取りのみ許可する最も厳格なパターン。コードベースの閲覧・質疑応答のみで、副作用ゼロを保証。
使い方
1. テンプレートをコピー
# リポジトリをクローン
git clone https://github.com/ballondol/claude-skill-templates.git
# 使いたいテンプレートをスキルディレクトリにコピー
cp tmpl-readonly--SKILL.md /path/to/project/.claude/skills/my-audit/SKILL.md
2. name フィールドを変更
---
name: my-audit ← 任意の名前に変更
disallowed-tools:
- Write
- Edit
...
---
3. Claude Code でリロード
/reload-skills
4. 呼び出す
/my-audit
動作確認済み環境
| 項目 | 内容 |
|---|---|
| Claude Code バージョン | v2.1.152 |
| 確認日 | 2026-05-28 |
| 環境 | VSCode Extension (Windows 11) |
全 5 パターンについて、許可ツールの動作と disallowed-tools のブロックを実際に確認しています。
注意事項
disallowed-tools が有効になるタイミング
disallowed-tools はスキルがアクティブな間のみ有効です。
- ✅ ユーザーが新しいターンの先頭で
/skill-nameを入力した場合 - ❌ アシスタントが処理中にキューイングされた slash command には適用されない
スキル外の操作には影響しない
disallowed-tools はスキル実行中のみ有効です。通常の Claude Code 操作には一切影響しません。
おわりに
disallowed-tools は v2.1.152 追加の新機能です。テンプレート集は 2026-05-28 時点で類似 OSS がゼロのため、先占できるうちに公開しました。
バグ報告・改善要望は GitHub Issues へどうぞ。
👉 claude-skill-templates (GitHub)
この記事は Zenn の同記事 を Qiita 向けに改稿したものです。