mirror of
https://github.com/langgenius/dify-official-plugins.git
synced 2026-07-21 17:45:23 -04:00
reasoning_content always empty; Azure OpenAI plugin: Responses API “reasoning summary” is not surfaced #790
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jdzgd on GitHub (Nov 10, 2025).
Self Checks
Dify version
1.9.1
Cloud or Self Hosted
Self Hosted (Docker)
Steps to reproduce
Description
When using the Azure OpenAI provider with reasoning models (e.g., o4-mini) and the Responses API semantics, Azure returns a reasoning summary item in the response. However, in Dify the LLM node exposes no reasoning field (the reasoning_content variable stays empty), and the UI’s “Reasoning” split view shows nothing—so users cannot display the model’s reasoning summary even though Azure provides it. This seems related to #26646 where reasoning_content was not visible in outputs.
Why this matters
Azure/OpenAI reasoning models are designed to provide a reasoning summary (not the full chain-of-thought). Azure docs and the OpenAI Cookbook both document the type: "reasoning" item with a summary array when using the Responses API. Dify’s Azure OpenAI plugin currently doesn’t surface that summary to reasoning_content (or any other field), so the new “reasoning separation” UI cannot show anything even though the backend actually returns a summary.
https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/reasoning
✔️ Expected Behavior
Dify should surface the Responses API reasoning summary to the LLM node outputs, e.g.:
Map to existing reasoning_content, or
Provide a new reasoning_summary variable,
and render it in the “Reasoning” split of the UI (non-empty), similar to models that emit /reasoning_content.
❌ Actual Behavior
reasoning_content is missing or always empty for Azure OpenAI reasoning models.
The Reasoning pane shows nothing, despite Azure returning a type: "reasoning" item with summary via Responses API.
@dosubot[bot] commented on GitHub (Nov 10, 2025):
The reason reasoning_content is always empty for Azure OpenAI reasoning models in Dify v1.9.1 is that the backend does not map Azure's Responses API reasoning summary (the type: "reasoning" item with a summary array) to reasoning_content or any other output field. This means the UI's "Reasoning" pane cannot display the summary, even though Azure provides it. This is a known issue and is similar to what happens with other reasoning models like qwen3:30b, where the backend only exposes the content field and discards the reasoning/thinking field, resulting in an empty reasoning pane in the UI (source).
Recent changes in the LLM node (see PR #27089) improved support for structured outputs in streaming mode, but there is still no logic in the Azure OpenAI provider to extract and surface the reasoning summary to reasoning_content. To fix this, the Azure OpenAI provider needs to be updated to parse the Responses API output, extract the reasoning summary, and assign it to reasoning_content (or a new variable), so the UI can render it properly.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@fengwk commented on GitHub (Nov 20, 2025):
I'm using the openai compatible port of gemini 2.5 pro and also found that reasoning_content is empty when I use the OpenAi API-compatible plugin.
I am using Dify version 1.9.2 and OpenAl-API-compatible version 0.0.25.
@dosubot[bot] commented on GitHub (Dec 7, 2025):
Hi, @jdzgd. I'm Dosu, and I'm helping the dify-official-plugins team manage their backlog and am marking this issue as stale.
Issue Summary:
Next Steps:
Thank you for your understanding and contribution!