I have searched the existing issues and discussions.
I am using the latest version of Open WebUI.
Installation Method
Pip Install
Open WebUI Version
v0.6.13
Ollama Version (if applicable)
v0.9.0
Operating System
Windows Server 2022
Browser (if applicable)
Edge/Chrome
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
Uploading a directory of documents to a Knowledge through the WebUI or API should process all documents successfully.
Actual Behavior
A random amount of the documents upload successfully (normally around 20-60) but eventually, one document fails, Open-WebUI crashes WITHOUT ERROR, the Vector DB for that Knowledge gets corrupted and no other documents are able to be uploaded to it. The documents that were successfully uploaded are still present and RAG queries work as expected with those documents.
Essentially that Knowledge enters a locked state in which it works properly, but no other documents can be uploaded. Attempting to do so results in an Open-WebUI server crash.
Steps to Reproduce
Using web UI:
Install Windows Server 2022
Install Nvidia CUDA 12.8 driver
Install OpenJDK 21.0.7
Download and start Tika 3.2.0 server java -jar tika-server.jar
Download and start Ollama 0.9.0 server
Install Open-WebUI using Pip method with Python 3.11
Start Open-WebUI open-webui serve
Setup local admin user
Enable API keys
Create a new Knowledge
Click on Add Content
Click Upload Directory
Select a directory with a moderate number of PDF files. (Mine is 180)
Watch and wait as files begin to be added successfully
Eventually, 1 file fails (For me this is random but usually between 20-70)
Open-WebUI crashes (You'll know this has happened because all other files in queue will immediately fail)
Restart Open-WebUI server
Attempting to upload any other files to that same Knowledge will crash Open-WebUI again.
Using the API
Identical steps as WebUI up to step 11
Run the script providing the ID of the Knowledge you created
Eventually, script will state that a file upload failed (this is when Open-WebUI server crashes)
Logs & Screenshots
Open-WebUI logs for last two file uploads. The first is successful, the second crashes the server.
In this example I was using the Python API script.
When going through the WebUI, the logs are generally the same, minus the lines about file.content_type: None and File type None is not provided.
Either way the final behavior is the same, Open-WebUI fails to upload all the files and crashes.
2025-06-03 11:08:16.697 | INFO | open_webui.routers.files:upload_file:94 - file.content_type: None - {}
2025-06-03 11:08:16.720 | INFO | open_webui.routers.files:upload_file:174 - File type None is not provided, but trying to process anyway - {}
2025-06-03 11:08:16.808 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1086 - save_docs_to_vector_db: document document-1-title.pdf file-53a798b7-f863-4adc-baa9-23cf4ed56106 - {}
2025-06-03 11:08:16.901 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1169 - adding to collection file-53a798b7-f863-4adc-baa9-23cf4ed56106 - {}
2025-06-03 11:08:17.487 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.1.4.120:0 - "POST /api/v1/files/?process=true&internal=true HTTP/1.1" 200 - {}
2025-06-03 11:08:17.634 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1086 - save_docs_to_vector_db: document document-1-title.pdf 33627520-abcf-42dc-bef7-4c11325e7309 - {}
2025-06-03 11:08:17.733 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1158 - collection 33627520-abcf-42dc-bef7-4c11325e7309 already exists - {}
2025-06-03 11:08:17.734 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1169 - adding to collection 33627520-abcf-42dc-bef7-4c11325e7309 - {}
2025-06-03 11:08:18.180 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.1.4.120:0 - "POST /api/v1/knowledge/33627520-abcf-42dc-bef7-4c11325e7309/file/add HTTP/1.1" 200 - {}
2025-06-03 11:08:18.335 | INFO | open_webui.routers.files:upload_file:94 - file.content_type: None - {}
2025-06-03 11:08:18.396 | INFO | open_webui.routers.files:upload_file:174 - File type None is not provided, but trying to process anyway - {}
2025-06-03 11:08:20.097 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1086 - save_docs_to_vector_db: document document-2-title.pdf file-7a1e34bc-f628-4107-a80b-f6e85489bed0 - {}
2025-06-03 11:08:20.168 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1169 - adding to collection file-7a1e34bc-f628-4107-a80b-f6e85489bed0 - {}
2025-06-03 11:08:20.802 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.1.4.120:0 - "POST /api/v1/files/?process=true&internal=true HTTP/1.1" 200 - {}
2025-06-03 11:08:20.960 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1086 - save_docs_to_vector_db: document document-2-title.pdf 33627520-abcf-42dc-bef7-4c11325e7309 - {}
2025-06-03 11:08:21.057 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1158 - collection 33627520-abcf-42dc-bef7-4c11325e7309 already exists - {}
2025-06-03 11:08:21.058 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1169 - adding to collection 33627520-abcf-42dc-bef7-4c11325e7309 - {}
(venv) (base) PS C:\Program Files\open-webui>
Ollama Server Logs and Tika Server Logs contain no errors, they simply stop receiving requests.
Running the Python API Script below generates the same behavior.
Attempting to upload the documents through the WebUI on the Open-WebUI server itself (localhost:8080) also generates the same behavior.
API Python Script:
import requests
import os
class Client:
def __init__(self, base_url, token):
self.base_url = base_url
self.token = token
# This function uploads a file to Open-WebUI
def upload_file(self, filepath):
url = f"{self.base_url}/v1/files/?process=true&internal=true"
headers = {
'Authorization': f'Bearer {self.token}',
'accept': 'application/json'
}
with open(filepath, "rb") as file:
files = {"file": file}
response = requests.post(url, headers=headers, files=files, timeout=None)
if response.status_code == 200:
return response.json()
else:
return {"status_code": response.status_code, "detail": response}
# This function adds a file to a Knowledge Collection
def add_file_to_knowledge(self, file_id, knowledge_id):
url = f"{self.base_url}/v1/knowledge/{knowledge_id}/file/add"
headers = {
'Authorization': f'Bearer {self.token}',
'accept': 'application/json'
}
payload = {
"file_id": file_id
}
response = requests.post(url, headers=headers, json=payload, timeout=None)
if response.status_code == 200:
return response.json()
else:
return {"status_code": response.status_code, "detail": response}
# This function loops through all files in the provided directory, uploads them, and adds them to a specified Knowledge.
def process_dir(self, dir_path, knowledge_id):
filenames = [f for f in os.listdir(dir_path) if os.path.isfile(os.path.join(dir_path, f))]
for f in filenames:
fullpath = os.path.join(dir_path, f)
upload_r = self.upload_file(filepath=fullpath)
add_r = self.add_file_to_knowledge(upload_r["id"], knowledge_id=knowledge_id)
if "id" in add_r:
print(f"Uploaded: {f}!")
else:
print(f"FAILED: {f}!")
print(add_r)
x = input("Continue Y/n: ")
if x == "" or x.lower() == "y":
continue
else:
break
client = Client("http://myopen-webui.com", "my-api-token")
client.process_dir(dir_path="mydir", knowledge_id="33627520-abcf-42dc-bef7-4c11325e7309")
MY OPEN-WEBUI DOCUMENTS SETTINGS
I have no Pipelines enabled.
Let me know if there's anything else I need to provide.
Originally created by @austin3410 on GitHub (Jun 3, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/14634
### 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
v0.6.13
### Ollama Version (if applicable)
v0.9.0
### Operating System
Windows Server 2022
### Browser (if applicable)
Edge/Chrome
### 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
Uploading a directory of documents to a Knowledge through the WebUI or API should process all documents successfully.
### Actual Behavior
A random amount of the documents upload successfully (normally around 20-60) but eventually, one document fails, Open-WebUI crashes WITHOUT ERROR, the Vector DB for that Knowledge gets corrupted and no other documents are able to be uploaded to it. The documents that were successfully uploaded are still present and RAG queries work as expected with those documents.
Essentially that Knowledge enters a locked state in which it works properly, but no other documents can be uploaded. Attempting to do so results in an Open-WebUI server crash.
### Steps to Reproduce
Using web UI:
1. Install Windows Server 2022
2. Install Nvidia CUDA 12.8 driver
3. Install OpenJDK 21.0.7
4. Download and start Tika 3.2.0 server `java -jar tika-server.jar`
5. Download and start Ollama 0.9.0 server
6. Install Open-WebUI using Pip method with Python 3.11
7. Start Open-WebUI `open-webui serve`
8. Setup local admin user
9. Enable API keys
10. Create a new Knowledge
11. Click on Add Content
12. Click Upload Directory
13. Select a directory with a moderate number of PDF files. (Mine is 180)
14. Watch and wait as files begin to be added successfully
15. Eventually, 1 file fails (For me this is random but usually between 20-70)
16. Open-WebUI crashes (You'll know this has happened because all other files in queue will immediately fail)
17. Restart Open-WebUI server
18. Attempting to upload any other files to that same Knowledge will crash Open-WebUI again.
Using the API
1. Identical steps as WebUI up to step 11
2. Run the script providing the ID of the Knowledge you created
3. Eventually, script will state that a file upload failed (this is when Open-WebUI server crashes)
### Logs & Screenshots
Open-WebUI logs for last two file uploads. The first is successful, the second crashes the server.
In this example I was using the Python API script.
When going through the WebUI, the logs are generally the same, minus the lines about file.content_type: None and File type None is not provided.
Either way the final behavior is the same, Open-WebUI fails to upload all the files and crashes.
```
2025-06-03 11:08:16.697 | INFO | open_webui.routers.files:upload_file:94 - file.content_type: None - {}
2025-06-03 11:08:16.720 | INFO | open_webui.routers.files:upload_file:174 - File type None is not provided, but trying to process anyway - {}
2025-06-03 11:08:16.808 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1086 - save_docs_to_vector_db: document document-1-title.pdf file-53a798b7-f863-4adc-baa9-23cf4ed56106 - {}
2025-06-03 11:08:16.901 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1169 - adding to collection file-53a798b7-f863-4adc-baa9-23cf4ed56106 - {}
2025-06-03 11:08:17.487 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.1.4.120:0 - "POST /api/v1/files/?process=true&internal=true HTTP/1.1" 200 - {}
2025-06-03 11:08:17.634 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1086 - save_docs_to_vector_db: document document-1-title.pdf 33627520-abcf-42dc-bef7-4c11325e7309 - {}
2025-06-03 11:08:17.733 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1158 - collection 33627520-abcf-42dc-bef7-4c11325e7309 already exists - {}
2025-06-03 11:08:17.734 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1169 - adding to collection 33627520-abcf-42dc-bef7-4c11325e7309 - {}
2025-06-03 11:08:18.180 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.1.4.120:0 - "POST /api/v1/knowledge/33627520-abcf-42dc-bef7-4c11325e7309/file/add HTTP/1.1" 200 - {}
2025-06-03 11:08:18.335 | INFO | open_webui.routers.files:upload_file:94 - file.content_type: None - {}
2025-06-03 11:08:18.396 | INFO | open_webui.routers.files:upload_file:174 - File type None is not provided, but trying to process anyway - {}
2025-06-03 11:08:20.097 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1086 - save_docs_to_vector_db: document document-2-title.pdf file-7a1e34bc-f628-4107-a80b-f6e85489bed0 - {}
2025-06-03 11:08:20.168 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1169 - adding to collection file-7a1e34bc-f628-4107-a80b-f6e85489bed0 - {}
2025-06-03 11:08:20.802 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.1.4.120:0 - "POST /api/v1/files/?process=true&internal=true HTTP/1.1" 200 - {}
2025-06-03 11:08:20.960 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1086 - save_docs_to_vector_db: document document-2-title.pdf 33627520-abcf-42dc-bef7-4c11325e7309 - {}
2025-06-03 11:08:21.057 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1158 - collection 33627520-abcf-42dc-bef7-4c11325e7309 already exists - {}
2025-06-03 11:08:21.058 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1169 - adding to collection 33627520-abcf-42dc-bef7-4c11325e7309 - {}
(venv) (base) PS C:\Program Files\open-webui>
```
**Ollama Server Logs and Tika Server Logs contain no errors, they simply stop receiving requests.**
Client Browser Logs:
```
+layout.svelte:101 Socket undefined disconnected due to transport close
+layout.svelte:103 Additional details: {description: 'websocket connection closed', context: CloseEvent}context: CloseEventisTrusted: truebubbles: falsecancelBubble: falsecancelable: falsecode: 1006composed: falsecurrentTarget: WebSocket {url: 'ws://myopen-webui.com/ws/socket.io/?EIO=4&transport=websocket', readyState: 3, bufferedAmount: 0, onopen: ƒ, onerror: ƒ, …}defaultPrevented: falseeventPhase: 0reason: ""returnValue: truesrcElement: WebSocket {url: 'ws://myopen-webui.com/ws/socket.io/?EIO=4&transport=websocket', readyState: 3, bufferedAmount: 0, onopen: ƒ, onerror: ƒ, …}target: WebSocket {url: 'ws://myopen-webui.com/ws/socket.io/?EIO=4&transport=websocket', readyState: 3, bufferedAmount: 0, onopen: ƒ, onerror: ƒ, …}timeStamp: 275201.40000009537type: "close"wasClean: false[[Prototype]]: CloseEventdescription: "websocket connection closed"[[Prototype]]: Object
index.ts:183
POST http://myopen-webui.com/api/v1/knowledge/541ef59d-3c46-404d-a1a7-cda212cd0a90/file/add net::ERR_CONNECTION_REFUSED
```
### Additional Information
Running the Python API Script below generates the same behavior.
Attempting to upload the documents through the WebUI on the Open-WebUI server itself (localhost:8080) also generates the same behavior.
API Python Script:
```
import requests
import os
class Client:
def __init__(self, base_url, token):
self.base_url = base_url
self.token = token
# This function uploads a file to Open-WebUI
def upload_file(self, filepath):
url = f"{self.base_url}/v1/files/?process=true&internal=true"
headers = {
'Authorization': f'Bearer {self.token}',
'accept': 'application/json'
}
with open(filepath, "rb") as file:
files = {"file": file}
response = requests.post(url, headers=headers, files=files, timeout=None)
if response.status_code == 200:
return response.json()
else:
return {"status_code": response.status_code, "detail": response}
# This function adds a file to a Knowledge Collection
def add_file_to_knowledge(self, file_id, knowledge_id):
url = f"{self.base_url}/v1/knowledge/{knowledge_id}/file/add"
headers = {
'Authorization': f'Bearer {self.token}',
'accept': 'application/json'
}
payload = {
"file_id": file_id
}
response = requests.post(url, headers=headers, json=payload, timeout=None)
if response.status_code == 200:
return response.json()
else:
return {"status_code": response.status_code, "detail": response}
# This function loops through all files in the provided directory, uploads them, and adds them to a specified Knowledge.
def process_dir(self, dir_path, knowledge_id):
filenames = [f for f in os.listdir(dir_path) if os.path.isfile(os.path.join(dir_path, f))]
for f in filenames:
fullpath = os.path.join(dir_path, f)
upload_r = self.upload_file(filepath=fullpath)
add_r = self.add_file_to_knowledge(upload_r["id"], knowledge_id=knowledge_id)
if "id" in add_r:
print(f"Uploaded: {f}!")
else:
print(f"FAILED: {f}!")
print(add_r)
x = input("Continue Y/n: ")
if x == "" or x.lower() == "y":
continue
else:
break
client = Client("http://myopen-webui.com", "my-api-token")
client.process_dir(dir_path="mydir", knowledge_id="33627520-abcf-42dc-bef7-4c11325e7309")
```
**MY OPEN-WEBUI DOCUMENTS SETTINGS**


I have no Pipelines enabled.
Let me know if there's anything else I need to provide.
GiteaMirror
added the bug label 2026-04-19 23:03:18 -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 @austin3410 on GitHub (Jun 3, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/14634
Check Existing Issues
Installation Method
Pip Install
Open WebUI Version
v0.6.13
Ollama Version (if applicable)
v0.9.0
Operating System
Windows Server 2022
Browser (if applicable)
Edge/Chrome
Confirmation
README.md.Expected Behavior
Uploading a directory of documents to a Knowledge through the WebUI or API should process all documents successfully.
Actual Behavior
A random amount of the documents upload successfully (normally around 20-60) but eventually, one document fails, Open-WebUI crashes WITHOUT ERROR, the Vector DB for that Knowledge gets corrupted and no other documents are able to be uploaded to it. The documents that were successfully uploaded are still present and RAG queries work as expected with those documents.
Essentially that Knowledge enters a locked state in which it works properly, but no other documents can be uploaded. Attempting to do so results in an Open-WebUI server crash.
Steps to Reproduce
Using web UI:
java -jar tika-server.jaropen-webui serveUsing the API
Logs & Screenshots
Open-WebUI logs for last two file uploads. The first is successful, the second crashes the server.
In this example I was using the Python API script.
When going through the WebUI, the logs are generally the same, minus the lines about file.content_type: None and File type None is not provided.
Either way the final behavior is the same, Open-WebUI fails to upload all the files and crashes.
Ollama Server Logs and Tika Server Logs contain no errors, they simply stop receiving requests.
Client Browser Logs:
Additional Information
Running the Python API Script below generates the same behavior.
Attempting to upload the documents through the WebUI on the Open-WebUI server itself (localhost:8080) also generates the same behavior.
API Python Script:
MY OPEN-WEBUI DOCUMENTS SETTINGS
I have no Pipelines enabled.
Let me know if there's anything else I need to provide.