feat: Implement web_search and image_generation as part of native tool calling
Before Submitting
- I searched open and closed issues and discussions for an existing request.
- I checked whether this already exists on the
devbranch or latest source. - I understand that maintainers want a well-written issue or discussion before any code pull request.
- This request is not a security vulnerability.
Problem
When web_search and image_generation are configured on a model, they should automatically be exposed as part of the model's native tool calling. Currently, the user has to manually toggle these features on for every message/session, even though the model supports native tool calling.
web_search and image_generation are not part of the native tool calling context by default. The user must manually enable them each time, which is error-prone and breaks the flow for models that natively support function/tool calling.
Desired Behavior
If web_search or image_generation is configured (and native tool calling is available), they should be included in the available tool set automatically — no manual toggle required per message.
Why This Matters
Models with native tool calling already handle tool selection correctly — the manual toggle adds unnecessary friction. Consistency: all other tools/functions registered in the workspace are part of native tool calling; the built-in capabilities behave differently. Reduces user error (forgetting to toggle) and makes configured capabilities behave predictably.
Examples or References
No response
Alternatives or Workarounds
Right now, we have a function that has a small LLM deciding if either should be toggled, but its just extra delay and functionality, and it doesnt work everytime since the LLM doesnt always get it right.
Source: open-webui/open-webui