{"version":"2.1.296","anchor":"citations-field-stripped-from-tool-schemas-when-unsupporte","canonical_anchor":"citations-field-stripped-from-tool-schemas-when-unsupporte","heading":"Tool definitions now have their citations field stripped when unsupported","tier":"internal","area":"Tool Calls","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/citations-field-stripped-from-tool-schemas-when-unsupporte","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Tool definitions now have their citations field stripped when unsupported\n\ncitations joins strict, eager_input_streaming and defer_loading as an optional tool field that is removed before sending when unsupported\n\n**What**\n\nEach tool Claude Code offers the model is described by a tool definition, which can carry optional fields that not every API accepts. `citations` is now one of those fields:\n\n- The list of optional tool fields, previously `strict` and `eager_input_streaming`, now also includes `citations`.\n\n- When a capability check says the field is not supported, the cleanup step now removes `citations` in the same way it already removed `eager_input_streaming`.\n\n- The function that strips API-only fields from tool definitions (`eager_input_streaming`, `defer_loading`, `strict`) now strips `citations` as well, so tool definitions carrying it are cleaned before they are sent.\n\n**Why**\n\nIn practice, tool definitions that include `citations` are no longer sent as-is to providers or endpoints that the capability check says do not support it.\n\n- Area: Tool Calls\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}