Skip to content

Feature Request: Tool blacklist/deny for agent specialization in multi-agent workflows #16851

@coryzibell

Description

@coryzibell

Summary

Currently, custom agents support whitelisting tools via allowed_tools in YAML frontmatter. This works well for highly constrained agents, but for multi-agent orchestration patterns, the inverse is often more practical: allow everything EXCEPT specific tools.

Use Case

In multi-agent architectures, orchestrator agents often need broad capabilities but should delegate certain specialized tasks to sub-agents rather than handling them directly.

Example: An orchestrator agent should be able to read files, run bash, search code, etc., but should NOT directly use gh commands - those should be delegated to a GitHub-specialist agent who has better context for that domain.

Current workaround: Whitelist every tool except the ones you want to exclude. This is brittle and requires updating whenever new tools are added.

Desired: denied_tools or similar that excludes specific tools while allowing everything else.

Proposed Schema

Building on the discussion in #4380 (specifically this comment), something like:

---
denied_tools:
  - gh
  - Task
---

Or the more expressive allow/deny/ask model:

{
  "permissions": {
    "allow": ["*"],
    "deny": ["gh", "mcp__github"]
  }
}

Benefits

  1. Encourages delegation - Agents naturally route specialized tasks to specialists
  2. Simpler configuration - No need to enumerate all allowed tools
  3. Future-proof - New tools automatically available unless explicitly denied
  4. Better orchestration patterns - Supports hierarchical agent architectures

Related Issues

Those issues focus primarily on whitelisting. This request specifically addresses the blacklist/deny case for orchestration workflows.


Happy to provide more detailed examples of multi-agent workflows where this pattern would help.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions