[GH-ISSUE #14404] issue: Tool list not always loading correctly #17238

Closed
opened 2026-04-19 22:56:50 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @tremlin on GitHub (May 27, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/14404

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Git Clone

Open WebUI Version

v0.6.11

Ollama Version (if applicable)

No response

Operating System

Ubuntu 18.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

Message input box shows all available tools for this model.

Actual Behavior

Message input box does not show all available tools for this model.

Steps to Reproduce

  1. Checkout dev branch (rev a2afd6f645cf6b27ac41a2439e4e94c506236118)
  2. Start front-end and back-end locally (npm, uvicorn)
  3. Open browser (Firefox 136.0)
  4. Using the workspace, create a tool (details don't matter, use the example)
  5. Using the workspace, create a model that includes the tool created in the previous step
  6. Create a new chat with this model
  7. Submit a message and wait for answer. Observe that input message shows that the tool is available.
  8. Open another browser window in incognito mode
  9. Navigate to same chat
  10. Observe that input message doesn't show any tools although the model has tool support.

Alternative to steps 8-10: Navigate to a chat that you did not create in the same browser.

Logs & Screenshots

Image

Image

Image

Image

This example follows the "Alternative" from the "Steps to Reproduce", switching to a chat that was not created in the same browser session.

Additional Information

WIth the commit 88a296b989f5104eab2218945c2819c42e50a566 the triggers for calling setToolIds have changed.
Now the tools are shown correctly only when the correct information is stored in the localStorage. If there is no information about a chat in the localStorage, then the tool list is not shown.

Originally created by @tremlin on GitHub (May 27, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/14404 ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Git Clone ### Open WebUI Version v0.6.11 ### Ollama Version (if applicable) _No response_ ### Operating System Ubuntu 18.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 Message input box shows all available tools for this model. ### Actual Behavior Message input box does not show all available tools for this model. ### Steps to Reproduce 1. Checkout `dev` branch (rev `a2afd6f645cf6b27ac41a2439e4e94c506236118`) 2. Start front-end and back-end locally (npm, uvicorn) 3. Open browser (Firefox 136.0) 4. Using the workspace, create a tool (details don't matter, use the example) 5. Using the workspace, create a model that includes the tool created in the previous step 6. Create a new chat with this model 7. Submit a message and wait for answer. Observe that input message shows that the tool is available. 8. Open another browser window in incognito mode 9. Navigate to same chat 10. Observe that input message doesn't show any tools although the model has tool support. Alternative to steps 8-10: Navigate to a chat that you did not create in the same browser. ### Logs & Screenshots ![Image](https://github.com/user-attachments/assets/72bc5332-c76c-425d-a452-e1df19bfb0d3) ![Image](https://github.com/user-attachments/assets/289817bb-64e6-43ba-8e0d-7cd86f6dfd70) ![Image](https://github.com/user-attachments/assets/91a3613f-8e8d-4662-9b7e-9ae30b08e4f5) ![Image](https://github.com/user-attachments/assets/cc3389bf-3c03-47d1-8839-baf8d773937e) This example follows the "Alternative" from the "Steps to Reproduce", switching to a chat that was not created in the same browser session. ### Additional Information WIth the commit `88a296b989f5104eab2218945c2819c42e50a566` the triggers for calling `setToolIds` have changed. Now the tools are shown correctly only when the correct information is stored in the `localStorage`. If there is no information about a chat in the `localStorage`, then the tool list is not shown.
GiteaMirror added the bug label 2026-04-19 22:56:50 -05:00
Author
Owner

@tjbck commented on GitHub (May 27, 2025):

You need to explicitly toggle on the tool(s) from the input menu.

<!-- gh-comment-id:2913977023 --> @tjbck commented on GitHub (May 27, 2025): You need to explicitly toggle on the tool(s) from the input menu.
Author
Owner

@tremlin commented on GitHub (May 28, 2025):

@tjbck Maybe I wrote the issue not in an optimal way.
When there is a model that enables a specific tool by default, then I expect as user of this model that this tool is also turned on by default when I chat with this model (unless I de-select this tool in the tool list of course).
This has always worked before like this.
Now for existing chats the behavior depends on what the user has in the localStorage of their browser. I find this a sub-optimal user-experience.

My suggestion would be that the default (when the user has nothing in their localStorage) should be as before (all options including pre-selected tools should be determined by the model).

<!-- gh-comment-id:2915388771 --> @tremlin commented on GitHub (May 28, 2025): @tjbck Maybe I wrote the issue not in an optimal way. When there is a model that enables a specific tool by default, then I expect as user of this model that this tool is also turned on by default when I chat with this model (unless I de-select this tool in the tool list of course). This has always worked before like this. Now for existing chats the behavior depends on what the user has in the `localStorage` of their browser. I find this a sub-optimal user-experience. My suggestion would be that the default (when the user has nothing in their `localStorage`) should be as before (all options including pre-selected tools should be determined by the model).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#17238