Forum Discussion
o3-mini not returning reasoning tokens
Yes — based on what you describe, the model is probably still reasoning; the zero looks like a usage-reporting regression, not a failure of reasoning_effort. In Azure, hidden reasoning tokens are included in completion_tokens and should also appear in completion_tokens_details.reasoning_tokens. The larger completion total as effort increases is the useful clue.
I’d isolate the layer that is dropping the breakdown:
1. Run the same non-streaming request directly against the Azure OpenAI v1 Chat Completions endpoint and inspect the raw JSON, not the SDK object.
2. Record the deployment/model version, endpoint/region, SDK version, request ID, and timestamp.
3. If the raw JSON has a nonzero value, update or bypass the SDK/serializer. If it is also zero, open an Azure support case with two minimal low/high requests and their request IDs.
For streaming, inspect usage only on the final usage event or chunk. Don’t calculate billing from reasoning_tokens alone; completion_tokens is the relevant total here.