Kimi K2.5 thinking mode: reasoning_content missing in tool-loop 400 error
Diagnosis
Kimi K2.5 with thinking mode returns reasoning_content on assistant messages. In multi-round tool loops, assistant message reconstructed as dict with only role, content, tool_calls — dropping reasoning_content. Next API call: Moonshot rejects. First call succeeds (no prior assistant messages). Failure only round 2+ when previous assistant message re-sent without reasoning_content.
Fix
reasoning = getattr(msg, reasoning_content, None) → if present, add to assistant_msg[reasoning_content]. In /opt/infra/cios-notify/ai/client.py _tool_loop().