@rocky basin
Description:
OpenRouter is incorrectly modifying the messages array on /chat/completions and removing the empty assistant messages and assistant tool calls that gpt-oss emits. The model therefore doesn't respect previous reasoning and tool call arguments and interleaved thinking fails, causing the model to re-reason the entire response over and over again, including repeating tool calls multiple times.
What I've Tried:
I already tried to replicate the behavior with an minimal payload sent to both OpenRouter and the upstream model provider (Groq). On Groq, the model respects the tool calls and interleaved thinking correctly. The response generated by OpenRouter doesn't, so this is clearly an issue on OpenRouter's side.
API/Model: openai/gpt-oss-120b