原文(日本語に翻訳)
settings.jsonのパーミッション設定または--disallowedTools CLIフラグで、Task(AgentName) 構文を使用して特定のエージェントを無効化するサポートを追加しました
原文(英語)
Added support for disabling specific agents using Task(AgentName) syntax in settings.json permissions or the --disallowedTools CLI flag
概要
Claude Code v2.1.0で導入された、きめ細かなエージェント制御機能です。Task(AgentName) 構文を使うことで、特定の専門エージェント(例: Bash, Explore, Planなど)を選択的に無効化できます。これにより、セキュリティポリシーの遵守、リソース制限、または特定の作業フローに応じて、Claudeが使用できるエージェントを制限できます。settings.jsonでの永続的な設定と、CLIフラグでのセッション単位の制御の両方に対応しています。
基本的な使い方
settings.jsonでの設定
json
{
"permissions": {
"disallowedTools": [
"Task(Bash)",
"Task(Explore)"
]
}
}CLIフラグでの設定
bash
# Bashエージェントを無効化してClaude Codeを起動
claude --disallowedTools "Task(Bash)"
# 複数のエージェントを無効化
claude --disallowedTools "Task(Bash),Task(Plan),Task(Explore)"実践例
セキュリティ重視の環境でBashエージェントを無効化
本番環境や共有開発環境で、シェルコマンド実行を禁止します。
json
// ~/.claude/settings.json
{
"permissions": {
"disallowedTools": [
"Task(Bash)"
]
}
}bash
# Claude Codeを起動
claude
# Bashコマンド実行を試みると...
> ファイル一覧を表示して
# Claudeは ls コマンドの代わりにGlobツールを使用
# (Bashツールは無効化されているため)初心者向けに複雑なエージェントを制限
学習目的で、高度なエージェント機能を無効化して基本機能のみ使用させます。
json
{
"permissions": {
"disallowedTools": [
"Task(Plan)",
"Task(Explore)",
"Task(feature-dev:*)"
]
}
}bash
# 初心者モードで起動
claude --disallowedTools "Task(Plan),Task(Explore)"
# Claudeは基本的なツール(Read、Write、Edit)のみ使用
# 複雑なプラン作成やコードベース探索は行わないプロジェクト別のエージェント制限
特定のプロジェクトでのみ、特定のエージェントを無効化します。
json
// プロジェクトの .claude/settings.json
{
"permissions": {
"disallowedTools": [
"Task(terraform-aws-expert)",
"Task(deployment-engineer)"
]
}
}bash
cd ~/projects/frontend-only-project
claude
# このプロジェクトではTerraformやデプロイ関連のエージェントは使用されない
# フロントエンド開発に集中できるCI/CD環境での自動化制限
CI/CD パイプラインで、インタラクティブなエージェントを無効化します。
bash
# GitHub Actions workflow
- name: Run Claude Code analysis
run: |
claude --disallowedTools "Task(Plan),Task(AskUserQuestion)" \
--prompt "コードレビューを実施"
# プラン作成や質問機能を無効化し、自動実行可能にする注意点
- この機能は Claude Code v2.1.0(2026年1月7日リリース)で導入されました
- 対象となるエージェント:
- 組み込みエージェント:
Bash,Explore,Plan,general-purposeなど - カスタムエージェント:
feature-dev:code-architect,terraform-aws-expertなど - ワイルドカード対応:
Task(feature-dev:*)で feature-dev 配下のすべてのエージェントを無効化
- 組み込みエージェント:
- 構文:
Task(AgentName)- 特定のエージェントを無効化Task(Namespace:*)- 名前空間配下のすべてのエージェントを無効化- カンマ区切りで複数指定:
Task(Bash),Task(Plan)
- 優先順位:
- CLIフラグ
--disallowedTools(セッション単位) - プロジェクトの
.claude/settings.json - グローバルの
~/.claude/settings.json
- CLIフラグ
- 無効化されたエージェントを使用しようとすると:
- Claude は別の方法を自動的に試みる
- または、「このエージェントは無効化されています」というメッセージを表示
Taskツール自体を無効化すると、すべてのエージェントが使用不可になります- 他のツール(
Read,Write,Bashなど)の無効化には、従来のdisallowedTools構文を使用します:json{ "permissions": { "disallowedTools": ["Bash", "Task(Explore)"] } }