{"record":{"id":"3187f32bb5fb9144","repo":"BerriAI/litellm","slug":"container-provider-config-not-found-for-provider","errorCode":null,"errorMessage":"Container provider config not found for provider: {custom_llm_provider}","messagePattern":"Container provider config not found for provider: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/containers/main.py","lineNumber":435,"sourceCode":"\n            response: Final = ContainerListResponse(**mock_response)\n            return response\n\n        # get llm provider logic\n        # Pass credential params explicitly since they're named args, not in kwargs\n        litellm_params: Final = GenericLiteLLMParams(\n            api_key=api_key,\n            api_base=api_base,\n            api_version=api_version,\n            **kwargs,\n        )\n        # get provider config\n        container_provider_config: BaseContainerConfig | None = ProviderConfigManager.get_provider_container_config(\n            provider=litellm.LlmProviders(custom_llm_provider),\n        )\n\n        if container_provider_config is None:\n            raise ValueError(f\"Container provider config not found for provider: {custom_llm_provider}\")\n\n        # Get container list request parameters\n        container_list_optional_params: Final[ContainerListOptionalRequestParams] = (\n            ContainerRequestUtils.get_requested_container_list_optional_param(local_vars)\n        )\n\n        # Pre Call logging\n        litellm_logging_obj.update_from_kwargs(\n            kwargs=kwargs,\n            model=\"\",\n            optional_params=dict(container_list_optional_params),\n            litellm_params={\n                \"litellm_call_id\": litellm_call_id,\n                **container_list_optional_params,\n            },\n            custom_llm_provider=custom_llm_provider,\n        )\n","sourceCodeStart":417,"sourceCodeEnd":453,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/containers/main.py#L417-L453","documentation":"Raised while listing containers when no container provider config exists for custom_llm_provider. Same gate as container creation: ProviderConfigManager.get_provider_container_config supports only OpenAI and Azure, returning None otherwise, and the list call aborts with this ValueError before building the request.","triggerScenarios":"Calling acontainer_list_containers / list containers with custom_llm_provider not in {'openai','azure','azure_text'}, or omitting it so it defaults/infers to an unsupported provider.","commonSituations":"Copy-pasting a create-container example but changing the provider; listing containers through a generic helper that passes the deployment's provider regardless of feature support; misspelled provider names.","solutions":["Pass custom_llm_provider='openai' or 'azure' explicitly to the list-containers call.","If containers were created on Azure, list them with the Azure provider and matching api_base/api_version credentials.","Guard the call by checking ProviderConfigManager.get_provider_container_config(LlmProviders(provider)) is not None first.","Add a provider config (BaseContainerConfig subclass) if you are extending LiteLLM to a new provider."],"exampleFix":"# before\ncontainers = await litellm.acreate_list_containers(custom_llm_provider=\"bedrock\")\n\n# after\ncontainers = await litellm.acreate_list_containers(custom_llm_provider=\"openai\")","handlingStrategy":"validation","validationCode":"import litellm\nfrom litellm.litellm_core_utils.core_helpers import ProviderConfigManager\n\nif ProviderConfigManager.get_provider_container_config(\n    litellm.LlmProviders(custom_llm_provider)\n) is None:\n    raise ValueError(f\"cannot list containers on {custom_llm_provider}; supported: openai, azure\")","typeGuard":"def can_list_containers(provider: str) -> bool:\n    try:\n        return ProviderConfigManager.get_provider_container_config(\n            litellm.LlmProviders(provider)\n        ) is not None\n    except Exception:\n        return False","tryCatchPattern":"try:\n    result = await litellm.acreate_list_containers(custom_llm_provider=provider)\nexcept ValueError as e:\n    if \"provider config not found\" in str(e).lower():\n        return []  # provider has no containers feature\n    raise","preventionTips":["Centralize the provider constant used by all container endpoints.","Add a startup capability check for container support in your integration tests.","Document in your service that containers are OpenAI/Azure-only."],"tags":["litellm","containers","provider-support","validation"],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}