I have searched the existing issues and discussions.
I am using the latest version of Open WebUI.
Installation Method
pip install
Open WebUI Version
0.6.18
Ollama Version (if applicable)
No response
Operating System
Debian 12
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_CONCURRENT_REQUESTS is set to 1 but there are still 3 concurrent requests being sent when looking into the log file. This leads directly to rate limit issues with some search engines, for example DuckDuckGo and Brave.
Actual Behavior
If WEB_SEARCH_CONCURRENT_REQUESTS is set to 1, only one request should be sent.
Steps to Reproduce
Configure a web search with WEB_SEARCH_CONCURRENT_REQUESTS = 1
Configure a model to use the web search
Send a prompt and observe the log files. See that there are multiple lines like the one below.
Logs & Screenshots
Aug 14 18:02:09 openwebui open-webui[432076]: 2025-08-14 18:02:09.341 | INFO | open_webui.routers.retrieval:process_web_search:1914 - trying to web search with ('duckduckgo', ['permutation1', 'permutation2', 'permutation3']) - {}
Aug 14 18:02:09 openwebui open-webui[432076]: 2025-08-14 18:02:09.445 | INFO | ddgs.ddgs:_text_bing:380 - response: https://www.bing.com/search?q=permutation1 200 - {}
Aug 14 18:02:09 openwebui open-webui[432076]: 2025-08-14 18:02:09.465 | INFO | ddgs.ddgs:_text_bing:380 - response: https://www.bing.com/search?q=permutation2 200 - {}
Aug 14 18:02:09 openwebui open-webui[432076]: 2025-08-14 18:02:09.499 | INFO | ddgs.ddgs:_text_bing:380 - response: https://www.bing.com/search?q=permutation3 200 - {}
Additional Information
No response
Originally created by @svenseeberg on GitHub (Aug 14, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16630
### Check Existing Issues
- [x] I have searched the existing issues and discussions.
- [x] I am using the latest version of Open WebUI.
### Installation Method
pip install
### Open WebUI Version
0.6.18
### Ollama Version (if applicable)
_No response_
### Operating System
Debian 12
### 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_CONCURRENT_REQUESTS is set to 1 but there are still 3 concurrent requests being sent when looking into the log file. This leads directly to rate limit issues with some search engines, for example DuckDuckGo and Brave.
### Actual Behavior
If WEB_SEARCH_CONCURRENT_REQUESTS is set to 1, only one request should be sent.
### Steps to Reproduce
1. Configure a web search with WEB_SEARCH_CONCURRENT_REQUESTS = 1
1. Configure a model to use the web search
1. Send a prompt and observe the log files. See that there are multiple lines like the one below.
### Logs & Screenshots
```
Aug 14 18:02:09 openwebui open-webui[432076]: 2025-08-14 18:02:09.341 | INFO | open_webui.routers.retrieval:process_web_search:1914 - trying to web search with ('duckduckgo', ['permutation1', 'permutation2', 'permutation3']) - {}
Aug 14 18:02:09 openwebui open-webui[432076]: 2025-08-14 18:02:09.445 | INFO | ddgs.ddgs:_text_bing:380 - response: https://www.bing.com/search?q=permutation1 200 - {}
Aug 14 18:02:09 openwebui open-webui[432076]: 2025-08-14 18:02:09.465 | INFO | ddgs.ddgs:_text_bing:380 - response: https://www.bing.com/search?q=permutation2 200 - {}
Aug 14 18:02:09 openwebui open-webui[432076]: 2025-08-14 18:02:09.499 | INFO | ddgs.ddgs:_text_bing:380 - response: https://www.bing.com/search?q=permutation3 200 - {}
```
### Additional Information
_No response_
GiteaMirror
added the bug label 2026-04-25 07:25:40 -05:00
"Issue" from the pseudosearch library (Dux Distributed Global Search) that also make parallel requests. The number of threads of this lib, by default 3, can be setted.
The library works in parallel, adjusting concurrent requests based on max_results. This ensures efficient and fast retrieval. You can change the maximum number of threads using the parameter DDGS.threads (for example, DDGS.threads = 20).
<!-- gh-comment-id:3189277109 -->
@rgaricano commented on GitHub (Aug 14, 2025):
"Issue" from the pseudosearch library ([Dux Distributed Global Search](https://github.com/deedy5/ddgs)) that also make parallel requests. The number of threads of this lib, by default 3, can be setted.
It's enought with limiting it to 1 or just passing the WEB_SEARCH_CONCURRENT_REQUESTS var to ddgs function,
with this changes in https://github.com/open-webui/open-webui/blob/dev/backend/open_webui/retrieval/web/duckduckgo.py :
+`from open_webui.config import WEB_SEARCH_CONCURRENT_REQUESTS`
+L30:` ddgs.threads=WEB_SEARCH_CONCURRENT_REQUESTS`
For reference :
> The library works in parallel, adjusting concurrent requests based on max_results. This ensures efficient and fast retrieval. You can change the maximum number of threads using the parameter DDGS.threads (for example, DDGS.threads = 20).
Should be addressed in dev. WEB_SEARCH_CONCURRENT_REQUESTS env var has been renamed to WEB_LOADER_CONCURRENT_REQUESTS to better reflect its functionality.
<!-- gh-comment-id:3197543566 -->
@tjbck commented on GitHub (Aug 18, 2025):
Should be addressed in dev. `WEB_SEARCH_CONCURRENT_REQUESTS` env var has been renamed to `WEB_LOADER_CONCURRENT_REQUESTS` to better reflect its functionality.
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 @svenseeberg on GitHub (Aug 14, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16630
Check Existing Issues
Installation Method
pip install
Open WebUI Version
0.6.18
Ollama Version (if applicable)
No response
Operating System
Debian 12
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
WEB_SEARCH_CONCURRENT_REQUESTS is set to 1 but there are still 3 concurrent requests being sent when looking into the log file. This leads directly to rate limit issues with some search engines, for example DuckDuckGo and Brave.
Actual Behavior
If WEB_SEARCH_CONCURRENT_REQUESTS is set to 1, only one request should be sent.
Steps to Reproduce
Logs & Screenshots
Additional Information
No response
@rgaricano commented on GitHub (Aug 14, 2025):
"Issue" from the pseudosearch library (Dux Distributed Global Search) that also make parallel requests. The number of threads of this lib, by default 3, can be setted.
It's enought with limiting it to 1 or just passing the WEB_SEARCH_CONCURRENT_REQUESTS var to ddgs function,
with this changes in https://github.com/open-webui/open-webui/blob/dev/backend/open_webui/retrieval/web/duckduckgo.py :
+
from open_webui.config import WEB_SEARCH_CONCURRENT_REQUESTS+L30:
ddgs.threads=WEB_SEARCH_CONCURRENT_REQUESTSFor reference :
@tjbck commented on GitHub (Aug 17, 2025):
@rgaricano PR welcome!
@tjbck commented on GitHub (Aug 18, 2025):
Should be addressed in dev.
WEB_SEARCH_CONCURRENT_REQUESTSenv var has been renamed toWEB_LOADER_CONCURRENT_REQUESTSto better reflect its functionality.@Classic298 commented on GitHub (Aug 18, 2025):
docs updated in dev