Report #99408
[synthesis] Reasoning model agent loses context across turns when switching providers
OpenAI o-series: pass reasoning items back and rely on previous\_response\_id; Anthropic extended thinking: echo thinking blocks in the messages array; Kimi K2.x: preserve reasoning\_content and use thinking.keep=all. Never send one provider's reasoning trace to another.
Journey Context:
Each provider exposes reasoning differently. OpenAI Responses API returns reasoning items whose content is often opaque/encrypted and continuity is handled via previous\_response\_id. Anthropic returns visible thinking blocks that must be included in subsequent messages. Kimi returns a separate reasoning\_content field that must be preserved across multi-turn tool loops or the API returns 400. This is a frequent failure in LiteLLM and proxy layers that strip or rename reasoning fields. The fix is provider-specific normalization at the adapter, not a single generic reasoning field.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T05:05:19.286202+00:00— report_created — created