diff --git a/litellm/utils.py b/litellm/utils.py index 5dbff5070aa..4bbaba83d2f 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -8358,6 +8358,8 @@ class ProviderConfigManager: return litellm.FireworksAIConfig() elif LlmProviders.OPENAI == provider: return litellm.OpenAIGPTConfig() + elif LlmProviders.CUSTOM_OPENAI == provider: + return litellm.OpenAIGPTConfig() elif LlmProviders.GEMINI == provider: return litellm.GeminiModelInfo() elif LlmProviders.VERTEX_AI == provider: diff --git a/tests/litellm_utils_tests/test_utils.py b/tests/litellm_utils_tests/test_utils.py index 697c3837602..be5d1fc324e 100644 --- a/tests/litellm_utils_tests/test_utils.py +++ b/tests/litellm_utils_tests/test_utils.py @@ -1656,6 +1656,36 @@ def test_get_valid_models_openai_proxy(monkeypatch): assert "litellm_proxy/gpt-5.5" in valid_models +def test_get_valid_models_custom_openai(monkeypatch): + from litellm.utils import get_valid_models + import litellm + + mock_response_data = { + "object": "list", + "data": [ + { + "id": "my-custom-model", + "object": "model", + "created": 1686935002, + "owned_by": "organization-owner", + }, + ], + } + + mock_response = MagicMock() + mock_response.status_code = 200 + mock_response.json.return_value = mock_response_data + + with patch.object(litellm.module_level_client, "get", return_value=mock_response): + valid_models = get_valid_models( + check_provider_endpoint=True, + custom_llm_provider="custom_openai", + api_key="sk-1234", + api_base="https://my-openai-compatible-endpoint/v1", + ) + assert "my-custom-model" in valid_models + + def test_get_valid_models_fireworks_ai(monkeypatch): from litellm.utils import get_valid_models import litellm