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
- 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.