BerriAI/litellm · error · ValueError

Databricks App OAuth config is missing required field(s): {'

Error message

Databricks App OAuth config is missing required field(s): {', '.join(missing)}

What it means

Validation of the databricks_app_oauth settings mapping: after secret resolution, one or more of client_id, client_secret, workspace_url are empty; the missing field names are listed so the config gap is obvious.

Source

Thrown at litellm/proxy/agent_endpoints/databricks_oauth.py:109

        return None
    if not isinstance(raw, dict):
        raise ValueError(f"'{DATABRICKS_OAUTH_PARAM}' must be a mapping of OAuth settings, got {type(raw).__name__}")

    client_id: Final = _resolve_secret(raw.get("client_id"))
    client_secret: Final = _resolve_secret(raw.get("client_secret"))
    workspace_url: Final = _resolve_secret(raw.get("workspace_url"))

    missing: Final = [
        name
        for name, value in (
            ("client_id", client_id),
            ("client_secret", client_secret),
            ("workspace_url", workspace_url),
        )
        if not value
    ]
    if missing:
        raise ValueError(f"Databricks App OAuth config is missing required field(s): {', '.join(missing)}")

    scope: Final = _resolve_secret(raw.get("scope")) or _DEFAULT_SCOPE

    return DatabricksAppOAuthConfig(
        client_id=client_id,
        client_secret=client_secret,
        token_url=_token_url_from_workspace(workspace_url),
        scope=scope,
    )


class DatabricksAppOAuthTokenCache(InMemoryCache):
    """In-memory cache for Databricks App OAuth client_credentials tokens.

    Keyed by token endpoint + client_id + scope so distinct agents and service
    principals never share a token. A per-key ``asyncio.Lock`` collapses
    concurrent fetches into a single token request.
    """

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Add the missing required field(s) to the Databricks OAuth config.

Example fix

Fill in each field named in the error.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/agent_endpoints/databricks_oauth.py:109 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/de31a8fb43710caa. Report an issue: GitHub.