{"version":"2.1.280","anchor":"new-inline-tool-definitions-mode-for-late-tool-additions","canonical_anchor":"new-inline-tool-definitions-mode-for-late-tool-additions","heading":"New inline tool definitions for tools added mid-conversation","tier":"soon","area":"Tool Listing","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280\/e\/new-inline-tool-definitions-mode-for-late-tool-additions","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280","markdown":"### New inline tool definitions for tools added mid-conversation\n\nTools added after a conversation starts can now be announced to the model with their full schema instead of just a name\n\n**What**\n\n- 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.\n\n- 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.\n\n- 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`).\n\n**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.\n\n- Area: Tool Listing\n- Tier: Nothing to try yet\n- Useful: 3\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}