With structured outputs, extended thinking, and tools combined in multi-turn conversations, two things went wrong: a turn would end with only a thinking block and an empty text block instead of tooluse blocks, or the final text block would have a second JSON object appended after blank lines. Maintainer dtmeadows-ant confirmed both behaviors were a server-side issue with structured outputs combined with tools and extended thinking, fixed earlier in the year, with no SDK change needed. Users on the thread settled on phase-separated routing: keep outputconfig off for tool-calling turns and only inject it for a dedicated final-answer node.