[FEATURE]
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
I've found that subagents can only use tools that the parent has. This means that creating specialized agents becomes very difficult if those agents need to spawn subagents because the specialized parent agent would need access to every tool that the subagent needs even if the parent agent shouldn't use those tools. This leads to the parent agent having the capability to do things beyond the scope of its purpose. This also leads to wasted context space and unnecessary token burn.
Proposed Solution
Create a new section in settings.json and in agent frontmatter called, "allowed_subagent_tools". This section would never be seen by the model, only the harness. If a tool was in this section and in the subagents section, the subagent would have access to that tool, even if the parent didn't have access to those tools. This section would be overriden by the parent's deny rules. Ei, if the parent didn't have an "allowed_subagent_tools" section and did have deny rules, the subagent's "allowed_subagent_tools" section would be overriden. You'd have to be careful about enforcing this recursively such that a triply or quadruplely nested subagent couldn't sneak past this.
Alternative Solutions
Right now, I'm using the agent SDK to simulate this behavior by giving every agent that needs to spawn subagents the ability to spawn full fledged agents. This unfortunately doesn't have some of the safety benefits of the suggestion I've proposed above, but it achieves the same level of functionality.
Priority
Medium - Would be very helpful
Feature Category
Configuration and settings
Use Case Example
_No response_
Additional Context
_No response_