Breaking Down Subagent.allowed_tools Does Not Normalize
Tools aren't just names - they're language puzzles needing normalization. Most users assume "schedule_list" is standard, but model-facing format matters more.
Here is the deal: Bub’s agent fails because it drops tool aliases before setup, ending in a generic "tools missing" error - totally preventable.
Bullet points:
Normalize model names to runtime format instantly.
Reject or flag unknown aliases early.
Match expectations before failing at runtime.
People assume "schedule_list" = "schedule.list" - but that’s not always law. Tools get mismatched silently.
Here’s the catch: early validation cuts fire drills. Fix before call, fix.
But there is a catch: normalization rules must be strict, not just haphazard.
Subtle forces: alias confusion, case issues, whitespace leaks. All crumble normalization.
The bottom line: The keyword subagent.allowed_tools directly impacts agent reliability. Always validate tool names before they hit the agent.
This isn’t visible, but fixes here save debugging time.
Final thoughts
- Are you letting tool aliases slip through?
- Does your flow catch mismatches early?
- Subagent.allowed_tools must be your first line of defense.
These small steps make big difference.