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.