Custom subagents don't receive Agent/ToolSearch tools even when listed in frontmatter tools:
Description
A custom subagent (.claude/agents/*.md) that lists Agent and/or ToolSearch in its frontmatter tools: does not actually receive them as callable tools at runtime. All other listed tools (Bash, Read, Edit, Glob, Grep, PowerShell, Skill, Write) are correctly inherited - only these two dynamically-dispatched meta-tools are silently dropped.
Reproduction
- Define a subagent with
tools: Agent, Bash, ..., ToolSearch, ...in frontmatter, with instructions telling it to spawn a second custom subagent via theAgenttool. - Launch it via the top-level
Agenttool. - Ask it (diagnostically) to introspect its own available tool list and attempt to call
Agent/ToolSearch.
Observed: Neither Agent nor ToolSearch appear in the subagent's runtime tool list, and no function schema for either is callable - confirmed by two separate diagnostic runs of the subagent reporting its own tool set.
Expected: Per docs (tools-reference.md), Agent should be inheritable by a subagent so it can spawn further nested subagents. This did not happen in practice.
Impact: Any subagent design that relies on delegating to another named subagent (a common composition pattern) silently degrades to whatever manual fallback its instructions provide, with no error surfaced - easy to miss.