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.7.2
Ollama Version (if applicable)
No response
Operating System
Pop os 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
Web search should only be executed when the integration is selected in chat or if it is selected as a default Feature for the model.
Actual Behavior
Web search only works if Builtin Tools is also selected for the model.
Also when Builtin Tools is selected Search can't be toggled off in the interface without turning off Builtin Tools.
Steps to Reproduce
Change the capabilities of the model to:
Web search ✅
Builtin Tools ✅
Search will work even without being enabled in chat, because of "Builtin Tools"
Change the capabilities of the model to:
Web search ✅
Builtin Tools ❌
Search will never work, even with being enabled in chat.
I'm fine with builtin tools like timestamps and memory.
But I'd like to see separate toggles for searching:
Web,
Chat history,
Knowledge base,
Notes
Randomly starting a search in chat history or knowledge base can be very useless.
Also in some chats information absolutely needs to stay offline.
If I can't control the online search I need to disable it to prevent information from leaking.
Logs & Screenshots
No errors.
Additional Information
No response
Originally created by @HenkieTenkie62 on GitHub (Jan 13, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20641
Originally assigned to: @Classic298 on GitHub.
### 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.7.2
### Ollama Version (if applicable)
_No response_
### Operating System
Pop os 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
Web search should only be executed when the integration is selected in chat or if it is selected as a default Feature for the model.
### Actual Behavior
Web search only works if Builtin Tools is also selected for the model.
Also when Builtin Tools is selected Search can't be toggled off in the interface without turning off Builtin Tools.
### Steps to Reproduce
Change the capabilities of the model to:
Web search ✅
Builtin Tools ✅
Search will work even without being enabled in chat, because of "Builtin Tools"
Change the capabilities of the model to:
Web search ✅
Builtin Tools ❌
Search will never work, even with being enabled in chat.
I'm fine with builtin tools like timestamps and memory.
But I'd like to see separate toggles for searching:
Web,
Chat history,
Knowledge base,
Notes
Randomly starting a search in chat history or knowledge base can be very useless.
Also in some chats information absolutely needs to stay offline.
If I can't control the online search I need to disable it to prevent information from leaking.
### Logs & Screenshots
No errors.
### Additional Information
_No response_
@owui-terminator[bot] commented on GitHub (Jan 13, 2026):
🔍Similar Issues Found
I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:
#20595issue: "search_web" tool executed even when "Web Search" control disabled by SlavikCA • Jan 11, 2026 • bug
#20621issue: WebSearch not working properly on the manul mode. by calebrio02 • Jan 12, 2026 • bug
#20327issue: Unable to use any Open WebUI version newer than 0.6.25 due to hybrid search performance by galvanoid • Jan 02, 2026 • bug
#20186issue: WEB_SEARCH_DOMAIN_FILTER_LIST cannot be specified via an environment variable. by leagueofsoups • Dec 26, 2025 • bug
#19825Image Generation and Web Search trigger on every message by bcnation • Dec 08, 2025 • bug
Show 5 more related issues
#19698issue: .41 web based search and webpages - RAG - are not fixed by frenzybiscuit • Dec 02, 2025 • bug
#20003issue: Web Search with BRAVE API does not work. by tigran123 • Dec 17, 2025 • bug
#18290Web Search returns incomplete or inconsistent results by aimendenche-nw • Oct 13, 2025 • bug
#19668issue: hybrid search setting doesnt stay active by arslancloud • Dec 01, 2025 • bug
#19925issue: Model responses stop after web searches by tm-coder-484 • Dec 13, 2025 • bug
💡Tips:
If this is a duplicate, please consider closing this issue and adding any additional details to the existing one
If you found a solution in any of these issues, please share it here to help others
This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
<!-- gh-comment-id:3744294671 -->
@owui-terminator[bot] commented on GitHub (Jan 13, 2026):
🔍 **Similar Issues Found**
I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:
1. [#20595](https://github.com/open-webui/open-webui/issues/20595) **issue: "search_web" tool executed even when "Web Search" control disabled**
*by SlavikCA • Jan 11, 2026 • `bug`*
2. [#20621](https://github.com/open-webui/open-webui/issues/20621) **issue: WebSearch not working properly on the manul mode.**
*by calebrio02 • Jan 12, 2026 • `bug`*
3. [#20327](https://github.com/open-webui/open-webui/issues/20327) **issue: Unable to use any Open WebUI version newer than 0.6.25 due to hybrid search performance**
*by galvanoid • Jan 02, 2026 • `bug`*
4. [#20186](https://github.com/open-webui/open-webui/issues/20186) **issue: WEB_SEARCH_DOMAIN_FILTER_LIST cannot be specified via an environment variable.**
*by leagueofsoups • Dec 26, 2025 • `bug`*
5. [#19825](https://github.com/open-webui/open-webui/issues/19825) **Image Generation and Web Search trigger on every message**
*by bcnation • Dec 08, 2025 • `bug`*
<details>
<summary>Show 5 more related issues</summary>
6. [#19698](https://github.com/open-webui/open-webui/issues/19698) **issue: .41 web based search and webpages - RAG - are not fixed**
*by frenzybiscuit • Dec 02, 2025 • `bug`*
7. [#20003](https://github.com/open-webui/open-webui/issues/20003) **issue: Web Search with BRAVE API does not work.**
*by tigran123 • Dec 17, 2025 • `bug`*
8. [#18290](https://github.com/open-webui/open-webui/issues/18290) **Web Search returns incomplete or inconsistent results**
*by aimendenche-nw • Oct 13, 2025 • `bug`*
9. [#19668](https://github.com/open-webui/open-webui/issues/19668) **issue: hybrid search setting doesnt stay active**
*by arslancloud • Dec 01, 2025 • `bug`*
10. [#19925](https://github.com/open-webui/open-webui/issues/19925) **issue: Model responses stop after web searches**
*by tm-coder-484 • Dec 13, 2025 • `bug`*
</details>
---
💡 **Tips:**
- If this is a duplicate, please consider closing this issue and adding any additional details to the existing one
- If you found a solution in any of these issues, please share it here to help others
*This comment was generated automatically by a bot.* Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
Web search should only be executed when the integration is selected in chat or if it is selected as a default Feature for the model.
Yes - but you forgot the other scenario
If builtin tools is active, web search capability is enabled and function calling is set to native, then the model can decide autonomously to use web search
Actual Behavior
Web search only works if Builtin Tools is also selected for the model.
This is only the case if you enable native function calling but disable built-in tools
Also when Builtin Tools is selected Search can't be toggled off in the interface without turning off Builtin Tools.
what do you mean here? I do not understand the sentence
Change the capabilities of the model to:
Web search ✅
Builtin Tools ❌
Search will never work, even with being enabled in chat.
AHA! I understand. Is this the core of the issue?
Ok.
So for confirmation: what is the expected behaviour here? That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?
<!-- gh-comment-id:3744393249 -->
@Classic298 commented on GitHub (Jan 13, 2026):
<details><summary>Other questions/comments about your issue</summary>
> Web search should only be executed when the integration is selected in chat or if it is selected as a default Feature for the model.
Yes - but you forgot the other scenario
If builtin tools is active, web search capability is enabled and function calling is set to native, then the model can decide autonomously to use web search
---
> Actual Behavior
> Web search only works if Builtin Tools is also selected for the model.
This is only the case if you enable native function calling but disable built-in tools
> Also when Builtin Tools is selected Search can't be toggled off in the interface without turning off Builtin Tools.
what do you mean here? I do not understand the sentence
---
</details>
> Change the capabilities of the model to:
> Web search ✅
> Builtin Tools ❌
> Search will never work, even with being enabled in chat.
AHA! I understand. Is this the core of the issue?
Ok.
So for confirmation: what is the expected behaviour here? That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
If builtin tools is active, web search capability is enabled and function calling is set to native, then the model can decide autonomously to use web search
I would expect to still be able to control which tools are available when native function calling and Builtin Tools is enabled.
If you deselect web search capability in the model card you are not able to turn it on in the chat interface.
This is only the case if you enable native function calling but disable built-in tools
So why does the Builtin tools toggle, influence the Web Search toggle?
AHA! I understand. Is this the core of the issue?
This is actually broken yes. But also the other behaviour is pretty unexpected.
Ok.
So for confirmation: what is the expected behaviour here? That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?
Expected behaviour is with native toolcalling enabled, you are still able to control whether the model can search online.
I would say native toolcalling is giving the model an option. The toggles would be for controlling which options are available. Otherwise I wouldn't know why the buttons are in the interface.
Also in the model interface you can select "Default Features"; You can also default enable Web Search here but as of now this is apparently ignored with the combination of:
Capability: Web search+ Builtin Tools
Native toolcalling
<!-- gh-comment-id:3744824583 -->
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
**If builtin tools is active, web search capability is enabled and function calling is set to native, then the model can decide autonomously to use web search**
I would expect to still be able to control which tools are available when native function calling and Builtin Tools is enabled.
If you deselect web search capability in the model card you are not able to turn it on in the chat interface.
**This is only the case if you enable native function calling but disable built-in tools**
So why does the Builtin tools toggle, influence the Web Search toggle?
**AHA! I understand. Is this the core of the issue?**
This is actually broken yes. But also the other behaviour is pretty unexpected.
**Ok.
So for confirmation: what is the expected behaviour here? That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?**
Expected behaviour is with native toolcalling enabled, you are still able to control whether the model can search online.
I would say native toolcalling is giving the model an option. The toggles would be for controlling which options are available. Otherwise I wouldn't know why the buttons are in the interface.
Also in the model interface you can select "Default Features"; You can also default enable Web Search here but as of now this is apparently ignored with the combination of:
Capability: Web search+ Builtin Tools
Native toolcalling
@HenkieTenkie62 the buttons indeed should be removed if native tool calling is used. the model has the option and the model will decide when to use it. Today's models have all been fine tuned to decide intelligently when they need to use these tools, even smaller ones like gpt-oss-20bn or nemotron work very well with native tool calling for these cases
<!-- gh-comment-id:3744847701 -->
@Classic298 commented on GitHub (Jan 13, 2026):
@HenkieTenkie62 the buttons indeed should be removed if native tool calling is used. the model has the option and the model will decide when to use it. Today's models have all been fine tuned to decide intelligently when they need to use these tools, even smaller ones like gpt-oss-20bn or nemotron work very well with native tool calling for these cases
Also in the model interface you can select "Default Features"; You can also default enable Web Search here but as of now this is apparently ignored with the combination of:
Capability: Web search+ Builtin Tools
Native toolcalling
Yes this only has an impact when DEFAULT is selected for tool calling
<!-- gh-comment-id:3744849598 -->
@Classic298 commented on GitHub (Jan 13, 2026):
> Also in the model interface you can select "Default Features"; You can also default enable Web Search here but as of now this is apparently ignored with the combination of:
> Capability: Web search+ Builtin Tools
> Native toolcalling
Yes this only has an impact when DEFAULT is selected for tool calling
So what is actually needed is to hide these buttons if builtin is enabled?
<!-- gh-comment-id:3744852069 -->
@Classic298 commented on GitHub (Jan 13, 2026):
So what is actually needed is to hide these buttons if builtin is enabled?
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
I would rather have that the functionality of the buttons is restored.
This should correspond to the Default Features found at the model settings page.
Why wouldn't you let the user decide which tools are useful or available to the model?
In my case i need to make sure the model doesn't do online searches when working with sensitive company info.
Also still the issue exists that without builtin tools, web search isn't working.
<!-- gh-comment-id:3744867748 -->
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
I would rather have that the functionality of the buttons is restored.
This should correspond to the Default Features found at the model settings page.
Why wouldn't you let the user decide which tools are useful or available to the model?
In my case i need to make sure the model doesn't do online searches when working with sensitive company info.
Also still the issue exists that without builtin tools, web search isn't working.
in this case you cannot use native function calling and builtin tools.
You need to understand the architectural limitation @HenkieTenkie62
On Default function calling, the model is not deciding anything.
A TASK MODEL is being asked "hey do you think any of these tools (web search is enabled and available, image generation is enabled and available) might be worth using? if yes, reply with a json calling the tool(s):"
thats basically what is happening in default mode.
In native mode, the task models is completely bypassed.
The model gets all available tools and the model can decide if it wants to use any tool - or not.
Look at how ChatGPT works - you do not have to enable web search, or image generation. You tell it "generate an image" and it just does it.
Look how Claude.AI works. You CAN of course manually enable "web search" but you can also tell the model to search the web, and it will just do it without you needing to explicitly enable it.
The buttons in Open WebUI are only used now if you are in default mode.
If you so much have to restrict the model from using web search, then do not use native tool calls.
If you want to explicitly set the model to use web search or not you should use default function calling for now and manually enable/disable web search when needed.
<!-- gh-comment-id:3744886114 -->
@Classic298 commented on GitHub (Jan 13, 2026):
in this case you cannot use native function calling and builtin tools.
You need to understand the architectural limitation @HenkieTenkie62
On Default function calling, the model is not deciding anything.
A TASK MODEL is being asked "hey do you think any of these tools (web search is enabled and available, image generation is enabled and available) might be worth using? if yes, reply with a json calling the tool(s):"
thats basically what is happening in default mode.
In native mode, the task models is completely bypassed.
The model gets all available tools and the model can decide if it wants to use any tool - or not.
Look at how ChatGPT works - you do not have to enable web search, or image generation. You tell it "generate an image" and it just does it.
Look how Claude.AI works. You CAN of course manually enable "web search" but you can also tell the model to search the web, and it will just do it without you needing to explicitly enable it.
The buttons in Open WebUI are only used now if you are in default mode.
If you so much have to restrict the model from using web search, then do not use native tool calls.
If you want to explicitly set the model to use web search or not you should use default function calling for now and manually enable/disable web search when needed.
"Also still the issue exists that without builtin tools, web search isn't working."
Yeah here, i understand where you are coming from. But we need to make a decision
So please help @HenkieTenkie62 by answering this:
What is the expected behaviour here? That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?
<!-- gh-comment-id:3744892936 -->
@Classic298 commented on GitHub (Jan 13, 2026):
> "Also still the issue exists that without builtin tools, web search isn't working."
Yeah here, i understand where you are coming from. But we need to make a decision
So please help @HenkieTenkie62 by answering this:
**What is the expected behaviour here?** That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
I expect to still be able to control the tool list when native toolcalling and Builtin tools is enabled.
So yes "force provided", but just as an available tool in the tool list.
Controlling MCP tools works the same, just toggle it on or off.
It's just a list you print out to the model.
Also I expect to be able to do a websearch when it's selected as a capability on the model card independent of the setting for built-in tools or native toolcalling.
Situation 1:
Web search in model setting ✅
Builtin tools in model setting ❌
Native tool calling ✅
Chat interface web search toggle ❌
Result: Model not having web search tool available; works as expected
Situation 2:
Web search in model setting ✅
Builtin tools in model setting ❌
Native tool calling ✅
Chat interface web search toggle ✅
Expected result: Model is provided option for web search in the tool list
Actual Result: Model is not provided option for web search in the tool list
Situation 3:
Web search in model setting ✅
Builtin tools in model setting ✅
Native tool calling ✅
Chat interface web search toggle ❌
Expected result: Model not having web search tool available
Actual Result: Model is provided option for web search in the tool list
I'd guess a workaround would be to create separate models with different settings.
But I still think making the buttons do what they say they do would be very user friendly.
<!-- gh-comment-id:3744997527 -->
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
I expect to still be able to control the tool list when native toolcalling and Builtin tools is enabled.
So yes "force provided", but just as an available tool in the tool list.
Controlling MCP tools works the same, just toggle it on or off.
It's just a list you print out to the model.
Also I expect to be able to do a websearch when it's selected as a capability on the model card independent of the setting for built-in tools or native toolcalling.
Situation 1:
Web search in model setting ✅
Builtin tools in model setting ❌
Native tool calling ✅
Chat interface web search toggle ❌
Result: Model not having web search tool available; works as expected
Situation 2:
Web search in model setting ✅
Builtin tools in model setting ❌
Native tool calling ✅
Chat interface web search toggle ✅
Expected result: Model is provided option for web search in the tool list
Actual Result: Model is not provided option for web search in the tool list
Situation 3:
Web search in model setting ✅
Builtin tools in model setting ✅
Native tool calling ✅
Chat interface web search toggle ❌
Expected result: Model not having web search tool available
Actual Result: Model is provided option for web search in the tool list
I'd guess a workaround would be to create separate models with different settings.
But I still think making the buttons do what they say they do would be very user friendly.
@tan-yong-sheng commented on GitHub (Jan 13, 2026):
hi, any way to disable the built-in tools for all models? For example, via setting environment variables?
<!-- gh-comment-id:3745034908 -->
@tan-yong-sheng commented on GitHub (Jan 13, 2026):
hi, any way to disable the built-in tools for all models? For example, via setting environment variables?
@tan-yong-sheng not (yet).
You need to manually configure the models and disable it
<!-- gh-comment-id:3745085480 -->
@Classic298 commented on GitHub (Jan 13, 2026):
@tan-yong-sheng not (yet).
You need to manually configure the models and disable it
I will attempt to solve this issue now that i have a clearer picture and more insight into other use cases not described here by original reporter / commentors
thanks @MarouaneZhani
<!-- gh-comment-id:3760133367 -->
@Classic298 commented on GitHub (Jan 16, 2026):
I will attempt to solve this issue now that i have a clearer picture and more insight into other use cases not described here by original reporter / commentors
thanks @MarouaneZhani
<!-- gh-comment-id:3764044123 -->
@silentoplayz commented on GitHub (Jan 17, 2026):
> hi, any way to disable the built-in tools for all models? For example, via setting environment variables?
Related - https://github.com/open-webui/open-webui/issues/20658
with c46ef3b63b, you can now enable/disable specific builtin tools from the model editor.
<!-- gh-comment-id:3786873759 -->
@tjbck commented on GitHub (Jan 22, 2026):
with c46ef3b63bcc1e2e9adbdd18fab82c4bbe33ff6c, you can now enable/disable specific builtin tools from the model editor.
<!-- gh-comment-id:3905418572 -->
@Classic298 commented on GitHub (Feb 15, 2026):
added in dev https://github.com/open-webui/open-webui/commit/f1a1e64d2e9ad953b2bc2a9543e9a308b7c669c8
Interesting to see how different expected behaviour can be. For me it was clear that when i enable native tool calling that all buttons in the chat interface will be disabled since tool calling will be decided by the model or by tasking it with doing so. With this solution i now have three big glowing buttons in my interface all the time, that I'm not really inclined to use.
Couldn't this be an additional setting / toggle, to alternatively have the behavior as before, with the buttons disabled when handing the decision to the model?
<!-- gh-comment-id:3910311941 -->
@Sav3k commented on GitHub (Feb 16, 2026):
Interesting to see how different expected behaviour can be. For me it was clear that when i enable native tool calling that all buttons in the chat interface will be disabled since tool calling will be decided by the model or by tasking it with doing so. With this solution i now have three big glowing buttons in my interface all the time, that I'm not really inclined to use.
Couldn't this be an additional setting / toggle, to alternatively have the behavior as before, with the buttons disabled when handing the decision to the model?
@Sav3k some people require the web search for example to be manually togglable because you could potentially leak data to the internet
Also, the toggles were now totally useless without this change, you could enable or disable them, it didnt matter, the model always received all tools - breaking existing/previous behaviour where it was clear that web search would only be used if it was toggled on.
Claude.ai for example let's you disable it's web search capability. The only real difference is that in Open WebUI you have this blue little icon indicating that it is on, wheras in Claude.ai you open the menu and see that it is on or off.
Couldn't this be an additional setting / toggle, to alternatively have the behavior as before, with the buttons disabled when handing the decision to the model?
Can be discussed of course. Feel free to open a discussion.
<!-- gh-comment-id:3910407517 -->
@Classic298 commented on GitHub (Feb 16, 2026):
@Sav3k some people require the web search for example to be manually togglable because you could potentially leak data to the internet
Also, the toggles were now totally useless without this change, you could enable or disable them, it didnt matter, the model always received all tools - breaking existing/previous behaviour where it was clear that web search would only be used if it was toggled on.
Claude.ai for example let's you disable it's web search capability. The only real difference is that in Open WebUI you have this blue little icon indicating that it is on, wheras in Claude.ai you open the menu and see that it is on or off.
> Couldn't this be an additional setting / toggle, to alternatively have the behavior as before, with the buttons disabled when handing the decision to the model?
Can be discussed of course. Feel free to open a discussion.
If you add an extra toggle in the model card to "hide builtin tools" (or maybe do it per tool?) then everyone will have their way.
<!-- gh-comment-id:3912800341 -->
@HenkieTenkie62 commented on GitHub (Feb 17, 2026):
I also suggested a similar solution https://github.com/open-webui/open-webui/pull/20729#issuecomment-3783798977
If you add an extra toggle in the model card to "hide builtin tools" (or maybe do it per tool?) then everyone will have their way.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @HenkieTenkie62 on GitHub (Jan 13, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20641
Originally assigned to: @Classic298 on GitHub.
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.7.2
Ollama Version (if applicable)
No response
Operating System
Pop os 22.04
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
Web search should only be executed when the integration is selected in chat or if it is selected as a default Feature for the model.
Actual Behavior
Web search only works if Builtin Tools is also selected for the model.
Also when Builtin Tools is selected Search can't be toggled off in the interface without turning off Builtin Tools.
Steps to Reproduce
Change the capabilities of the model to:
Web search ✅
Builtin Tools ✅
Search will work even without being enabled in chat, because of "Builtin Tools"
Change the capabilities of the model to:
Web search ✅
Builtin Tools ❌
Search will never work, even with being enabled in chat.
I'm fine with builtin tools like timestamps and memory.
But I'd like to see separate toggles for searching:
Web,
Chat history,
Knowledge base,
Notes
Randomly starting a search in chat history or knowledge base can be very useless.
Also in some chats information absolutely needs to stay offline.
If I can't control the online search I need to disable it to prevent information from leaking.
Logs & Screenshots
No errors.
Additional Information
No response
@owui-terminator[bot] commented on GitHub (Jan 13, 2026):
🔍 Similar Issues Found
I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:
#20595 issue: "search_web" tool executed even when "Web Search" control disabled
by SlavikCA • Jan 11, 2026 •
bug#20621 issue: WebSearch not working properly on the manul mode.
by calebrio02 • Jan 12, 2026 •
bug#20327 issue: Unable to use any Open WebUI version newer than 0.6.25 due to hybrid search performance
by galvanoid • Jan 02, 2026 •
bug#20186 issue: WEB_SEARCH_DOMAIN_FILTER_LIST cannot be specified via an environment variable.
by leagueofsoups • Dec 26, 2025 •
bug#19825 Image Generation and Web Search trigger on every message
by bcnation • Dec 08, 2025 •
bugShow 5 more related issues
#19698 issue: .41 web based search and webpages - RAG - are not fixed
by frenzybiscuit • Dec 02, 2025 •
bug#20003 issue: Web Search with BRAVE API does not work.
by tigran123 • Dec 17, 2025 •
bug#18290 Web Search returns incomplete or inconsistent results
by aimendenche-nw • Oct 13, 2025 •
bug#19668 issue: hybrid search setting doesnt stay active
by arslancloud • Dec 01, 2025 •
bug#19925 issue: Model responses stop after web searches
by tm-coder-484 • Dec 13, 2025 •
bug💡 Tips:
This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
@Classic298 commented on GitHub (Jan 13, 2026):
Other questions/comments about your issue
Yes - but you forgot the other scenario
If builtin tools is active, web search capability is enabled and function calling is set to native, then the model can decide autonomously to use web search
This is only the case if you enable native function calling but disable built-in tools
what do you mean here? I do not understand the sentence
AHA! I understand. Is this the core of the issue?
Ok.
So for confirmation: what is the expected behaviour here? That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
If builtin tools is active, web search capability is enabled and function calling is set to native, then the model can decide autonomously to use web search
I would expect to still be able to control which tools are available when native function calling and Builtin Tools is enabled.
If you deselect web search capability in the model card you are not able to turn it on in the chat interface.
This is only the case if you enable native function calling but disable built-in tools
So why does the Builtin tools toggle, influence the Web Search toggle?
AHA! I understand. Is this the core of the issue?
This is actually broken yes. But also the other behaviour is pretty unexpected.
Ok.
So for confirmation: what is the expected behaviour here? That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?
Expected behaviour is with native toolcalling enabled, you are still able to control whether the model can search online.
I would say native toolcalling is giving the model an option. The toggles would be for controlling which options are available. Otherwise I wouldn't know why the buttons are in the interface.
Also in the model interface you can select "Default Features"; You can also default enable Web Search here but as of now this is apparently ignored with the combination of:
Capability: Web search+ Builtin Tools
Native toolcalling
@Classic298 commented on GitHub (Jan 13, 2026):
@HenkieTenkie62 the buttons indeed should be removed if native tool calling is used. the model has the option and the model will decide when to use it. Today's models have all been fine tuned to decide intelligently when they need to use these tools, even smaller ones like gpt-oss-20bn or nemotron work very well with native tool calling for these cases
@Classic298 commented on GitHub (Jan 13, 2026):
Yes this only has an impact when DEFAULT is selected for tool calling
@Classic298 commented on GitHub (Jan 13, 2026):
So what is actually needed is to hide these buttons if builtin is enabled?
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
I would rather have that the functionality of the buttons is restored.
This should correspond to the Default Features found at the model settings page.
Why wouldn't you let the user decide which tools are useful or available to the model?
In my case i need to make sure the model doesn't do online searches when working with sensitive company info.
Also still the issue exists that without builtin tools, web search isn't working.
@Classic298 commented on GitHub (Jan 13, 2026):
in this case you cannot use native function calling and builtin tools.
You need to understand the architectural limitation @HenkieTenkie62
On Default function calling, the model is not deciding anything.
A TASK MODEL is being asked "hey do you think any of these tools (web search is enabled and available, image generation is enabled and available) might be worth using? if yes, reply with a json calling the tool(s):"
thats basically what is happening in default mode.
In native mode, the task models is completely bypassed.
The model gets all available tools and the model can decide if it wants to use any tool - or not.
Look at how ChatGPT works - you do not have to enable web search, or image generation. You tell it "generate an image" and it just does it.
Look how Claude.AI works. You CAN of course manually enable "web search" but you can also tell the model to search the web, and it will just do it without you needing to explicitly enable it.
The buttons in Open WebUI are only used now if you are in default mode.
If you so much have to restrict the model from using web search, then do not use native tool calls.
If you want to explicitly set the model to use web search or not you should use default function calling for now and manually enable/disable web search when needed.
@Classic298 commented on GitHub (Jan 13, 2026):
Yeah here, i understand where you are coming from. But we need to make a decision
So please help @HenkieTenkie62 by answering this:
What is the expected behaviour here? That the tool is called using default tool calling (even though you set native tool calling) or do you expect that web search is still "force provided" essentially, even though builtin tools (which includes the native web search) is disabled?
@HenkieTenkie62 commented on GitHub (Jan 13, 2026):
I expect to still be able to control the tool list when native toolcalling and Builtin tools is enabled.
So yes "force provided", but just as an available tool in the tool list.
Controlling MCP tools works the same, just toggle it on or off.
It's just a list you print out to the model.
Also I expect to be able to do a websearch when it's selected as a capability on the model card independent of the setting for built-in tools or native toolcalling.
Situation 1:
Web search in model setting ✅
Builtin tools in model setting ❌
Native tool calling ✅
Chat interface web search toggle ❌
Result: Model not having web search tool available; works as expected
Situation 2:
Web search in model setting ✅
Builtin tools in model setting ❌
Native tool calling ✅
Chat interface web search toggle ✅
Expected result: Model is provided option for web search in the tool list
Actual Result: Model is not provided option for web search in the tool list
Situation 3:
Web search in model setting ✅
Builtin tools in model setting ✅
Native tool calling ✅
Chat interface web search toggle ❌
Expected result: Model not having web search tool available
Actual Result: Model is provided option for web search in the tool list
I'd guess a workaround would be to create separate models with different settings.
But I still think making the buttons do what they say they do would be very user friendly.
@tan-yong-sheng commented on GitHub (Jan 13, 2026):
hi, any way to disable the built-in tools for all models? For example, via setting environment variables?
@Classic298 commented on GitHub (Jan 13, 2026):
@tan-yong-sheng not (yet).
You need to manually configure the models and disable it
@Classic298 commented on GitHub (Jan 16, 2026):
I will attempt to solve this issue now that i have a clearer picture and more insight into other use cases not described here by original reporter / commentors
thanks @MarouaneZhani
@Classic298 commented on GitHub (Jan 16, 2026):
Testing wanted: https://github.com/open-webui/open-webui/pull/20729
CC @MarouaneZhani
@silentoplayz commented on GitHub (Jan 17, 2026):
Related - https://github.com/open-webui/open-webui/issues/20658
@tjbck commented on GitHub (Jan 22, 2026):
with
c46ef3b63b, you can now enable/disable specific builtin tools from the model editor.@Classic298 commented on GitHub (Feb 15, 2026):
added in dev https://github.com/open-webui/open-webui/commit/f1a1e64d2e9ad953b2bc2a9543e9a308b7c669c8
@Sav3k commented on GitHub (Feb 16, 2026):
Interesting to see how different expected behaviour can be. For me it was clear that when i enable native tool calling that all buttons in the chat interface will be disabled since tool calling will be decided by the model or by tasking it with doing so. With this solution i now have three big glowing buttons in my interface all the time, that I'm not really inclined to use.
Couldn't this be an additional setting / toggle, to alternatively have the behavior as before, with the buttons disabled when handing the decision to the model?
@Classic298 commented on GitHub (Feb 16, 2026):
@Sav3k some people require the web search for example to be manually togglable because you could potentially leak data to the internet
Also, the toggles were now totally useless without this change, you could enable or disable them, it didnt matter, the model always received all tools - breaking existing/previous behaviour where it was clear that web search would only be used if it was toggled on.
Claude.ai for example let's you disable it's web search capability. The only real difference is that in Open WebUI you have this blue little icon indicating that it is on, wheras in Claude.ai you open the menu and see that it is on or off.
Can be discussed of course. Feel free to open a discussion.
@HenkieTenkie62 commented on GitHub (Feb 17, 2026):
I also suggested a similar solution https://github.com/open-webui/open-webui/pull/20729#issuecomment-3783798977
If you add an extra toggle in the model card to "hide builtin tools" (or maybe do it per tool?) then everyone will have their way.