chroma-core/chroma · error · TypeError
where must be a Where object, dict, or None, got {type(where
Error message
where must be a Where object, dict, or None, got {type(where).__name__} What it means
Error "where must be a Where object, dict, or None, got {type(where).__name__}" thrown in chroma-core/chroma.
Source
Thrown at chromadb/execution/expression/plan.py:102
Note: Primitive numbers are not accepted - use {"$val": number} for constant ranks
group_by: GroupBy configuration for grouping and aggregating results (defaults to None)
Dict will be converted using GroupBy.from_dict()
limit: Limit configuration for pagination (defaults to no limit)
Can be a Limit object, a dict for Limit.from_dict(), or an int
When passing an int, it creates Limit(limit=value, offset=0)
select: Select configuration for keys (defaults to empty selection)
Can be a Select object, a dict for Select.from_dict(),
or a list/set of strings (e.g., ["#document", "#score"])
"""
# Handle where parameter
if where is None:
self._where = None
elif isinstance(where, Where):
self._where = where
elif isinstance(where, dict):
self._where = Where.from_dict(where)
else:
raise TypeError(
f"where must be a Where object, dict, or None, got {type(where).__name__}"
)
# Handle rank parameter
if rank is None:
self._rank = None
elif isinstance(rank, Rank):
self._rank = rank
elif isinstance(rank, dict):
self._rank = Rank.from_dict(rank)
else:
raise TypeError(
f"rank must be a Rank object, dict, or None, got {type(rank).__name__}"
)
# Handle group_by parameter
if group_by is None:
self._group_by = GroupBy()View on GitHub (pinned to aecdd12c8a)
When it happens
Trigger: Thrown at chromadb/execution/expression/plan.py:102 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/b8c1d860272e3703.
Report an issue: GitHub.