[GH-ISSUE #18127] issue: Unable to create and edit model in workspace #34032

Closed
opened 2026-04-25 07:55:38 -05:00 by GiteaMirror · 7 comments
Owner

Originally created by @honwei189 on GitHub (Oct 8, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/18127

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

0.6.32, 0.6.33

Ollama Version (if applicable)

No response

Operating System

CentOS

Browser (if applicable)

Latest Chrome, Latest Edge, Latest Comet

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

When attempting to create a new model within the Workspace, specific information must be provided to input the model details.

When attempting to edit a model within the Workspace, the model information screen must appear and able to edit info.

Actual Behavior

Blank screen

Steps to Reproduce

  1. The system was upgraded to versions 0.6.32 and 0.6.33 through the utilization of Docker.
  2. The user logged in.
  3. When clicking to navigate to "Workspace" and then clicking "New model", a blank screen was presented.
  4. When clicking on other previously - created models, a blank screen was also shown.
  5. The system was rolled back to version 0.6.31.
  6. The user logged in again, clicked to browse "Workspace", and then clicked "New model".
  7. All necessary information was entered, and the model was successfully created.
  8. When clicking to edit other models, the screen was displayed, and the edit was successfully completed.
  9. In the admin settings, I confirmed that the "web search" option is not using DuckDuckGo.

Logs & Screenshots

/api/v1/tools/ 500 (Internal Server Error)

logs:

open-webui | During handling of the above exception, another exception occurred:
open-webui |
open-webui | Traceback (most recent call last):
open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
open-webui | result = await app( # type: ignore[func-returns-value]
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
open-webui | return await self.app(scope, receive, send)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1133, in call
open-webui | await super().call(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 113, in call
open-webui | await self.middleware_stack(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in call
open-webui | raise exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in call
open-webui | await self.app(scope, receive, _send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/sessions.py", line 85, in call
open-webui | await self.app(scope, receive, send_wrapper)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in call
open-webui | await self.app(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in call
open-webui | with recv_stream, send_stream, collapse_excgroups():
open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
open-webui | self.gen.throw(typ, value, traceback)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
open-webui | raise exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in call
open-webui | response = await self.dispatch_func(request, call_next)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/main.py", line 1260, in inspect_websocket
open-webui | return await call_next(request)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next
open-webui | raise app_exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
open-webui | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in call
open-webui | with recv_stream, send_stream, collapse_excgroups():
open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
open-webui | self.gen.throw(typ, value, traceback)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
open-webui | raise exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in call
open-webui | response = await self.dispatch_func(request, call_next)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/main.py", line 1239, in check_url
open-webui | response = await call_next(request)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next
open-webui | raise app_exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
open-webui | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in call
open-webui | with recv_stream, send_stream, collapse_excgroups():
open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
open-webui | self.gen.throw(typ, value, traceback)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
open-webui | raise exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in call
open-webui | response = await self.dispatch_func(request, call_next)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/main.py", line 1225, in commit_session_after_request
open-webui | response = await call_next(request)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next
open-webui | raise app_exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
open-webui | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in call
open-webui | with recv_stream, send_stream, collapse_excgroups():
open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
open-webui | self.gen.throw(typ, value, traceback)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
open-webui | raise exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in call
open-webui | response = await self.dispatch_func(request, call_next)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/utils/security_headers.py", line 11, in dispatch
open-webui | response = await call_next(request)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next
open-webui | raise app_exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
open-webui | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in call
open-webui | with recv_stream, send_stream, collapse_excgroups():
open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
open-webui | self.gen.throw(typ, value, traceback)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
open-webui | raise exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in call
open-webui | response = await self.dispatch_func(request, call_next)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/main.py", line 1211, in dispatch
open-webui | response = await call_next(request)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next
open-webui | raise app_exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
open-webui | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette_compress/init.py", line 92, in call
open-webui | return await self._zstd(scope, receive, send)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 100, in call
open-webui | await self.app(scope, receive, wrapper)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in call
open-webui | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
open-webui | raise exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
open-webui | await app(scope, receive, sender)
open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in call
open-webui | await self.app(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 716, in call
open-webui | await self.middleware_stack(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 736, in app
open-webui | await route.handle(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 290, in handle
open-webui | await self.app(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 123, in app
open-webui | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
open-webui | raise exc
open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
open-webui | await app(scope, receive, sender)
open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 109, in app
open-webui | response = await f(request)
open-webui | ^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 387, in app
open-webui | raw_response = await run_endpoint_function(
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 288, in run_endpoint_function
open-webui | return await dependant.call(**values)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/routers/tools.py", line 61, in get_tools
open-webui | tool_module = get_tool_module(request, tool.id)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/routers/tools.py", line 46, in get_tool_module
open-webui | tool_module, _ = get_tool_module_from_cache(request, tool_id, load_from_db)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/utils/plugin.py", line 192, in get_tool_module_from_cache
open-webui | tool_module, frontmatter = load_tool_module_by_id(tool_id, content)
open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui | File "/app/backend/open_webui/utils/plugin.py", line 113, in load_tool_module_by_id
open-webui | raise e
open-webui | File "/app/backend/open_webui/utils/plugin.py", line 101, in load_tool_module_by_id
open-webui | exec(content, module.dict)
open-webui | File "", line 51, in
open-webui | ModuleNotFoundError: No module named 'duckduckgo_search'

Additional Information

I sincerely hope that this bug report will not be transferred to the discussion section once more.

Originally created by @honwei189 on GitHub (Oct 8, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/18127 ### 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 am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version 0.6.32, 0.6.33 ### Ollama Version (if applicable) _No response_ ### Operating System CentOS ### Browser (if applicable) Latest Chrome, Latest Edge, Latest Comet ### 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 When attempting to create a new model within the Workspace, specific information must be provided to input the model details. When attempting to edit a model within the Workspace, the model information screen must appear and able to edit info. ### Actual Behavior Blank screen ### Steps to Reproduce 1. The system was upgraded to versions 0.6.32 and 0.6.33 through the utilization of Docker. 2. The user logged in. 3. When clicking to navigate to "Workspace" and then clicking "New model", a blank screen was presented. 4. When clicking on other previously - created models, a blank screen was also shown. 5. The system was rolled back to version 0.6.31. 6. The user logged in again, clicked to browse "Workspace", and then clicked "New model". 7. All necessary information was entered, and the model was successfully created. 8. When clicking to edit other models, the screen was displayed, and the edit was successfully completed. 9. In the admin settings, I confirmed that the "web search" option is not using DuckDuckGo. ### Logs & Screenshots /api/v1/tools/ 500 (Internal Server Error) logs: --- open-webui | During handling of the above exception, another exception occurred: open-webui | open-webui | Traceback (most recent call last): open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi open-webui | result = await app( # type: ignore[func-returns-value] open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ open-webui | return await self.app(scope, receive, send) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1133, in __call__ open-webui | await super().__call__(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 113, in __call__ open-webui | await self.middleware_stack(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ open-webui | raise exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ open-webui | await self.app(scope, receive, _send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/sessions.py", line 85, in __call__ open-webui | await self.app(scope, receive, send_wrapper) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in __call__ open-webui | await self.app(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in __call__ open-webui | with recv_stream, send_stream, collapse_excgroups(): open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ open-webui | self.gen.throw(typ, value, traceback) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups open-webui | raise exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in __call__ open-webui | response = await self.dispatch_func(request, call_next) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/main.py", line 1260, in inspect_websocket open-webui | return await call_next(request) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next open-webui | raise app_exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro open-webui | await self.app(scope, receive_or_disconnect, send_no_error) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in __call__ open-webui | with recv_stream, send_stream, collapse_excgroups(): open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ open-webui | self.gen.throw(typ, value, traceback) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups open-webui | raise exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in __call__ open-webui | response = await self.dispatch_func(request, call_next) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/main.py", line 1239, in check_url open-webui | response = await call_next(request) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next open-webui | raise app_exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro open-webui | await self.app(scope, receive_or_disconnect, send_no_error) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in __call__ open-webui | with recv_stream, send_stream, collapse_excgroups(): open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ open-webui | self.gen.throw(typ, value, traceback) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups open-webui | raise exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in __call__ open-webui | response = await self.dispatch_func(request, call_next) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/main.py", line 1225, in commit_session_after_request open-webui | response = await call_next(request) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next open-webui | raise app_exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro open-webui | await self.app(scope, receive_or_disconnect, send_no_error) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in __call__ open-webui | with recv_stream, send_stream, collapse_excgroups(): open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ open-webui | self.gen.throw(typ, value, traceback) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups open-webui | raise exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in __call__ open-webui | response = await self.dispatch_func(request, call_next) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/utils/security_headers.py", line 11, in dispatch open-webui | response = await call_next(request) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next open-webui | raise app_exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro open-webui | await self.app(scope, receive_or_disconnect, send_no_error) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in __call__ open-webui | with recv_stream, send_stream, collapse_excgroups(): open-webui | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ open-webui | self.gen.throw(typ, value, traceback) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups open-webui | raise exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in __call__ open-webui | response = await self.dispatch_func(request, call_next) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/main.py", line 1211, in dispatch open-webui | response = await call_next(request) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next open-webui | raise app_exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro open-webui | await self.app(scope, receive_or_disconnect, send_no_error) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette_compress/__init__.py", line 92, in __call__ open-webui | return await self._zstd(scope, receive, send) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 100, in __call__ open-webui | await self.app(scope, receive, wrapper) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ open-webui | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app open-webui | raise exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app open-webui | await app(scope, receive, sender) open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ open-webui | await self.app(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 716, in __call__ open-webui | await self.middleware_stack(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 736, in app open-webui | await route.handle(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 290, in handle open-webui | await self.app(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 123, in app open-webui | await wrap_app_handling_exceptions(app, request)(scope, receive, send) open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app open-webui | raise exc open-webui | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app open-webui | await app(scope, receive, sender) open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 109, in app open-webui | response = await f(request) open-webui | ^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 387, in app open-webui | raw_response = await run_endpoint_function( open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 288, in run_endpoint_function open-webui | return await dependant.call(**values) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/routers/tools.py", line 61, in get_tools open-webui | tool_module = get_tool_module(request, tool.id) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/routers/tools.py", line 46, in get_tool_module open-webui | tool_module, _ = get_tool_module_from_cache(request, tool_id, load_from_db) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/utils/plugin.py", line 192, in get_tool_module_from_cache open-webui | tool_module, frontmatter = load_tool_module_by_id(tool_id, content) open-webui | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ open-webui | File "/app/backend/open_webui/utils/plugin.py", line 113, in load_tool_module_by_id open-webui | raise e open-webui | File "/app/backend/open_webui/utils/plugin.py", line 101, in load_tool_module_by_id open-webui | exec(content, module.__dict__) open-webui | File "<string>", line 51, in <module> open-webui | ModuleNotFoundError: No module named 'duckduckgo_search' ### Additional Information I sincerely hope that this bug report will not be transferred to the discussion section once more.
GiteaMirror added the bug label 2026-04-25 07:55:38 -05:00
Author
Owner

@rlederer-C136 commented on GitHub (Oct 8, 2025):

I am also having this exact same issue. Docker as well on ubuntu 24.04.

<!-- gh-comment-id:3379381590 --> @rlederer-C136 commented on GitHub (Oct 8, 2025): I am also having this exact same issue. Docker as well on ubuntu 24.04.
Author
Owner

@tjbck commented on GitHub (Oct 8, 2025):

#18125

<!-- gh-comment-id:3379470640 --> @tjbck commented on GitHub (Oct 8, 2025): #18125
Author
Owner

@silentoplayz commented on GitHub (Oct 8, 2025):

@tjbck I think this issue is inherently different than the issue(s) described in #18125.

<!-- gh-comment-id:3379548555 --> @silentoplayz commented on GitHub (Oct 8, 2025): @tjbck I think this issue is inherently different than the issue(s) described in #18125.
Author
Owner

@SpaaaarK commented on GitHub (Oct 9, 2025):

I had the same issue and it was caused because the cache in the webui.db had old tools with duckduckgo_search before the update to ddgs. For me deleting these old tools in the tool table on the webui.db solved the issue

<!-- gh-comment-id:3384327728 --> @SpaaaarK commented on GitHub (Oct 9, 2025): I had the same issue and it was caused because the cache in the webui.db had old tools with duckduckgo_search before the update to ddgs. For me deleting these old tools in the tool table on the webui.db solved the issue
Author
Owner

@silentoplayz commented on GitHub (Oct 9, 2025):

The error you reported is due to some external tool trying to load a wrong/outdated library.

<!-- gh-comment-id:3386244636 --> @silentoplayz commented on GitHub (Oct 9, 2025): The error you reported is due to some external tool trying to load a wrong/outdated library.
Author
Owner

@honwei189 commented on GitHub (Oct 10, 2025):

Indeed, the problem was caused by "tools". After scanning and deleting the relevant tools that utilized the DuckDuckGo library, I am now able to create and edit the model.

Thank you for sharing this information.

<!-- gh-comment-id:3387893381 --> @honwei189 commented on GitHub (Oct 10, 2025): Indeed, the problem was caused by "tools". After scanning and deleting the relevant tools that utilized the DuckDuckGo library, I am now able to create and edit the model. Thank you for sharing this information.
Author
Owner

@stweil commented on GitHub (Oct 10, 2025):

Sorry for posting to a closed issue, but I had the same problem with an outdated tool.

Maybe issues with old or otherwise buggy tools could be caught and reported instead of silently failing after an update of Open WebUI?

<!-- gh-comment-id:3389775286 --> @stweil commented on GitHub (Oct 10, 2025): Sorry for posting to a closed issue, but I had the same problem with an outdated tool. Maybe issues with old or otherwise buggy tools could be caught and reported instead of silently failing after an update of Open WebUI?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#34032