Nothing to try yetTier: how much it should matter to you
3Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
Tool ListingArea: what it touches
In DevelopmentKind: in v2.1.280,
In DevelopmentSection of the release
What
Message normalization gained an inlineToolDefinitions option: when enabled and tool metadata is available, newly-added tools are announced to the model as full tool_definition blocks (including schema) instead of bare tool_reference names, with a fallback path (inlineToolsFallback) that strips this back to name-only announcements when needed.
Internal bookkeeping now tracks which tool additions were defined inline "by value" versus just named on the wire (definedByValue, a byValueNames set), used to decide how each tool addition is announced.
The behavior is controlled by a new inline_tools gate that layers on top of the existing mid_conv_tool_change gate, adding a second capability tag to the announced feature list and controlling whether inline tool declarations are surfaced or refused mid-conversation, with new state tracking refusals (inlineToolsRefusal.rejectedHeader, inlineToolsRefusal.announcementsByName).
Why
Previously, tools added partway through a conversation were only referenced by name, which could leave the model without enough information (such as the tool's schema) to use them correctly. This lets the model see a tool's full definition when it's added later, when the feature is enabled.