chroma-core/chroma · error · ValueError
Unexpected keys in Select dict: {unexpected_keys}
Error message
Unexpected keys in Select dict: {unexpected_keys} What it means
Error "Unexpected keys in Select dict: {unexpected_keys}" thrown in chroma-core/chroma.
Source
Thrown at chromadb/execution/expression/operator.py:1319
if k == "#id":
key_list.append(Key.ID)
elif k == "#document":
key_list.append(Key.DOCUMENT)
elif k == "#embedding":
key_list.append(Key.EMBEDDING)
elif k == "#metadata":
key_list.append(Key.METADATA)
elif k == "#score":
key_list.append(Key.SCORE)
else:
# Regular metadata field
key_list.append(Key(k))
# Check for unexpected keys in dict
allowed_keys = {"keys"}
unexpected_keys = set(data.keys()) - allowed_keys
if unexpected_keys:
raise ValueError(f"Unexpected keys in Select dict: {unexpected_keys}")
# Convert to set while preserving the Key instances
return Select(keys=set(key_list))
# GroupBy and Aggregate types for grouping search results
def _keys_to_strings(keys: OneOrMany[Union[Key, str]]) -> List[str]:
"""Convert OneOrMany[Key|str] to List[str] for serialization."""
keys_list = cast(List[Union[Key, str]], maybe_cast_one_to_many(keys))
return [k.name if isinstance(k, Key) else k for k in keys_list]
def _strings_to_keys(keys: Union[List[Any], tuple[Any, ...]]) -> List[Union[Key, str]]:
"""Convert List[str] to List[Key] for deserialization."""
return [Key(k) if isinstance(k, str) else k for k in keys]
View on GitHub (pinned to aecdd12c8a)
When it happens
Trigger: Thrown at chromadb/execution/expression/operator.py:1319 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/40525e88ef8a60ed.
Report an issue: GitHub.