[GH-ISSUE #24607] issue: Incorrect tool parsing with several tool calls (specially provided with open-terminal) #91096

Closed
opened 2026-05-15 16:22:10 -05:00 by GiteaMirror · 4 comments
Owner

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

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

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

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

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

  1. openwebui deployed by docker compose
  2. open-terminal deployed by docker compose
  3. local LLM Qwen3.5-35B-A3B deployed by docker compose and llama inference
  4. successfully connect open-terminal instance to openwebui instance
  5. connect to LLM inference
  6. put xlsx file to home folder by right panel on openwebui
  7. ask LLM by chat for check file in folder and try to write and execute py script for simply analysis

Logs & Screenshots

good example of working tool call:

Image

problem described in issue:

Image

Additional Information

No response

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 - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### 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 - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### 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</parameter> <wait>30.0</wait> <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 1. openwebui deployed by docker compose 2. open-terminal deployed by docker compose 3. local LLM Qwen3.5-35B-A3B deployed by docker compose and llama inference 4. successfully connect open-terminal instance to openwebui instance 5. connect to LLM inference 6. put xlsx file to home folder by right panel on openwebui 7. ask LLM by chat for check file in folder and try to write and execute py script for simply analysis ### Logs & Screenshots good example of working tool call: <img width="1087" height="912" alt="Image" src="https://github.com/user-attachments/assets/5bc514da-d6fb-496b-91a7-8a16dd5ed551" /> problem described in issue: <img width="1316" height="1237" alt="Image" src="https://github.com/user-attachments/assets/fd6bd1fe-1be7-47b0-ab71-c1df922f3283" /> ### Additional Information _No response_
GiteaMirror added the bug label 2026-05-15 16:22:10 -05:00
Author
Owner

@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:

  1. 🟣 #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

  2. 🟣 #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

  3. 🟣 #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

  4. 🟣 #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.

<!-- gh-comment-id:4429039458 --> @owui-terminator[bot] commented on GitHub (May 12, 2026): <!-- terminator-bot:related-issues-reply --> 🔍 **Related Issues Found** I found some existing issues that might be related. Please check if any of these are duplicates or contain helpful solutions: 1. 🟣 [#15545](https://github.com/open-webui/open-webui/issues/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`* 2. 🟣 [#17047](https://github.com/open-webui/open-webui/issues/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`* 3. 🟣 [#23778](https://github.com/open-webui/open-webui/issues/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* 4. 🟣 [#22137](https://github.com/open-webui/open-webui/issues/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.
Author
Owner

@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

<!-- gh-comment-id:4429090819 --> @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
Author
Owner

@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?

<!-- gh-comment-id:4429192726 --> @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?
Author
Owner

@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

<!-- gh-comment-id:4429465009 --> @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
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#91096