BerriAI/litellm · error · HTTPException

custom_team_metadata_validate is an Enterprise feature. You

Error message

custom_team_metadata_validate is an Enterprise feature. You must be a LiteLLM Enterprise user to use this feature. If you have a license please set `LITELLM_LICENSE` in your env. Get a 7 day trial key here: https://www.litellm.ai/enterprise#trial. 
Pricing: https://www.litellm.ai/#pricing

What it means

Error "custom_team_metadata_validate is an Enterprise feature. You must be a LiteLLM Enterprise user to use this feature. If you have a license please set `LITELLM_LICENSE` in your env. Get a 7 day trial key here: https://www.litellm.ai/enterprise#trial. Pricing: https://www.litellm.ai/#pricing" thrown in BerriAI/litellm.

Source

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

    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(
    validator: TeamMetadataValidator,
    payload: TeamMetadataValidationPayload,
    premium_user: bool,
    timeout_seconds: float,
    unavailable_message: str,
) -> None:
    if premium_user is not True:
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail={  # mutable-ok: HTTPException.detail has no immutable form
                "error": f"custom_team_metadata_validate is an Enterprise feature. {CommonProxyErrors.not_premium_user.value}"
            },
        )
    if not (
        inspect.iscoroutinefunction(validator) or inspect.iscoroutinefunction(getattr(validator, "__call__", None))
    ):
        raise HTTPException(
            status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
            detail={  # mutable-ok: HTTPException.detail has no immutable form
                "error": "custom_team_metadata_validate must be an async function"
            },
        )

    try:
        raw_result: Final = await asyncio.wait_for(validator(payload), timeout=timeout_seconds)
        result: Final = TeamMetadataValidationResult.model_validate(raw_result)

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Set LITELLM_LICENSE to a valid LiteLLM Enterprise license key, or remove custom_team_metadata_validate from the config.

When it happens

Trigger: Thrown at litellm/proxy/management_helpers/team_metadata_validation.py:112 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/88d90b1f50e2bce3. Report an issue: GitHub.