chroma-core/chroma · error · ValueError
Where dict cannot be empty
Error message
Where dict cannot be empty
What it means
Error "Where dict cannot be empty" thrown in chroma-core/chroma.
Source
Thrown at chromadb/execution/expression/operator.py:95
- {"field": {"$ne": value}} -> Key("field") != value
- {"field": {"$gt": value}} -> Key("field") > value
- {"field": {"$gte": value}} -> Key("field") >= value
- {"field": {"$lt": value}} -> Key("field") < value
- {"field": {"$lte": value}} -> Key("field") <= value
- {"field": {"$in": [values]}} -> Key("field").is_in([values])
- {"field": {"$nin": [values]}} -> Key("field").not_in([values])
- {"field": {"$contains": "text"}} -> Key("field").contains("text")
- {"field": {"$not_contains": "text"}} -> Key("field").not_contains("text")
- {"field": {"$regex": "pattern"}} -> Key("field").regex("pattern")
- {"field": {"$not_regex": "pattern"}} -> Key("field").not_regex("pattern")
- {"$and": [conditions]} -> condition1 & condition2 & ...
- {"$or": [conditions]} -> condition1 | condition2 | ...
"""
if not isinstance(data, dict):
raise TypeError(f"Expected dict for Where, got {type(data).__name__}")
if not data:
raise ValueError("Where dict cannot be empty")
# Handle logical operators
if "$and" in data:
if not isinstance(data["$and"], list):
raise TypeError(
f"$and must be a list, got {type(data['$and']).__name__}"
)
if len(data["$and"]) == 0:
raise ValueError("$and requires at least one condition")
if len(data) > 1:
raise ValueError(
"$and cannot be combined with other fields in the same dict"
)
conditions = [Where.from_dict(c) for c in data["$and"]]
if len(conditions) == 1:
return conditions[0]
result = conditions[0]View on GitHub (pinned to aecdd12c8a)
When it happens
Trigger: Thrown at chromadb/execution/expression/operator.py:95 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of chroma-core/chroma@aecdd12c8a (2026-08-16).
Data as JSON: /api/errors/fb3d67d11708fb40.
Report an issue: GitHub.