Forum Discussion

tomdicarlo's avatar
tomdicarlo
Copper Contributor
Mar 30, 2026

o3-mini not returning reasoning tokens

Hi,

I work on a service that leverages o3-mini via Microsoft Foundry. In the past few days, I've observed that when calling o3-mini via Microsoft Foundry, that completion_token_details always has the reasoning_tokens value set to 0, regardless of the reasoning setting being used.

 

In my testing, it seems that the reasoning is still occurring, as increasing reasoning value causes the completion_tokens field to increase by a good amount, but none of the reasoning levels cause the reasoning_tokens value to be anything other than 0.


Has anyone else encountered this issue?

 

Thanks!

Tom

1 Reply

  • 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.