BerriAI/litellm · error · HTTPException
Setting(s) {conflicting_keys} are derived from the deploymen
Error message
Setting(s) {conflicting_keys} are derived from the deployment environment and cannot be changed from the UI. What it means
Config-consistency guard in update_ui_settings: the request tried to change fields in _DERIVED_UI_SETTINGS_FIELDS whose values are computed from the proxy's deployment environment (env vars). Because these settings are pushed back out to every pod from the environment, UI edits would be overwritten within one poll cycle, so divergent values are rejected instead.
Source
Thrown at litellm/proxy/ui_crud_endpoints/proxy_setting_endpoints.py:1451
if prisma_client is None:
raise HTTPException(
status_code=500,
detail={"error": "Database not connected. Please connect a database."},
)
if store_model_in_db is not True:
raise HTTPException(
status_code=500,
detail={"error": "Set `'STORE_MODEL_IN_DB='True'` in your env to enable this feature."},
)
conflicting_keys: Final = sorted(
key
for key, value in settings_body.items()
if key in _DERIVED_UI_SETTINGS_FIELDS and value != _derived_ui_setting_value(key)
)
if conflicting_keys:
raise HTTPException(
status_code=400,
detail=(
f"Setting(s) {conflicting_keys} are derived from the deployment environment "
"and cannot be changed from the UI."
),
)
# Validate against the same effective class GET advertises, so
# enterprise-registered fields are typed consistently on both sides.
effective_cls: Final = _get_effective_ui_settings_class()
try:
settings: Final = effective_cls.model_validate(settings_body)
except ValidationError as e:
raise HTTPException(status_code=422, detail=e.errors())
# Only include fields the caller actually sent (not Pydantic defaults).
settings_dict: Final[Mapping[str, JsonValue]] = settings.model_dump(exclude_unset=True)
View on GitHub (pinned to 77b7c6c40c)
Solutions
- Change these settings in the deployment environment/config instead of the UI, and remove them from the update payload.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/ui_crud_endpoints/proxy_setting_endpoints.py:1451 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/96580da8cf5228f2.
Report an issue: GitHub.