Follow Discord
Sweep 09 Oct 2026 · 17:27Z Build v2.1.296 517 read Stable v2.1.287 Latest v2.1.296 Next v2.1.296 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.296 ·

Tool definitions now have their citations field stripped when unsupported

citations joins strict, eager_input_streaming and defer_loading as an optional tool field that is removed before sending when unsupported

Group of 3 Under the hood Internal Changes
JSON All of v2.1.296
Under the hoodTier: how much it should matter to you
1Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Tool CallsArea: what it touches
Internal ChangesKind: in v2.1.296,
Internal ChangesSection of the release

What

Each 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:

  • The list of optional tool fields, previously strict and eager_input_streaming, now also includes citations.
  • 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.
  • 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.

Why

In 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.

See this entry in the whole of v2.1.296 →

Feedback