BerriAI/litellm · error · ValueError

invalid files config, expected a list is not a list

Error message

invalid files config, expected a list is not a list

What it means

ValueError raised by set_files_config at proxy startup: the 'files' section in the config is present but not a list (e.g. a dict or string). The files config parser expects a list of provider entries, so configuration loading aborts.

Source

Thrown at litellm/proxy/openai_files_endpoints/files_endpoints.py:77

from litellm.types.llms.openai import (
    CREATE_FILE_REQUESTS_PURPOSE,
    FileExpiresAfter,
    OpenAIFileObject,
    OpenAIFilesPurpose,
)

router: Final = APIRouter()

files_config = None


def set_files_config(config):
    global files_config
    if config is None:
        return

    if not isinstance(config, list):
        raise ValueError("invalid files config, expected a list is not a list")

    for element in config:
        if isinstance(element, dict):
            for key, value in element.items():
                if isinstance(value, str) and value.startswith("os.environ/"):
                    element[key] = get_secret_str(value)

    files_config = config


def get_files_provider_config(
    custom_llm_provider: str,
):
    global files_config
    if custom_llm_provider == "vertex_ai":
        return None
    if files_config is None:
        raise ValueError("files_settings is not set, set it on your config.yaml file.")

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Fix files config in config.yaml to be a list of file configurations.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/openai_files_endpoints/files_endpoints.py:77 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/f65dbabe48cacbdd. Report an issue: GitHub.