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
Other
Open WebUI Version
v0.6.28
Ollama Version (if applicable)
0.11.10
Operating System
Sequoia 15.6.1
Browser (if applicable)
Brave 1.82.161 arm64
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
Using qwen3:30b with Brave Web Search enabled, the LLM's "thinking" output is discarded and only the text of the search query is fed to Brave's API.
Actual Behavior
Using qwen3:30b with Brave Web Search enabled, occasionally the search query will contain the LLM's "thinking" output as part of the query:
requests.exceptions.HTTPError: 422 Client Error: Unprocessable Entity for url: https://api.search.brave.com/res/v1/web/search?q=%7B%0A+++%22queries%22%3A+%5B%0A++++++++%22today%27s+top+headlines+2025-09-14%22%2C%0A++++++++%22current+news+headlines+September+14+2025%22%0A+++%5D%0A+%7D%0A%0A+However%2C+note%3A+the+guidelines+say+%22broad+and+relevant%22.+We+are+not+specifying+a+news+source%2C+so+it%27s+broad.%0A%0A+Let%27s+check%3A+%0A+++-+%22today%27s+top+headlines+2025-09-14%22+is+clear.%0A+++-+%22current+news+headlines+September+14+2025%22+is+also+clear.%0A%0A+We%27ll+go+with+these+two.%0A%0A+But+note%3A+the+current+date+in+the+system+is+2025-09-14%2C+so+we+are+safe.%0A%0A+However%2C+the+chat+history+only+has+one+message%2C+so+we+have+no+context+about+previous+searches.+We+are+to+generate+the+queries+for+the+current+request.%0A%0A+Therefore%2C+we+output+the+JSON+with+these+two+queries.%0A%0A+But+note%3A+the+guidelines+say+%221-3%22%2C+so+two+is+acceptable.%0A%0A+Let%27s+write+the+JSON.%0A%0A+Important%3A+We+must+not+output+anything+else.%0A%0A+So+the+response+is%3A%0A%0A%7B%0A++%22queries%22%3A+%5B%0A++++%22today%27s+top+headlines+2025-09-14%22%2C%0A++++%22current+news+headlines+September+14+2025%22%0A++%5D%0A%7D%0A%0A+However%2C+note%3A+the+date+in+the+second+query+is+written+as+%22September+14+2025%22%2C+which+is+standard.+We+could+also+use+%222025-09-14%22+for+consistency%2C+but+it%27s+common+to+see+the+month+name.%0A%0A+But+to+be+consistent+in+the+format%2C+we+could+use+the+same+date+format+in+both%3F+However%2C+the+guidelines+don%27t+require+that.%0A%0A+Let%27s+stick+to+two+different+common+formats.%0A%0A+Alternatively%2C+we+can+use%3A%0A%0A+++%22today%27s+headlines+2025-09-14%22%0A+++%22latest+news+headlines+September+14+2025%22%0A%0A+But+I+think+the+two+I+have+are+fine.%0A%0A+Final+decision%3A+two+queries.%0A%0A+However%2C+note%3A+the+current+date+in+the+system+is+2025-09-14%2C+so+we+are+using+that+exact+date.%0A%0A+Let%27s+output+the+JSON.%0A%3C%2Fthink%3E%0A%0A%7B%0A++%22queries%22%3A+%5B%0A++++%22today%27s+top+headlines+2025-09-14%22%2C%0A++++%22current+news+headlines+September+14+2025%22%0A++%5D%0A%7D&count=3
This results in the API responding with 422, Unprocessable Entity.
It doesn't do this every time, but if you try a few times you should see it. You can clearly see in the URL that is generated that it contains the thinking output from qwen that has been mistakenly included.
Steps to Reproduce
Install ollama on MacBook Pro with brew install ollama.
I also observed this issue with ollama and open-webui both running in Docker on a Win11 machine, so I don't think it is OS dependent. I don't use any other models that have the "thinking" functionality so I don't know if it is specific to qwen or if any thinking model will do it. It seems like an issue with parsing the <think> tags in the output, perhaps if the tokens include unexpected characters.
Originally created by @scionaltera on GitHub (Sep 14, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/17426
### 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
Other
### Open WebUI Version
v0.6.28
### Ollama Version (if applicable)
0.11.10
### Operating System
Sequoia 15.6.1
### Browser (if applicable)
Brave 1.82.161 arm64
### 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
Using qwen3:30b with Brave Web Search enabled, the LLM's "thinking" output is discarded and only the text of the search query is fed to Brave's API.
### Actual Behavior
Using qwen3:30b with Brave Web Search enabled, occasionally the search query will contain the LLM's "thinking" output as part of the query:
```
requests.exceptions.HTTPError: 422 Client Error: Unprocessable Entity for url: https://api.search.brave.com/res/v1/web/search?q=%7B%0A+++%22queries%22%3A+%5B%0A++++++++%22today%27s+top+headlines+2025-09-14%22%2C%0A++++++++%22current+news+headlines+September+14+2025%22%0A+++%5D%0A+%7D%0A%0A+However%2C+note%3A+the+guidelines+say+%22broad+and+relevant%22.+We+are+not+specifying+a+news+source%2C+so+it%27s+broad.%0A%0A+Let%27s+check%3A+%0A+++-+%22today%27s+top+headlines+2025-09-14%22+is+clear.%0A+++-+%22current+news+headlines+September+14+2025%22+is+also+clear.%0A%0A+We%27ll+go+with+these+two.%0A%0A+But+note%3A+the+current+date+in+the+system+is+2025-09-14%2C+so+we+are+safe.%0A%0A+However%2C+the+chat+history+only+has+one+message%2C+so+we+have+no+context+about+previous+searches.+We+are+to+generate+the+queries+for+the+current+request.%0A%0A+Therefore%2C+we+output+the+JSON+with+these+two+queries.%0A%0A+But+note%3A+the+guidelines+say+%221-3%22%2C+so+two+is+acceptable.%0A%0A+Let%27s+write+the+JSON.%0A%0A+Important%3A+We+must+not+output+anything+else.%0A%0A+So+the+response+is%3A%0A%0A%7B%0A++%22queries%22%3A+%5B%0A++++%22today%27s+top+headlines+2025-09-14%22%2C%0A++++%22current+news+headlines+September+14+2025%22%0A++%5D%0A%7D%0A%0A+However%2C+note%3A+the+date+in+the+second+query+is+written+as+%22September+14+2025%22%2C+which+is+standard.+We+could+also+use+%222025-09-14%22+for+consistency%2C+but+it%27s+common+to+see+the+month+name.%0A%0A+But+to+be+consistent+in+the+format%2C+we+could+use+the+same+date+format+in+both%3F+However%2C+the+guidelines+don%27t+require+that.%0A%0A+Let%27s+stick+to+two+different+common+formats.%0A%0A+Alternatively%2C+we+can+use%3A%0A%0A+++%22today%27s+headlines+2025-09-14%22%0A+++%22latest+news+headlines+September+14+2025%22%0A%0A+But+I+think+the+two+I+have+are+fine.%0A%0A+Final+decision%3A+two+queries.%0A%0A+However%2C+note%3A+the+current+date+in+the+system+is+2025-09-14%2C+so+we+are+using+that+exact+date.%0A%0A+Let%27s+output+the+JSON.%0A%3C%2Fthink%3E%0A%0A%7B%0A++%22queries%22%3A+%5B%0A++++%22today%27s+top+headlines+2025-09-14%22%2C%0A++++%22current+news+headlines+September+14+2025%22%0A++%5D%0A%7D&count=3
```
This results in the API responding with 422, Unprocessable Entity.
It doesn't do this every time, but if you try a few times you should see it. You can clearly see in the URL that is generated that it contains the thinking output from qwen that has been mistakenly included.
### Steps to Reproduce
1. Install ollama on MacBook Pro with `brew install ollama`.
2. Start ollama with `brew services start ollama`.
3. Use below `docker-compose.yml`.
4. Run open-webui with `docker compose up`.
5. Visit http://localhost:3000
6. Log into open-webui.
7. Configure Web Search to use Brave with Base API plan (free isn't working lately due to 429s).
8. Start a chat with qwen3:30b, with Web Search enabled.
9. Occasionally the 422 will happen. Usually takes only a few tries.
```yaml
services:
ollama-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: ollama-webui
volumes:
- ./ollama-webui:/app/backend/data
ports:
- 3000:8080
environment:
- 'OLLAMA_API_BASE_URL=http://localhost:11434/api'
- 'WEBUI_BASE_URL=http://localhost:8080'
extra_hosts:
- host.docker.internal:host-gateway
restart: unless-stopped
```
### Logs & Screenshots
<img width="1411" height="595" alt="Image" src="https://github.com/user-attachments/assets/a040daea-f032-43ff-9f81-4c7939006069" />
<img width="1917" height="492" alt="Image" src="https://github.com/user-attachments/assets/13ec3558-3d37-4dcf-9d02-5d6ccdb471f1" />
### Additional Information
I also observed this issue with ollama and open-webui both running in Docker on a Win11 machine, so I don't think it is OS dependent. I don't use any other models that have the "thinking" functionality so I don't know if it is specific to qwen or if any thinking model will do it. It seems like an issue with parsing the `<think>` tags in the output, perhaps if the tokens include unexpected characters.
GiteaMirror
added the bug label 2026-05-13 05:04:40 -05:00
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 @scionaltera on GitHub (Sep 14, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/17426
Check Existing Issues
Installation Method
Other
Open WebUI Version
v0.6.28
Ollama Version (if applicable)
0.11.10
Operating System
Sequoia 15.6.1
Browser (if applicable)
Brave 1.82.161 arm64
Confirmation
README.md.Expected Behavior
Using qwen3:30b with Brave Web Search enabled, the LLM's "thinking" output is discarded and only the text of the search query is fed to Brave's API.
Actual Behavior
Using qwen3:30b with Brave Web Search enabled, occasionally the search query will contain the LLM's "thinking" output as part of the query:
This results in the API responding with 422, Unprocessable Entity.
It doesn't do this every time, but if you try a few times you should see it. You can clearly see in the URL that is generated that it contains the thinking output from qwen that has been mistakenly included.
Steps to Reproduce
brew install ollama.brew services start ollama.docker-compose.yml.docker compose up.Logs & Screenshots
Additional Information
I also observed this issue with ollama and open-webui both running in Docker on a Win11 machine, so I don't think it is OS dependent. I don't use any other models that have the "thinking" functionality so I don't know if it is specific to qwen or if any thinking model will do it. It seems like an issue with parsing the
<think>tags in the output, perhaps if the tokens include unexpected characters.@tjbck commented on GitHub (Sep 15, 2025):
Unable to reproduce.