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
Pip Install
Open WebUI Version
v0.8.12
Ollama Version (if applicable)
v0.18.3
Operating System
Windows 11 Home
Browser (if applicable)
Firefox v149.0 (64-bit)
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 Fetch URL Content Length Limit is set on the Web Search section of the Admin Settings, I expect to successfully save the value.
Actual Behavior
It returns an error and does not save. It also generates an error in the console.
### Steps to Reproduce
## Steps to reproduce
1. Boot Windows 11 Home 25H2
1. Open Powershell 5.1.26100.7920
1. Navigate to an empty directory
1. Install python. I did this years ago and installed it with `py` included. I do not remember the exact commands. That said, I call `py` to install the specified version that command is followed bellow.
1. Run `py -3.11 -m venv .venv` (As per README.md python 3.11 requirement))
1. Run `./venv/Scripts/Activate.ps1` (Activate environment)
1. Run `python.exe -m pip install --upgrade pip` (To upgrade pip -> not required but a habbit of mine.)
1. Run `open-webui server`
1. Open web browser of choice. I used Firefox v149.0 (64-bit)
1. Open local site on browser: [http://localhost:8080/](http://localhost:8080/)
1. Generate account. Entered email address, username, and password. (Actual values are not relevant to this bug so long as you can remember them to login.)
1. Navigate to `Web Search`. [http://localhost:8080/admin/settings/web](http://localhost:8080/admin/settings/web)
- You can use the link here otherwise here are the click through instructions I followed:
- I clicked on my name (bottom left corner)
- Then went to `Settings` with the gear icon.
- Then at the bottom left of the Settings modal I selected `Admin Settings`
- Then on the left side of the Admin Settings I selected `Web Search` with the globe icon.
1. On the Web Searc page
- Enable Websearch
- Select Web Search Engine. I chose `google_pse` but I think this choice does not impact the test.
- Enter your Google PSE API Key (not sure if this is nessicary but I did)
- Enter the coresponding Google PSE Engine ID (I entered mine)
- It doesn't matter what value you set for `Fetch URL Context Length Limit` when you save in the powershell console you get the generated error.
<img width="1326" height="870" alt="Image" src="https://github.com/user-attachments/assets/789e1f98-cc12-4f25-875d-30b55e43e528" />
### Logs & Screenshots
<img width="1396" height="958" alt="Image" src="https://github.com/user-attachments/assets/0b0e7e26-4935-4d5d-addd-824e0f4700b4" />
```dev-console
XHRPOST
http://localhost:8080/api/v1/retrieval/config/update
[HTTP/1.1 500 Internal Server Error 11300ms]
POST
http://localhost:8080/api/v1/retrieval/config/update
Status
500
Internal Server Error
VersionHTTP/1.1
Transferred174 B (21 B size)
Referrer Policystrict-origin-when-cross-origin
Request PriorityHighest
DNS ResolutionSystem
content-length
21
content-type
text/plain; charset=utf-8
date
Fri, 27 Mar 2026 03:46:17 GMT
server
uvicorn
Accept
*/*
Accept-Encoding
gzip, deflate, br, zstd
Accept-Language
en-US,en;q=0.9
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjZkNTk2ZDdmLWQ1ODktNDEzMS1hNDllLWIyYjE5ZTkxMzAyMyIsImV4cCI6MTc3Njk5NzU1MSwianRpIjoiNjJlNGY1NDYtYjA4ZS00NzFlLTg0YWQtYzU5YjVkNGIyZTY3In0._ExqK1DWH9dYvomMBfdyYV0lbceqZOWkS7Ku2sDbLZU
Cache-Control
no-cache
Connection
keep-alive
Content-Length
1882
Content-Type
application/json
Cookie
token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjZkNTk2ZDdmLWQ1ODktNDEzMS1hNDllLWIyYjE5ZTkxMzAyMyIsImV4cCI6MTc3Njk5NzU1MSwianRpIjoiNjJlNGY1NDYtYjA4ZS00NzFlLTg0YWQtYzU5YjVkNGIyZTY3In0._ExqK1DWH9dYvomMBfdyYV0lbceqZOWkS7Ku2sDbLZU
DNT
1
Host
localhost:8080
Origin
http://localhost:8080
Pragma
no-cache
Priority
u=0
Referer
http://localhost:8080/admin/settings/web
Sec-Fetch-Dest
empty
Sec-Fetch-Mode
cors
Sec-Fetch-Site
same-origin
Sec-GPC
1
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0
ExceptioninASGIapplication+ExceptionGroup Traceback(mostrecentcalllast):|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line81,incollapse_excgroups|yield|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line192,in__call__|asyncwithanyio.create_task_group()astask_group:|File"***************************\open-webui\.venv\Lib\site-packages\anyio\_backends\_asyncio.py",line799,in__aexit__|raiseBaseExceptionGroup(|ExceptionGroup:unhandlederrorsinaTaskGroup(1sub-exception)+-+----------------1----------------|Traceback(mostrecentcalllast):|File"***************************\open-webui\.venv\Lib\site-packages\uvicorn\protocols\http\httptools_impl.py",line416,inrun_asgi|result=awaitapp(# type: ignore[func-returns-value]|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\uvicorn\middleware\proxy_headers.py",line60,in__call__|returnawaitself.app(scope,receive,send)|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\fastapi\applications.py",line1160,in__call__|awaitsuper().__call__(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\applications.py",line90,in__call__|awaitself.middleware_stack(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\errors.py",line186,in__call__|raiseexc|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\errors.py",line164,in__call__|awaitself.app(scope,receive,_send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\sessions.py",line88,in__call__|awaitself.app(scope,receive,send_wrapper)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\cors.py",line96,in__call__|awaitself.simple_response(scope,receive,send,request_headers=headers)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\cors.py",line154,insimple_response|awaitself.app(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__|withrecv_stream,send_stream,collapse_excgroups():|File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__|self.gen.throw(typ,value,traceback)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroups|raiseexc|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__|response=awaitself.dispatch_func(request,call_next)|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1472,ininspect_websocket|returnawaitcall_next(request)|^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_next|raiseapp_excfromapp_exc.__cause__orapp_exc.__context__|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoro|awaitself.app(scope,receive_or_disconnect,send_no_error)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__|withrecv_stream,send_stream,collapse_excgroups():|File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__|self.gen.throw(typ,value,traceback)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroups|raiseexc|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__|response=awaitself.dispatch_func(request,call_next)|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1454,incheck_url|response=awaitcall_next(request)|^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_next|raiseapp_excfromapp_exc.__cause__orapp_exc.__context__|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoro|awaitself.app(scope,receive_or_disconnect,send_no_error)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__|withrecv_stream,send_stream,collapse_excgroups():|File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__|self.gen.throw(typ,value,traceback)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroups|raiseexc|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__|response=awaitself.dispatch_func(request,call_next)|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1421,incommit_session_after_request|response=awaitcall_next(request)|^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_next|raiseapp_excfromapp_exc.__cause__orapp_exc.__context__|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoro|awaitself.app(scope,receive_or_disconnect,send_no_error)|File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1413,in__call__|awaitself.app(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__|withrecv_stream,send_stream,collapse_excgroups():|File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__|self.gen.throw(typ,value,traceback)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroups|raiseexc|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__|response=awaitself.dispatch_func(request,call_next)|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\open_webui\utils\security_headers.py",line11,indispatch|response=awaitcall_next(request)|^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_next|raiseapp_excfromapp_exc.__cause__orapp_exc.__context__|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoro|awaitself.app(scope,receive_or_disconnect,send_no_error)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__|withrecv_stream,send_stream,collapse_excgroups():|File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__|self.gen.throw(typ,value,traceback)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroups|raiseexc|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__|response=awaitself.dispatch_func(request,call_next)|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1366,indispatch|response=awaitcall_next(request)|^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_next|raiseapp_excfromapp_exc.__cause__orapp_exc.__context__|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoro|awaitself.app(scope,receive_or_disconnect,send_no_error)|File"***************************\open-webui\.venv\Lib\site-packages\starlette_compress\__init__.py",line104,in__call__|returnawaitself._zstd(scope,receive,send)|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\starlette_compress\_zstd_legacy.py",line107,in__call__|awaitself.app(scope,receive,wrapper)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\exceptions.py",line63,in__call__|awaitwrap_app_handling_exceptions(self.app,conn)(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py",line53,inwrapped_app|raiseexc|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py",line42,inwrapped_app|awaitapp(scope,receive,sender)|File"***************************\open-webui\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py",line18,in__call__|awaitself.app(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py",line660,in__call__|awaitself.middleware_stack(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py",line680,inapp|awaitroute.handle(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py",line276,inhandle|awaitself.app(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py",line130,inapp|awaitwrap_app_handling_exceptions(app,request)(scope,receive,send)|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py",line53,inwrapped_app|raiseexc|File"***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py",line42,inwrapped_app|awaitapp(scope,receive,sender)|File"***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py",line116,inapp|response=awaitf(request)|^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py",line670,inapp|raw_response=awaitrun_endpoint_function(|^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py",line324,inrun_endpoint_function|returnawaitdependant.call(**values)|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\open_webui\routers\retrieval.py",line1177,inupdate_rag_config|'FETCH_URL_MAX_CONTENT_LENGTH':request.app.state.config.FETCH_URL_MAX_CONTENT_LENGTH,|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|File"***************************\open-webui\.venv\Lib\site-packages\open_webui\config.py",line257,in__getattr__|raiseAttributeError(f"Config key '{key}' not found")|AttributeError:Configkey'FETCH_URL_MAX_CONTENT_LENGTH'notfound+------------------------------------Theaboveexceptionwasthedirectcauseofthefollowingexception:Traceback(mostrecentcalllast):File"***************************\open-webui\.venv\Lib\site-packages\uvicorn\protocols\http\httptools_impl.py",line416,inrun_asgiresult=awaitapp(# type: ignore[func-returns-value]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\uvicorn\middleware\proxy_headers.py",line60,in__call__returnawaitself.app(scope,receive,send)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\fastapi\applications.py",line1160,in__call__awaitsuper().__call__(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\applications.py",line90,in__call__awaitself.middleware_stack(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\errors.py",line186,in__call__raiseexcFile"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\errors.py",line164,in__call__awaitself.app(scope,receive,_send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\sessions.py",line88,in__call__awaitself.app(scope,receive,send_wrapper)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\cors.py",line96,in__call__awaitself.simple_response(scope,receive,send,request_headers=headers)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\cors.py",line154,insimple_responseawaitself.app(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__withrecv_stream,send_stream,collapse_excgroups():File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__self.gen.throw(typ,value,traceback)File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroupsraiseexcFile"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__response=awaitself.dispatch_func(request,call_next)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1472,ininspect_websocketreturnawaitcall_next(request)^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_nextraiseapp_excfromapp_exc.__cause__orapp_exc.__context__File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoroawaitself.app(scope,receive_or_disconnect,send_no_error)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__withrecv_stream,send_stream,collapse_excgroups():File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__self.gen.throw(typ,value,traceback)File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroupsraiseexcFile"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__response=awaitself.dispatch_func(request,call_next)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1454,incheck_urlresponse=awaitcall_next(request)^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_nextraiseapp_excfromapp_exc.__cause__orapp_exc.__context__File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoroawaitself.app(scope,receive_or_disconnect,send_no_error)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__withrecv_stream,send_stream,collapse_excgroups():File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__self.gen.throw(typ,value,traceback)File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroupsraiseexcFile"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__response=awaitself.dispatch_func(request,call_next)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1421,incommit_session_after_requestresponse=awaitcall_next(request)^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_nextraiseapp_excfromapp_exc.__cause__orapp_exc.__context__File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoroawaitself.app(scope,receive_or_disconnect,send_no_error)File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1413,in__call__awaitself.app(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__withrecv_stream,send_stream,collapse_excgroups():File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__self.gen.throw(typ,value,traceback)File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroupsraiseexcFile"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__response=awaitself.dispatch_func(request,call_next)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\open_webui\utils\security_headers.py",line11,indispatchresponse=awaitcall_next(request)^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_nextraiseapp_excfromapp_exc.__cause__orapp_exc.__context__File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoroawaitself.app(scope,receive_or_disconnect,send_no_error)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line191,in__call__withrecv_stream,send_stream,collapse_excgroups():File"C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py",line158,in__exit__self.gen.throw(typ,value,traceback)File"***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py",line87,incollapse_excgroupsraiseexcFile"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line193,in__call__response=awaitself.dispatch_func(request,call_next)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py",line1366,indispatchresponse=awaitcall_next(request)^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line168,incall_nextraiseapp_excfromapp_exc.__cause__orapp_exc.__context__File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py",line144,incoroawaitself.app(scope,receive_or_disconnect,send_no_error)File"***************************\open-webui\.venv\Lib\site-packages\starlette_compress\__init__.py",line104,in__call__returnawaitself._zstd(scope,receive,send)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\starlette_compress\_zstd_legacy.py",line107,in__call__awaitself.app(scope,receive,wrapper)File"***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\exceptions.py",line63,in__call__awaitwrap_app_handling_exceptions(self.app,conn)(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py",line53,inwrapped_appraiseexcFile"***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py",line42,inwrapped_appawaitapp(scope,receive,sender)File"***************************\open-webui\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py",line18,in__call__awaitself.app(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py",line660,in__call__awaitself.middleware_stack(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py",line680,inappawaitroute.handle(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py",line276,inhandleawaitself.app(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py",line130,inappawaitwrap_app_handling_exceptions(app,request)(scope,receive,send)File"***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py",line53,inwrapped_appraiseexcFile"***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py",line42,inwrapped_appawaitapp(scope,receive,sender)File"***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py",line116,inappresponse=awaitf(request)^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py",line670,inappraw_response=awaitrun_endpoint_function(^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py",line324,inrun_endpoint_functionreturnawaitdependant.call(**values)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\open_webui\routers\retrieval.py",line1177,inupdate_rag_config'FETCH_URL_MAX_CONTENT_LENGTH':request.app.state.config.FETCH_URL_MAX_CONTENT_LENGTH,^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"***************************\open-webui\.venv\Lib\site-packages\open_webui\config.py",line257,in__getattr__raiseAttributeError(f"Config key '{key}' not found")AttributeError:Configkey'FETCH_URL_MAX_CONTENT_LENGTH'notfound### Additional Information_Noresponse_
Originally created by @taggedzi on GitHub (Mar 27, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/23127
### 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
Pip Install
### Open WebUI Version
v0.8.12
### Ollama Version (if applicable)
v0.18.3
### Operating System
Windows 11 Home
### Browser (if applicable)
Firefox v149.0 (64-bit)
### 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 `Fetch URL Content Length Limit` is set on the Web Search section of the Admin Settings, I expect to successfully save the value.
### Actual Behavior
It returns an error and does not save. It also generates an error in the console.
```
### Steps to Reproduce
## Steps to reproduce
1. Boot Windows 11 Home 25H2
1. Open Powershell 5.1.26100.7920
1. Navigate to an empty directory
1. Install python. I did this years ago and installed it with `py` included. I do not remember the exact commands. That said, I call `py` to install the specified version that command is followed bellow.
1. Run `py -3.11 -m venv .venv` (As per README.md python 3.11 requirement))
1. Run `./venv/Scripts/Activate.ps1` (Activate environment)
1. Run `python.exe -m pip install --upgrade pip` (To upgrade pip -> not required but a habbit of mine.)
1. Run `open-webui server`
1. Open web browser of choice. I used Firefox v149.0 (64-bit)
1. Open local site on browser: [http://localhost:8080/](http://localhost:8080/)
1. Generate account. Entered email address, username, and password. (Actual values are not relevant to this bug so long as you can remember them to login.)
1. Navigate to `Web Search`. [http://localhost:8080/admin/settings/web](http://localhost:8080/admin/settings/web)
- You can use the link here otherwise here are the click through instructions I followed:
- I clicked on my name (bottom left corner)
- Then went to `Settings` with the gear icon.
- Then at the bottom left of the Settings modal I selected `Admin Settings`
- Then on the left side of the Admin Settings I selected `Web Search` with the globe icon.
1. On the Web Searc page
- Enable Websearch
- Select Web Search Engine. I chose `google_pse` but I think this choice does not impact the test.
- Enter your Google PSE API Key (not sure if this is nessicary but I did)
- Enter the coresponding Google PSE Engine ID (I entered mine)
- It doesn't matter what value you set for `Fetch URL Context Length Limit` when you save in the powershell console you get the generated error.
<img width="1326" height="870" alt="Image" src="https://github.com/user-attachments/assets/789e1f98-cc12-4f25-875d-30b55e43e528" />
### Logs & Screenshots
<img width="1396" height="958" alt="Image" src="https://github.com/user-attachments/assets/0b0e7e26-4935-4d5d-addd-824e0f4700b4" />
```dev-console
XHRPOST
http://localhost:8080/api/v1/retrieval/config/update
[HTTP/1.1 500 Internal Server Error 11300ms]
POST
http://localhost:8080/api/v1/retrieval/config/update
Status
500
Internal Server Error
VersionHTTP/1.1
Transferred174 B (21 B size)
Referrer Policystrict-origin-when-cross-origin
Request PriorityHighest
DNS ResolutionSystem
content-length
21
content-type
text/plain; charset=utf-8
date
Fri, 27 Mar 2026 03:46:17 GMT
server
uvicorn
Accept
*/*
Accept-Encoding
gzip, deflate, br, zstd
Accept-Language
en-US,en;q=0.9
Authorization
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjZkNTk2ZDdmLWQ1ODktNDEzMS1hNDllLWIyYjE5ZTkxMzAyMyIsImV4cCI6MTc3Njk5NzU1MSwianRpIjoiNjJlNGY1NDYtYjA4ZS00NzFlLTg0YWQtYzU5YjVkNGIyZTY3In0._ExqK1DWH9dYvomMBfdyYV0lbceqZOWkS7Ku2sDbLZU
Cache-Control
no-cache
Connection
keep-alive
Content-Length
1882
Content-Type
application/json
Cookie
token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjZkNTk2ZDdmLWQ1ODktNDEzMS1hNDllLWIyYjE5ZTkxMzAyMyIsImV4cCI6MTc3Njk5NzU1MSwianRpIjoiNjJlNGY1NDYtYjA4ZS00NzFlLTg0YWQtYzU5YjVkNGIyZTY3In0._ExqK1DWH9dYvomMBfdyYV0lbceqZOWkS7Ku2sDbLZU
DNT
1
Host
localhost:8080
Origin
http://localhost:8080
Pragma
no-cache
Priority
u=0
Referer
http://localhost:8080/admin/settings/web
Sec-Fetch-Dest
empty
Sec-Fetch-Mode
cors
Sec-Fetch-Site
same-origin
Sec-GPC
1
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0
```
```powershell
Exception in ASGI application
+ Exception Group Traceback (most recent call last):
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 81, in collapse_excgroups
| yield
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 192, in __call__
| async with anyio.create_task_group() as task_group:
| File "***************************\open-webui\.venv\Lib\site-packages\anyio\_backends\_asyncio.py", line 799, in __aexit__
| raise BaseExceptionGroup(
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "***************************\open-webui\.venv\Lib\site-packages\uvicorn\protocols\http\httptools_impl.py", line 416, in run_asgi
| result = await app( # type: ignore[func-returns-value]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
| return await self.app(scope, receive, send)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\fastapi\applications.py", line 1160, in __call__
| await super().__call__(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\applications.py", line 90, in __call__
| await self.middleware_stack(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
| raise exc
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
| await self.app(scope, receive, _send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\sessions.py", line 88, in __call__
| await self.app(scope, receive, send_wrapper)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
| await self.simple_response(scope, receive, send, request_headers=headers)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
| await self.app(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
| self.gen.throw(typ, value, traceback)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
| raise exc
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1472, in inspect_websocket
| return await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
| raise app_exc from app_exc.__cause__ or app_exc.__context__
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
| self.gen.throw(typ, value, traceback)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
| raise exc
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1454, in check_url
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
| raise app_exc from app_exc.__cause__ or app_exc.__context__
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
| self.gen.throw(typ, value, traceback)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
| raise exc
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1421, in commit_session_after_request
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
| raise app_exc from app_exc.__cause__ or app_exc.__context__
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1413, in __call__
| await self.app(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
| self.gen.throw(typ, value, traceback)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
| raise exc
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\open_webui\utils\security_headers.py", line 11, in dispatch
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
| raise app_exc from app_exc.__cause__ or app_exc.__context__
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
| self.gen.throw(typ, value, traceback)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
| raise exc
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1366, in dispatch
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
| raise app_exc from app_exc.__cause__ or app_exc.__context__
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette_compress\__init__.py", line 104, in __call__
| return await self._zstd(scope, receive, send)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\starlette_compress\_zstd_legacy.py", line 107, in __call__
| await self.app(scope, receive, wrapper)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
| await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "***************************\open-webui\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
| await self.app(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
| await self.middleware_stack(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
| await route.handle(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
| await self.app(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py", line 130, in app
| await wrap_app_handling_exceptions(app, request)(scope, receive, send)
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py", line 116, in app
| response = await f(request)
| ^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py", line 670, in app
| raw_response = await run_endpoint_function(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py", line 324, in run_endpoint_function
| return await dependant.call(**values)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\open_webui\routers\retrieval.py", line 1177, in update_rag_config
| 'FETCH_URL_MAX_CONTENT_LENGTH': request.app.state.config.FETCH_URL_MAX_CONTENT_LENGTH,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "***************************\open-webui\.venv\Lib\site-packages\open_webui\config.py", line 257, in __getattr__
| raise AttributeError(f"Config key '{key}' not found")
| AttributeError: Config key 'FETCH_URL_MAX_CONTENT_LENGTH' not found
+------------------------------------
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "***************************\open-webui\.venv\Lib\site-packages\uvicorn\protocols\http\httptools_impl.py", line 416, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\fastapi\applications.py", line 1160, in __call__
await super().__call__(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\applications.py", line 90, in __call__
await self.middleware_stack(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
raise exc
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\sessions.py", line 88, in __call__
await self.app(scope, receive, send_wrapper)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
raise exc
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1472, in inspect_websocket
return await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
raise exc
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1454, in check_url
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
raise exc
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1421, in commit_session_after_request
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1413, in __call__
await self.app(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
raise exc
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\open_webui\utils\security_headers.py", line 11, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "C:\Users\**********\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
raise exc
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\open_webui\main.py", line 1366, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "***************************\open-webui\.venv\Lib\site-packages\starlette_compress\__init__.py", line 104, in __call__
return await self._zstd(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\starlette_compress\_zstd_legacy.py", line 107, in __call__
await self.app(scope, receive, wrapper)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "***************************\open-webui\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py", line 130, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "***************************\open-webui\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py", line 116, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py", line 670, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\fastapi\routing.py", line 324, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\open_webui\routers\retrieval.py", line 1177, in update_rag_config
'FETCH_URL_MAX_CONTENT_LENGTH': request.app.state.config.FETCH_URL_MAX_CONTENT_LENGTH,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "***************************\open-webui\.venv\Lib\site-packages\open_webui\config.py", line 257, in __getattr__
raise AttributeError(f"Config key '{key}' not found")
AttributeError: Config key 'FETCH_URL_MAX_CONTENT_LENGTH' not found
### Additional Information
_No response_
GiteaMirror
added the bug label 2026-05-18 05:22:14 -05:00
@steffen-karlsson commented on GitHub (Mar 30, 2026):
I'm experiencing the same on the newest version, Im working currently on a PR for it, lets see if it get merged, as Im blocked by it as well.
<!-- gh-comment-id:4154067296 -->
@steffen-karlsson commented on GitHub (Mar 30, 2026):
I'm experiencing the same on the newest version, Im working currently on a PR for it, lets see if it get merged, as Im blocked by it as well.
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 @taggedzi on GitHub (Mar 27, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/23127
Check Existing Issues
Installation Method
Pip Install
Open WebUI Version
v0.8.12
Ollama Version (if applicable)
v0.18.3
Operating System
Windows 11 Home
Browser (if applicable)
Firefox v149.0 (64-bit)
Confirmation
README.md.Expected Behavior
When
Fetch URL Content Length Limitis set on the Web Search section of the Admin Settings, I expect to successfully save the value.Actual Behavior
It returns an error and does not save. It also generates an error in the console.
@steffen-karlsson commented on GitHub (Mar 30, 2026):
I'm experiencing the same on the newest version, Im working currently on a PR for it, lets see if it get merged, as Im blocked by it as well.
@steffen-karlsson commented on GitHub (Mar 30, 2026):
Proposed a fix here: https://github.com/open-webui/open-webui/pull/23226
@tjbck commented on GitHub (Apr 1, 2026):
Addressed in dev.