mirror of
https://github.com/langgenius/dify-official-plugins.git
synced 2026-07-21 17:45:23 -04:00
When using the "ReAct" agent strategy, TOOL calls are not being executed #924
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 @shingo-kurimoto-ulsystems on GitHub (Jan 7, 2026).
Self Checks
Dify version
1.11.2
Plugin version
Dify Agent Strategies 0.0.30
Cloud or Self Hosted
Cloud
Steps to reproduce
Expected Behavior
The agent should thought and invoke the TOOL.
Then, in Round 2, it should answer to the user.
Current Behavior
The agent outputs Thought including TOOL parameters JSON.
The TOOL is not executed, and it does not proceed to Round 2.
✔️ Error log
No response
@dosubot[bot] commented on GitHub (Jan 7, 2026):
Hi @shingo-kurimoto-ulsystems! I'm Dosu and I’m helping the dify-official-plugins team.
This issue is likely caused by how the ReAct agent strategy parses and matches tool calls. The agent expects the LLM output to include an exact "Action:" prefix followed by a JSON object with the tool's name and parameters. If there is any mismatch between the tool name in your configuration and what the model outputs, or if the JSON structure is not exactly as expected, the tool call will not be executed and the flow will stop after the "Thought" step. This makes the strategy brittle—minor discrepancies in naming or formatting can prevent tool execution entirely. Recent changes to the output parser and streaming logic may also impact this behavior, so ensuring your tool names and prompts match exactly is critical for reliable execution. You can review the relevant implementation and recent changes for more details: ReAct output parser refactor and JSON handling, streaming and tool interaction flow, and ReAct agent strategy code.
As a workaround, double-check that the tool name in your prompt and the model's output matches the registered tool's identity exactly (case and spacing included). If the issue persists, it may be due to the model's output format or a subtle mismatch in the expected action JSON.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
@shingo-kurimoto-ulsystems commented on GitHub (Jan 7, 2026):
This functionality was working properly in December.
@tkosht commented on GitHub (Jan 8, 2026):
I'm having the same problem..
model: Bedrock Claude Opus 4.5
@ArthurHSUflow commented on GitHub (Jan 19, 2026):
Same issue here. Working fine until 0.0.26 and not next versions.