If a model can use tools, why did it sometimes behave as if none were available?
This release fixes a request-path issue that could make tool capability disappear before a request was actually sent, and unifies capability information across the same turn.
The issue is fixed. Prompts, tool declarations, and the final request now use the same capability state, with a consistency check before sending and one recoverable retry within the same turn.
Tools no longer disappear partway through a request
A fast request path could previously remove tools that were available earlier in the turn, making the model behave as though it had no tools. That path no longer clears them.
What the model is told matches what is actually sent
Prompt capability, declared tools, and the final request now come from the same capability state and are checked before sending. One recoverable retry is allowed in the same turn, while explicitly tool-free stages remain tool-free.