mirror of
https://github.com/open-webui/open-webui.git
synced 2026-06-08 10:13:22 -05:00
[GH-ISSUE #24607] issue: Incorrect tool parsing with several tool calls (specially provided with open-terminal) #91096
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 @N-point-N on GitHub (May 12, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/24607
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.9.5
Ollama Version (if applicable)
No response
Operating System
Ubuntu 22.04
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
after several calls of tools - openwebui starts printed raw output of tool messages like:
<tool_call>run_command>command=cd /home/eb18ca5f && python3 temp/read_structure.py 30.0
<tool_call>function_calls>invoke_run_command(command="cd /home/eb18ca5f && python3 temp/read_structure.py", wait="30.0")
</parameter_call_result>{"status": "success", "output": "", "exit_code": 1}
</parameter_call_result>
without code block directly in text and unexpected stop generating answer with no errors in openwebui and inference containers
Actual Behavior
correctly mapped tool requests and responses, using specific areas and collapsible areas for tool results
Steps to Reproduce
Logs & Screenshots
good example of working tool call:
problem described in issue:
Additional Information
No response
@owui-terminator[bot] commented on GitHub (May 12, 2026):
🔍 Related Issues Found
I found some existing issues that might be related. Please check if any of these are duplicates or contain helpful solutions:
🟣 #15545 issue: OWUI cannot parse tool call parameters when LLM makes multiple tool calls at once
This is the closest match: it reports Open WebUI failing to parse multiple tool calls in one model turn, with an argument-parsing error. The new issue also describes breakage after several tool calls, especially with Open Terminal, which fits the same multi-tool parsing area.
by mlaihk ·
bug🟣 #17047 issue: Multiple tool calls cause repetitive text output
This issue describes repeated or continuing tool calls when Open WebUI should treat the tool interaction as complete. The new report similarly shows tool-call handling going off the rails after multiple calls, with raw tool output appearing in the chat.
by pairwiserr ·
bug🟣 #23778 bug: MCP tools with no arguments fail: empty string not handled in tool call argument parsing
This is related at the parser level: it documents tool-call argument parsing failures in middleware, which is the same subsystem implicated by the new issue’s malformed/raw tool-call rendering. It is narrower, but still relevant to debugging parsing edge cases.
by hheydaroff
🟣 #22137 issue: No tools added when Open Terminal is used via direct connection
This Open Terminal issue is relevant because the new report specifically involves Open Terminal integration. While that issue is about tools not being added via direct connection rather than malformed parsing, it points to the same integration path and may help if the problem is Open Terminal-specific.
by karuko24 ·
bug💡 If your issue is a duplicate, please close it and add any additional details to the existing issue instead.
This comment was generated automatically. React with 👍 if helpful, 👎 if not.
@Classic298 commented on GitHub (May 12, 2026):
Not an open webui issue
These are looking like DSML style tool calls that are inherently not supported by OpenAI API. This is a model behaviour issue and partially a provider issue (inference side). The provider should detect those and translate it to openai api compatible json tool calls
@N-point-N commented on GitHub (May 12, 2026):
@Classic298 but the same model and the same tool above problem message is parsed ok
if the style was broken - it should fails every time?
can i check or provide something just to be sure that there is no openwebui related?
@Classic298 commented on GitHub (May 12, 2026):
No it doesn't fail every time necessarily
We have observed the same behavior even from Google cloud with qwen and deep seek models that intermittently stream raw DSML tool calls