BerriAI/litellm · error · HTTPException
🚨🚨🚨 DISABLING LLM API ENDPOINTS is an Enterprise…
Error message
🚨🚨🚨 DISABLING LLM API ENDPOINTS is an Enterprise feature 🚨 You must be a LiteLLM Enterprise user to use this feature. If you have a license please set `LITELLM_LICENSE` in your env. Get a 7 day trial key here: https://www.litellm.ai/enterprise#trial. Pricing: https://www.litellm.ai/#pricing
What it means
Raised as HTTPException 500 by EnterpriseRouteChecks.is_llm_api_route_disabled when the DISABLE_LLM_API_ENDPOINTS env var is set but the proxy is not a premium (Enterprise licensed) user. The env var is an enterprise-only hardening feature that blocks all /chat/completions, /embeddings etc.; the license check fires as soon as the variable is merely present in the environment, regardless of its value.
Solutions
- Remove DISABLE_LLM_API_ENDPOINTS from the proxy environment entirely (do not set it to 'false' - presence alone triggers the check) and restart
- If you need the feature, set a valid LITELLM_LICENSE (get a trial key at https://www.litellm.ai/enterprise#trial)
- Audit deployment manifests, Dockerfiles, and CI env for stray definitions: env | grep DISABLE_LLM_API_ENDPOINTS
- If the goal was blocking management endpoints instead, use community-supported auth controls rather than this env var
Example fix
# before (deployment.yaml)
env:
- name: DISABLE_LLM_API_ENDPOINTS
value: "true" # no license -> 500
# after
env: [] # variable fully removed; or add LITELLM_LICENSE Defensive patterns
Strategy: validation
Validate before calling
# Deploy-time guard: variable presence alone trips the license check
import os
if "DISABLE_LLM_API_ENDPOINTS" in os.environ and not licensed():
del os.environ["DISABLE_LLM_API_ENDPOINTS"]
# or abort deploy: raise ConfigError(...) Prevention
- Only define DISABLE_LLM_API_ENDPOINTS in licensed environments (helm values per-tier)
- Remember presence, not value, triggers the check - 'false' still fails
- Add a CI check that scans deployment env for enterprise-gated variables alongside LITELLM_LICENSE presence
When it happens
Trigger: Deploying the proxy with DISABLE_LLM_API_ENDPOINTS in the environment (any value, including 'false' or empty) while running the free tier; a base Docker image or k8s deployment manifest that sets the variable globally; a hardened deployment template (docker-compose.hardened.yml style) applied without a license.
Common situations: Copy-pasting a hardened enterprise config to a community deployment; leaving the env var defined in .env after an enterprise trial expired; CI containers inheriting the variable from a shared base image.
Related errors
- 🚨🚨🚨 DISABLING ADMIN ENDPOINTS is an Enterprise…
- License is over limit. Please contact support@berri.ai to…
- Setting tag-based guardrails is only available in…
- Trying to use ENTERPRISE BannedKeywordYou must be a LiteLLM…
- Trying to use ENTERPRISE BlockedUserYou must be a LiteLLM…
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/63648261b3ef550d.
Report an issue: GitHub.
Appendix: source
Thrown at enterprise/litellm_enterprise/proxy/auth/route_checks.py:19
import os
from fastapi import HTTPException, status
class EnterpriseRouteChecks:
@staticmethod
def is_llm_api_route_disabled() -> bool:
"""
Check if llm api route is disabled
"""
from litellm.proxy._types import CommonProxyErrors
from litellm.proxy.proxy_server import premium_user
from litellm.secret_managers.main import get_secret_bool
## Check if DISABLE_LLM_API_ENDPOINTS is set
if "DISABLE_LLM_API_ENDPOINTS" in os.environ:
if not premium_user:
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail=f"🚨🚨🚨 DISABLING LLM API ENDPOINTS is an Enterprise feature\n🚨 {CommonProxyErrors.not_premium_user.value}",
)
return get_secret_bool("DISABLE_LLM_API_ENDPOINTS") is True
@staticmethod
def is_management_routes_disabled() -> bool:
"""
Check if management route is disabled
"""
from litellm.proxy._types import CommonProxyErrors
from litellm.proxy.proxy_server import premium_user
from litellm.secret_managers.main import get_secret_bool
if "DISABLE_ADMIN_ENDPOINTS" in os.environ:
if not premium_user:
raise HTTPException(View on GitHub (pinned to 77b7c6c40c)