BerriAI/litellm · error · ValueError
Blocking web crawlers is an enterprise feature. You must be
Error message
Blocking web crawlers 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
A startup-time ValueError from enterprise utils: general_settings contains block_robots=true, which is an Enterprise-only feature, and premium_user is not True (no valid LITELLM_LICENSE). The proxy validates this setting during config load and aborts rather than silently running the non-enterprise behavior.
Source
Thrown at enterprise/litellm_enterprise/proxy/utils.py:31
general_settings:
block_robots: true
```
"""
from litellm.proxy.proxy_server import (
CommonProxyErrors,
general_settings,
premium_user,
)
_block_robots: Union[bool, str] = general_settings.get("block_robots", False)
block_robots: Optional[bool] = None
if isinstance(_block_robots, bool):
block_robots = _block_robots
elif isinstance(_block_robots, str):
block_robots = str_to_bool(_block_robots)
if block_robots is True:
if premium_user is not True:
raise ValueError(
f"Blocking web crawlers is an enterprise feature. {CommonProxyErrors.not_premium_user.value}"
)
return True
return False
View on GitHub (pinned to 6c2dcb801b)
Solutions
- Set a valid LITELLM_LICENSE (or trial key from https://www.litellm.ai/enterprise#trial) in the proxy environment and restart.
- If you do not intend to use the feature, remove 'block_robots' (or set it to false) from general_settings in the config.
- Verify the license env var actually reaches the process (docker -e, k8s secret, systemd Environment=) and check startup logs for license validation.
- Pin a known-good deployment after fixing, since this error prevents the proxy from starting.
Example fix
# before (config.yaml)
general_settings:
block_robots: true # ValueError: enterprise feature, no license
# after: either license it...
# export LITELLM_LICENSE='<your-enterprise-key>'
# ...or drop the setting
general_settings: {} Defensive patterns
Strategy: validation
Validate before calling
import os, yaml
cfg = yaml.safe_load(open('config.yaml'))
if cfg.get('general_settings', {}).get('block_robots'):
if not os.environ.get('LITELLM_LICENSE'):
raise RuntimeError('block_robots requires LITELLM_LICENSE') Prevention
- Validate config against license state in CI before deploy: enterprise settings require LITELLM_LICENSE present.
- Keep community-only configs free of enterprise settings like block_robots.
- Monitor license expiry — this ValueError blocks proxy startup when it lapses.
When it happens
Trigger: Enabling 'block_robots': true in general_settings of the proxy config while LITELLM_LICENSE is unset, expired, or invalid. The check `block_robots is True and premium_user is not True` fires and raises.
Common situations: Copying an enterprise example config into a community deployment; trial license expiring between restarts; LITELLM_LICENSE env var not passed into the container so the premium check fails after a redeploy.
Related errors
- Only premium users can add tags to projects. You must be a L
- Project management is an enterprise feature. You must be a L
- Error: {response.status_code} - {response.text}
- Missing Authorization header
- Invalid bearer token
AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15).
Data as JSON: /api/errors/634e3aace9902946.
Report an issue: GitHub.