chroma-core/chroma · error · TypeError
Expected dict for Select, got {type(data).__name__}
Error message
Expected dict for Select, got {type(data).__name__} What it means
Error "Expected dict for Select, got {type(data).__name__}" thrown in chroma-core/chroma.
Source
Thrown at chromadb/execution/expression/operator.py:1286
key_strings = []
for k in self.keys:
if isinstance(k, Key):
key_strings.append(k.name)
else:
key_strings.append(k)
# Remove duplicates while preserving order
return {"keys": list(dict.fromkeys(key_strings))}
@staticmethod
def from_dict(data: Dict[str, Any]) -> "Select":
"""Create Select from dictionary.
Examples:
- {"keys": ["#document", "#score"]} -> Select(keys={Key.DOCUMENT, Key.SCORE})
- {"keys": ["title", "author"]} -> Select(keys={"title", "author"})
"""
if not isinstance(data, dict):
raise TypeError(f"Expected dict for Select, got {type(data).__name__}")
keys = data.get("keys", [])
if not isinstance(keys, (list, tuple, set)):
raise TypeError(
f"Select keys must be a list/tuple/set, got {type(keys).__name__}"
)
# Validate and convert each key
key_list = []
for k in keys:
if not isinstance(k, str):
raise TypeError(f"Select key must be a string, got {type(k).__name__}")
# Map special keys to Key instances
if k == "#id":
key_list.append(Key.ID)
elif k == "#document":
key_list.append(Key.DOCUMENT)View on GitHub (pinned to aecdd12c8a)
When it happens
Trigger: Thrown at chromadb/execution/expression/operator.py:1286 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/79e45fccde22e5fa.
Report an issue: GitHub.