{"record":{"id":"d5d92b686f2d3aa1","repo":"BerriAI/litellm","slug":"the-following-model-s-do-not-exist-or-are-not-acc","errorCode":null,"errorMessage":"The following model(s) do not exist or are not accessible: {}","messagePattern":"The following model\\(s\\) do not exist or are not accessible: (.+?)","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"litellm/proxy/utils.py","lineNumber":7079,"sourceCode":"    available_models: list[str],\n) -> None:\n    \"\"\"\n    Validate that a model is accessible to the user.\n    Supports batch requests with comma-separated model IDs.\n\n    Args:\n        model_id: The model ID to validate (can be comma-separated for batch requests)\n        available_models: List of models available to the user\n\n    Raises:\n        HTTPException: If the model is not accessible\n    \"\"\"\n    # Handle batch requests with comma-separated models\n    if \",\" in model_id:\n        models: Final = [m.strip() for m in model_id.split(\",\")]\n        inaccessible_models: Final = [m for m in models if m not in available_models]\n        if inaccessible_models:\n            raise HTTPException(\n                status_code=404,\n                detail=\"The following model(s) do not exist or are not accessible: {}\".format(\n                    \", \".join(inaccessible_models)\n                ),\n            )\n    else:\n        # Single model validation\n        if model_id not in available_models:\n            raise HTTPException(\n                status_code=404,\n                detail=f\"The model `{model_id}` does not exist or is not accessible\",\n            )\n\n\n_PRESERVED_NONE_FIELDS: Final[list[tuple[str, str]]] = [\n    (\"message\", \"content\"),  # null when tool_calls present (issue #6677)\n    (\"message\", \"role\"),  # always required by OpenAI spec\n    (\"delta\", \"content\"),  # null in streaming chunks","sourceCodeStart":7061,"sourceCodeEnd":7097,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/utils.py#L7061-L7097","documentation":"Batch access check on a comma-separated model list: one or more requested model ids are not in the caller's available_models (not deployed on the proxy or not permitted for this key/team). The inaccessible ids are listed in the message so the caller can drop or request access for them.","triggerScenarios":"Thrown at litellm/proxy/utils.py:7079 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check that the listed models exist in the proxy model_list and that your key/team has access to them."],"exampleFix":null,"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-14T00:17:10.932Z"}