chroma-core/chroma · error · TypeError
select must be a Select object, dict, list, set, or None, go
Error message
select must be a Select object, dict, list, set, or None, got {type(select).__name__} What it means
Error "select must be a Select object, dict, list, set, or None, got {type(select).__name__}" thrown in chroma-core/chroma.
Source
Thrown at chromadb/execution/expression/plan.py:155
elif isinstance(limit, dict):
self._limit = Limit.from_dict(limit)
else:
raise TypeError(
f"limit must be a Limit object, dict, int, or None, got {type(limit).__name__}"
)
# Handle select parameter
if select is None:
self._select = Select()
elif isinstance(select, Select):
self._select = select
elif isinstance(select, dict):
self._select = Select.from_dict(select)
elif isinstance(select, (list, set)):
# Convert list/set of strings to Select object
self._select = Select.from_dict({"keys": list(select)})
else:
raise TypeError(
f"select must be a Select object, dict, list, set, or None, got {type(select).__name__}"
)
def to_dict(self) -> Dict[str, Any]:
"""Return a JSON-serializable dictionary representation."""
return {
"filter": self._where.to_dict() if self._where is not None else None,
"rank": self._rank.to_dict() if self._rank is not None else None,
"group_by": self._group_by.to_dict(),
"limit": self._limit.to_dict(),
"select": self._select.to_dict(),
}
# Builder methods for chaining
def select_all(self) -> "Search":
"""Select all predefined keys (document, embedding, metadata, score)."""
new_select = Select(keys={Key.DOCUMENT, Key.EMBEDDING, Key.METADATA, Key.SCORE})
return Search(View on GitHub (pinned to aecdd12c8a)
When it happens
Trigger: Thrown at chromadb/execution/expression/plan.py:155 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/0a8d01083df584a7.
Report an issue: GitHub.