{"record":{"id":"e38e6ee0e326e6c9","repo":"mem0ai/mem0","slug":"llm-provider-provider-is-not-bundled-in-this-i","errorCode":null,"errorMessage":"LLM provider '{provider}' is not bundled in this image. Bundled providers: {', '.join(BUNDLED_LLM_PROVIDERS)}. To use another provider, install its Python package, rebuild the container, and extend BUNDLED_LLM_PROVIDERS in server/main.py.","messagePattern":"LLM provider '(.+?)' is not bundled in this image\\. Bundled providers: (.+?)\\. To use another provider, install its Python package, rebuild the container, and extend BUNDLED_LLM_PROVIDERS in server/main\\.py\\.","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"server/main.py","lineNumber":235,"sourceCode":"    detail = str(exc)\n    status_code = 404 if isinstance(exc, ValueError) and \"not found\" in detail.lower() else 400\n    return HTTPException(status_code=status_code, detail=detail)\n\n\ndef _redact_config(value: Any, key: str | None = None) -> Any:\n    if isinstance(value, dict):\n        return {item_key: _redact_config(item_value, item_key) for item_key, item_value in value.items()}\n    if isinstance(value, list):\n        return [_redact_config(item_value, key) for item_value in value]\n    if key is not None and key.lower() in SENSITIVE_CONFIG_KEYS:\n        return \"[redacted]\" if value else value\n    return value\n\n\ndef _validate_bundled_providers(config: Dict[str, Any]) -> None:\n    llm = config.get(\"llm\")\n    if isinstance(llm, dict) and (provider := llm.get(\"provider\")) and provider not in BUNDLED_LLM_PROVIDERS:\n        raise HTTPException(\n            status_code=400,\n            detail=(\n                f\"LLM provider '{provider}' is not bundled in this image. \"\n                f\"Bundled providers: {', '.join(BUNDLED_LLM_PROVIDERS)}. \"\n                \"To use another provider, install its Python package, rebuild the container, \"\n                \"and extend BUNDLED_LLM_PROVIDERS in server/main.py.\"\n            ),\n        )\n\n    embedder = config.get(\"embedder\")\n    if (\n        isinstance(embedder, dict)\n        and (provider := embedder.get(\"provider\"))\n        and provider not in BUNDLED_EMBEDDER_PROVIDERS\n    ):\n        raise HTTPException(\n            status_code=400,\n            detail=(","sourceCodeStart":217,"sourceCodeEnd":253,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/server/main.py#L217-L253","documentation":"Error \"LLM provider '{provider}' is not bundled in this image. Bundled providers: {', '.join(BUNDLED_LLM_PROVIDERS)}. To use another provider, install its Python package, rebuild the container, and extend BUNDLED_LLM_PROVIDERS in server/main.py.\" thrown in mem0ai/mem0.","triggerScenarios":"Thrown at server/main.py:235 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Choose one of the bundled LLM providers, or install the provider package, rebuild the container, and extend BUNDLED_LLM_PROVIDERS in server/main.py."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"001c235229be8795e3834520467bd0d661ed8f34","analyzedAt":"2026-08-15T01:55:42.685Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}