{"record":{"id":"de31a8fb43710caa","repo":"BerriAI/litellm","slug":"databricks-app-oauth-config-is-missing-required-fi","errorCode":null,"errorMessage":"Databricks App OAuth config is missing required field(s): {', '.join(missing)}","messagePattern":"Databricks App OAuth config is missing required field\\(s\\): (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/proxy/agent_endpoints/databricks_oauth.py","lineNumber":109,"sourceCode":"        return None\n    if not isinstance(raw, dict):\n        raise ValueError(f\"'{DATABRICKS_OAUTH_PARAM}' must be a mapping of OAuth settings, got {type(raw).__name__}\")\n\n    client_id: Final = _resolve_secret(raw.get(\"client_id\"))\n    client_secret: Final = _resolve_secret(raw.get(\"client_secret\"))\n    workspace_url: Final = _resolve_secret(raw.get(\"workspace_url\"))\n\n    missing: Final = [\n        name\n        for name, value in (\n            (\"client_id\", client_id),\n            (\"client_secret\", client_secret),\n            (\"workspace_url\", workspace_url),\n        )\n        if not value\n    ]\n    if missing:\n        raise ValueError(f\"Databricks App OAuth config is missing required field(s): {', '.join(missing)}\")\n\n    scope: Final = _resolve_secret(raw.get(\"scope\")) or _DEFAULT_SCOPE\n\n    return DatabricksAppOAuthConfig(\n        client_id=client_id,\n        client_secret=client_secret,\n        token_url=_token_url_from_workspace(workspace_url),\n        scope=scope,\n    )\n\n\nclass DatabricksAppOAuthTokenCache(InMemoryCache):\n    \"\"\"In-memory cache for Databricks App OAuth client_credentials tokens.\n\n    Keyed by token endpoint + client_id + scope so distinct agents and service\n    principals never share a token. A per-key ``asyncio.Lock`` collapses\n    concurrent fetches into a single token request.\n    \"\"\"","sourceCodeStart":91,"sourceCodeEnd":127,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/agent_endpoints/databricks_oauth.py#L91-L127","documentation":"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.","triggerScenarios":"Thrown at litellm/proxy/agent_endpoints/databricks_oauth.py:109 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add the missing required field(s) to the Databricks OAuth config."],"exampleFix":"Fill in each field named in the error.","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}