BerriAI/litellm · error · ValueError

team_metadata_schema contains duplicate keys: {', '.join(dup

Error message

team_metadata_schema contains duplicate keys: {', '.join(duplicate_keys)}

What it means

ValueError raised while parsing general_settings.team_metadata_schema at config load: the schema list defines the same field key more than once. Duplicates would make field validation ambiguous, so config loading fails fast with the duplicated key names listed.

Source

Thrown at litellm/proxy/management_helpers/team_metadata_validation.py:86

        return self._validator


TEAM_METADATA_VALIDATOR_REGISTRY: Final = TeamMetadataValidatorRegistry()

_TEAM_METADATA_SCHEMA_ADAPTER: Final[TypeAdapter[tuple[TeamMetadataFieldSchema, ...]]] = TypeAdapter(
    tuple[TeamMetadataFieldSchema, ...]
)


def parse_team_metadata_schema(raw_schema: object) -> tuple[TeamMetadataFieldSchema, ...]:
    """Parse ``general_settings.team_metadata_schema``; raises on a malformed schema so config load fails fast."""
    if raw_schema is None:
        return ()
    fields: Final = _TEAM_METADATA_SCHEMA_ADAPTER.validate_python(raw_schema)
    keys: Final = tuple(field.key for field in fields)
    duplicate_keys: Final = sorted(frozenset(key for key in keys if keys.count(key) > 1))
    if duplicate_keys:
        raise ValueError(f"team_metadata_schema contains duplicate keys: {', '.join(duplicate_keys)}")
    return fields


class TeamMetadataSchemaRegistry:
    def __init__(self) -> None:
        self._fields: tuple[TeamMetadataFieldSchema, ...] = ()

    def set(self, fields: tuple[TeamMetadataFieldSchema, ...]) -> None:
        self._fields = fields

    def get(self) -> tuple[TeamMetadataFieldSchema, ...]:
        return self._fields


TEAM_METADATA_SCHEMA_REGISTRY: Final = TeamMetadataSchemaRegistry()


async def run_team_metadata_validation(

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Remove the duplicate keys listed in the error from team_metadata_schema.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/management_helpers/team_metadata_validation.py:86 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/6126da1ae8edac56. Report an issue: GitHub.