Dynamic Tool Loading
A 200-tool platform cannot put every schema in the prompt. Load what this task needs.
Apps on a phone — install what you need, do not ship every app in RAM.
Visual Workflows
Start here — scroll inside each diagram frame to explore, then use + / − to zoom up to 200% if needed.
Overview
Scroll inside the frame to explore · use + / − to zoom up to 200%
Scroll inside the frame to explore · use + / − to zoom up to 200%
Load then call
Scroll inside the frame to explore · use + / − to zoom up to 200%
Discover, attach to the next request, then the model can call it.
Key Takeaways
- 1.Dynamic loading adds tools mid-run instead of sending the full catalog. Load by intent, user, or a search over tool descriptions.
- 2.Unload tools you no longer need to save tokens. The model cannot call a tool it has not been shown.
- 3.Keep a large catalog off-prompt. Retrieve a subset (embedding search over descriptions, or a router).
- 4.Attach those schemas to the next completion. Never expect a call to an unseen tool.
Learn elsewhere
- →Tool Selection
- →Tool Registry
Real Example
Scenario
User mentions Stripe. Loader attaches stripe.refund and stripe.balance. GitHub tools stay unloaded.
What you would do
In Tool Calling & Function Calling, apply Dynamic Tool Loading to this scenario: User mentions Stripe. Identify the inputs, run the technique, validate the output, and note one thing you would monitor in production.
Commands
Commands to Remember
Catalog off-promptAttach before the callUnload when doneUnseen = uncallable
Cheat Sheet
Quick recap
quick ref- •Install for this task
- •Search the catalog
- •Must be visible to call
- •Saves tokens
Common Mistakes
- ✕Expecting a call to a tool you never sent
- ✕Loading the whole catalog 'just in case'
- ✕Forgetting to unload write tools after the task
