diff --git a/litellm/proxy/proxy_cli.py b/litellm/proxy/proxy_cli.py index 186d467d19f..99b422dcebc 100644 --- a/litellm/proxy/proxy_cli.py +++ b/litellm/proxy/proxy_cli.py @@ -162,7 +162,7 @@ def _resolve_os_environ_refs(config: dict) -> dict: if isinstance(value, dict): config[key] = _resolve_os_environ_refs(value) elif isinstance(value, list): - resolved_list = [] + resolved_list: list[Any] = [] for item in value: if isinstance(item, dict): resolved_list.append(_resolve_os_environ_refs(item)) @@ -814,6 +814,11 @@ def run_server( # noqa: PLR0915 max_requests_before_restart, enforce_prisma_migration_check: bool, ): + if isinstance(config, str): + stripped_config = config.strip() + if stripped_config == "" or stripped_config.lower() == "none": + config = None + if setup: from litellm.setup_wizard import run_setup_wizard diff --git a/tests/code_coverage_tests/recursive_detector.py b/tests/code_coverage_tests/recursive_detector.py index 99b5125b198..d766ea09873 100644 --- a/tests/code_coverage_tests/recursive_detector.py +++ b/tests/code_coverage_tests/recursive_detector.py @@ -8,6 +8,7 @@ IGNORE_FUNCTIONS = [ "filter_schema_fields", "text_completion", "_check_for_os_environ_vars", + "_resolve_os_environ_refs", # bounded by YAML general_settings nesting (dict/list walk only). "clean_message", "unpack_defs", "convert_anyof_null_to_nullable", # has a set max depth