What is a Subagent?
A subagent is a child agent spawned by an orchestrating agent to handle a delegated task, running with its own context window and typically a constrained subset of tools. It works independently and returns a result to the parent, which never sees the subagent's intermediate steps.
WHY IT MATTERS
Subagents solve two problems at once. First, context isolation: a research or search task might read dozens of files or web pages, but the parent only needs the conclusion. Running that work in a subagent keeps the intermediate output out of the parent's context window. Second, parallelism: an orchestrator can fan out several subagents at once and combine their results.
Subagents also create a natural permission boundary. Because each subagent is configured with its own toolset, an orchestrator can hand a task to a read-only researcher while reserving write and execute capabilities for itself — a practical application of least privilege inside a multi-agent system. Coding agents such as Claude Code expose this directly: user-defined subagents declare which tools they may use, and the parent delegates accordingly.
From a governance perspective, subagents multiply the number of actors making tool calls. A single user request can fan out into many concurrent agents, each calling MCP tools under the same credentials — which makes attribution, rate limiting, and policy enforcement at the tool-call layer more important, not less.
HOW POLICYLAYER USES THIS
When subagents route their MCP traffic through the PolicyLayer gateway, every tool call they make is evaluated against the same deterministic policies as the parent agent's calls, and each call is recorded in the audit trail. Policy holds regardless of how deep the delegation chain goes, because enforcement sits between the agents and the upstream servers rather than inside any one agent's configuration.