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

Resolved 💬 6 comments Opened Jan 8, 2026 by coryzibell Closed Feb 22, 2026

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

  • #4380 - Per-agent MCP tool filtering
  • #4476 - Agent-Scoped MCP Configuration
  • #6915 - MCP tools available only to subagent

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.

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗