I have searched the existing issues and discussions.
I am using the latest version of Open WebUI.
Installation Method
Other
Open WebUI Version
v0.6.18
Ollama Version (if applicable)
0.9.6
Operating System
RHEL 9.5
Browser (if applicable)
n/a
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
OpenWebUI should access the Chroma database through port 8000 to retrieve the documents in "knowledge", and if a model is using a knowledge base, it should answer the question based on those documents in the knowledge base.
Also: When adding a document (.md, .txt, etc.) to a new or existing knowledge base and clicking "Save", you should get a success notification.
Actual Behavior
After prompting, a model connected to the knowledge base can't access the documents in the Chroma database and returns an answer that the requested information can't be presented.
Also: When adding a document (.md, .txt, etc.) to a new or existing knowledge base and clicking "Save", you get the errors.
As both pods are running in the same network, access OpenWebUI and try to create a new knowledge base.
After creating a new knowledge base, try to upload a document, e.g., a Markdown file.
Logs & Screenshots
`File "/app/backend/open_webui/routers/retrieval.py", line 1254, in save_docs_to_vector_db
if VECTOR_DB_CLIENT.has_collection(collection_name=collection_name):
│ │ └ '8f8fa548-3c36-4a9d-8c5e-fa29f7756b6c'
│ └ <function ChromaClient.has_collection at 0x7fbbcf00b380>
└ <open_webui.retrieval.vector.dbs.chroma.ChromaClient object at 0x7fbbcf03ff50>
File "/app/backend/open_webui/retrieval/vector/dbs/chroma.py", line 64, in has_collection
collection_names = self.client.list_collections()
│ │ └ <function Client.list_collections at 0x7fbbd0095120>
│ └ <chromadb.api.client.Client object at 0x7fbbd198db50>
└ <open_webui.retrieval.vector.dbs.chroma.ChromaClient object at 0x7fbbcf03ff50>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/client.py", line 124, in list_collections
for model in self._server.list_collections(
│ │ └ <function FastAPI.list_collections at 0x7fbbced91260>
│ └ <chromadb.api.fastapi.FastAPI object at 0x7fbbd198d950>
└ <chromadb.api.client.Client object at 0x7fbbd198db50>
File "/usr/local/lib/python3.11/site-packages/chromadb/telemetry/opentelemetry/__init__.py", line 150, in wrapper
return f(*args, **kwargs)
│ │ └ {'tenant': 'default_tenant', 'database': 'default_database'}
│ └ (<chromadb.api.fastapi.FastAPI object at 0x7fbbd198d950>, None, None)
└ <function FastAPI.list_collections at 0x7fbbced911c0>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/fastapi.py", line 204, in list_collections
collection_models = [
File "/usr/local/lib/python3.11/site-packages/chromadb/api/fastapi.py", line 205, in
CollectionModel.from_json(json_collection)
│ │ └ {'id': 'd8c26fbe-006d-4e17-8865-b53ffc55404d', 'name': 'file-a891f951-757f-4c93-8cf9-bbd6e5ca29c7', 'configuration_json': {'h...
│ └ <classmethod(<function Collection.from_json at 0x7fbbd1af49a0>)>
└ <class 'chromadb.types.Collection'>
File "/usr/local/lib/python3.11/site-packages/chromadb/types.py", line 156, in from_json
configuration = CollectionConfigurationInternal.from_json(
│ └ <classmethod(<function ConfigurationInternal.from_json at 0x7fbbd1b8ede0>)>
└ <class 'chromadb.api.configuration.CollectionConfigurationInternal'>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/configuration.py", line 209, in from_json
f"Trying to instantiate configuration of type {cls.name} from JSON with type {json_map['_type']}"
KeyError: '_type'`
Additional Information
Please note that if this error occurs, your Chroma version might be 1.0.6 or newer. The error does not occur if you are using Chroma 1.0.5 or older!
From my perspective, it could be sufficient if the Chroma client in OWUI is updated.
Also the following issues within this repo: #13875 #13878
Originally created by @nboehlke on GitHub (Jul 29, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16116
### Check Existing Issues
- [x] I have searched the existing issues and discussions.
- [x] I am using the latest version of Open WebUI.
### Installation Method
Other
### Open WebUI Version
v0.6.18
### Ollama Version (if applicable)
0.9.6
### Operating System
RHEL 9.5
### Browser (if applicable)
n/a
### 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
OpenWebUI should access the Chroma database through port 8000 to retrieve the documents in "knowledge", and if a model is using a knowledge base, it should answer the question based on those documents in the knowledge base.
Also: When adding a document (.md, .txt, etc.) to a new or existing knowledge base and clicking "Save", you should get a success notification.
### Actual Behavior
After prompting, a model connected to the knowledge base can't access the documents in the Chroma database and returns an answer that the requested information can't be presented.
Also: When adding a document (.md, .txt, etc.) to a new or existing knowledge base and clicking "Save", you get the errors.
- "Failed to add file."
and
- "400: '_type'"
<img width="1645" height="198" alt="Image" src="https://github.com/user-attachments/assets/edb89019-99dc-43cb-b205-7625d9da1e26" />
### Steps to Reproduce
1. Use the podman command to run chromaDB
`podman run -d \
--name chroma \
--network podman-intern \
--restart always \
-p 8000:8000 \
-v chroma_data:/chroma-db \
ghcr.io/chroma-core/chroma:1.0.6`
2. Use the podman command to run OWUI
`podman run -d \
-p 3000:8080 \
--network podman-intern \
--device nvidia.com/gpu=all \
-v open-webui_data:/app/backend/data \
-e VECTOR_DB=chroma \
-e CHROMA_HTTP_HOST=chroma \
-e CHROMA_HTTP_PORT=8000 \
--name open-webui \
--restart=always \
ghcr.io/open-webui/open-webui:cuda
`
3. As both pods are running in the same network, access OpenWebUI and try to create a new knowledge base.
4. After creating a new knowledge base, try to upload a document, e.g., a Markdown file.
### Logs & Screenshots
`File "/app/backend/open_webui/routers/retrieval.py", line 1254, in save_docs_to_vector_db
if VECTOR_DB_CLIENT.has_collection(collection_name=collection_name):
│ │ └ '8f8fa548-3c36-4a9d-8c5e-fa29f7756b6c'
│ └ <function ChromaClient.has_collection at 0x7fbbcf00b380>
└ <open_webui.retrieval.vector.dbs.chroma.ChromaClient object at 0x7fbbcf03ff50>
File "/app/backend/open_webui/retrieval/vector/dbs/chroma.py", line 64, in has_collection
collection_names = self.client.list_collections()
│ │ └ <function Client.list_collections at 0x7fbbd[0095120](https://github.com/open-webui/open-webui/0095120)>
│ └ <chromadb.api.client.Client object at 0x7fbbd198db50>
└ <open_webui.retrieval.vector.dbs.chroma.ChromaClient object at 0x7fbbcf03ff50>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/client.py", line 124, in list_collections
for model in self._server.list_collections(
│ │ └ <function FastAPI.list_collections at 0x7fbbced91260>
│ └ <chromadb.api.fastapi.FastAPI object at 0x7fbbd198d950>
└ <chromadb.api.client.Client object at 0x7fbbd198db50>
File "/usr/local/lib/python3.11/site-packages/chromadb/telemetry/opentelemetry/__init__.py", line 150, in wrapper
return f(*args, **kwargs)
│ │ └ {'tenant': 'default_tenant', 'database': 'default_database'}
│ └ (<chromadb.api.fastapi.FastAPI object at 0x7fbbd198d950>, None, None)
└ <function FastAPI.list_collections at 0x7fbbced911c0>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/fastapi.py", line 204, in list_collections
collection_models = [
File "/usr/local/lib/python3.11/site-packages/chromadb/api/fastapi.py", line 205, in <listcomp>
CollectionModel.from_json(json_collection)
│ │ └ {'id': 'd8c26fbe-006d-4e17-8865-b53ffc55404d', 'name': 'file-a891f951-757f-4c93-8cf9-bbd6e5ca29c7', 'configuration_json': {'h...
│ └ <classmethod(<function Collection.from_json at 0x7fbbd1af49a0>)>
└ <class 'chromadb.types.Collection'>
File "/usr/local/lib/python3.11/site-packages/chromadb/types.py", line 156, in from_json
configuration = CollectionConfigurationInternal.from_json(
│ └ <classmethod(<function ConfigurationInternal.from_json at 0x7fbbd1b8ede0>)>
└ <class 'chromadb.api.configuration.CollectionConfigurationInternal'>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/configuration.py", line 209, in from_json
f"Trying to instantiate configuration of type {cls.__name__} from JSON with type {json_map['_type']}"
KeyError: '_type'`
### Additional Information
Please note that if this error occurs, your Chroma version might be 1.0.6 or newer.
**The error does not occur if you are using Chroma 1.0.5 or older!**
From my perspective, it could be sufficient if the Chroma client in OWUI is updated.
The following issue could be related: https://github.com/chroma-core/chroma/issues/4380
> [jairad26](https://github.com/jairad26)
[on Apr 29](https://github.com/chroma-core/chroma/issues/4380#issuecomment-2839643555)
Contributor
@osamaoam is right, the docker image itself does not need to be updated, what needs to be updated (as per this image https://github.com/chroma-core/chroma/issues/4380#issuecomment-2831023858) is the chromadb client instance. you are invoking the chromadb client from /app/app/db/chromadb.py, which is running on a stale version. if that version gets upgraded (not the docker image) this will be fixed. closing this issue now as its also been discussed here https://github.com/chroma-core/chroma/issues/4386
Also the following issues within this repo:
#13875
#13878
GiteaMirror
added the bug label 2026-04-19 23:40:13 -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 @nboehlke on GitHub (Jul 29, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16116
Check Existing Issues
Installation Method
Other
Open WebUI Version
v0.6.18
Ollama Version (if applicable)
0.9.6
Operating System
RHEL 9.5
Browser (if applicable)
n/a
Confirmation
README.md.Expected Behavior
OpenWebUI should access the Chroma database through port 8000 to retrieve the documents in "knowledge", and if a model is using a knowledge base, it should answer the question based on those documents in the knowledge base.
Also: When adding a document (.md, .txt, etc.) to a new or existing knowledge base and clicking "Save", you should get a success notification.
Actual Behavior
After prompting, a model connected to the knowledge base can't access the documents in the Chroma database and returns an answer that the requested information can't be presented.
Also: When adding a document (.md, .txt, etc.) to a new or existing knowledge base and clicking "Save", you get the errors.
and
Steps to Reproduce
podman run -d \ --name chroma \ --network podman-intern \ --restart always \ -p 8000:8000 \ -v chroma_data:/chroma-db \ ghcr.io/chroma-core/chroma:1.0.6podman run -d \ -p 3000:8080 \ --network podman-intern \ --device nvidia.com/gpu=all \ -v open-webui_data:/app/backend/data \ -e VECTOR_DB=chroma \ -e CHROMA_HTTP_HOST=chroma \ -e CHROMA_HTTP_PORT=8000 \ --name open-webui \ --restart=always \ ghcr.io/open-webui/open-webui:cudaAs both pods are running in the same network, access OpenWebUI and try to create a new knowledge base.
After creating a new knowledge base, try to upload a document, e.g., a Markdown file.
Logs & Screenshots
`File "/app/backend/open_webui/routers/retrieval.py", line 1254, in save_docs_to_vector_db
if VECTOR_DB_CLIENT.has_collection(collection_name=collection_name):
│ │ └ '8f8fa548-3c36-4a9d-8c5e-fa29f7756b6c'
│ └ <function ChromaClient.has_collection at 0x7fbbcf00b380>
└ <open_webui.retrieval.vector.dbs.chroma.ChromaClient object at 0x7fbbcf03ff50>
File "/app/backend/open_webui/retrieval/vector/dbs/chroma.py", line 64, in has_collection
collection_names = self.client.list_collections()
│ │ └ <function Client.list_collections at 0x7fbbd0095120>
│ └ <chromadb.api.client.Client object at 0x7fbbd198db50>
└ <open_webui.retrieval.vector.dbs.chroma.ChromaClient object at 0x7fbbcf03ff50>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/client.py", line 124, in list_collections
for model in self._server.list_collections(
│ │ └ <function FastAPI.list_collections at 0x7fbbced91260>
│ └ <chromadb.api.fastapi.FastAPI object at 0x7fbbd198d950>
└ <chromadb.api.client.Client object at 0x7fbbd198db50>
File "/usr/local/lib/python3.11/site-packages/chromadb/telemetry/opentelemetry/__init__.py", line 150, in wrapper
return f(*args, **kwargs)
│ │ └ {'tenant': 'default_tenant', 'database': 'default_database'}
│ └ (<chromadb.api.fastapi.FastAPI object at 0x7fbbd198d950>, None, None)
└ <function FastAPI.list_collections at 0x7fbbced911c0>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/fastapi.py", line 204, in list_collections
collection_models = [
File "/usr/local/lib/python3.11/site-packages/chromadb/api/fastapi.py", line 205, in
CollectionModel.from_json(json_collection)
│ │ └ {'id': 'd8c26fbe-006d-4e17-8865-b53ffc55404d', 'name': 'file-a891f951-757f-4c93-8cf9-bbd6e5ca29c7', 'configuration_json': {'h...
│ └ <classmethod(<function Collection.from_json at 0x7fbbd1af49a0>)>
└ <class 'chromadb.types.Collection'>
File "/usr/local/lib/python3.11/site-packages/chromadb/types.py", line 156, in from_json
configuration = CollectionConfigurationInternal.from_json(
│ └ <classmethod(<function ConfigurationInternal.from_json at 0x7fbbd1b8ede0>)>
└ <class 'chromadb.api.configuration.CollectionConfigurationInternal'>
File "/usr/local/lib/python3.11/site-packages/chromadb/api/configuration.py", line 209, in from_json
f"Trying to instantiate configuration of type {cls.name} from JSON with type {json_map['_type']}"
KeyError: '_type'`
Additional Information
Please note that if this error occurs, your Chroma version might be 1.0.6 or newer.
The error does not occur if you are using Chroma 1.0.5 or older!
From my perspective, it could be sufficient if the Chroma client in OWUI is updated.
The following issue could be related: https://github.com/chroma-core/chroma/issues/4380
Also the following issues within this repo:
#13875
#13878
@tjbck commented on GitHub (Jul 29, 2025):
External chromadb should also match our internal chromadb.
@bmc0923 commented on GitHub (Sep 3, 2025):
Was this resolved? @tjbck