fix(guardrail-create): surface config validation errors on create instead of silently orphaning guardrail in DB

This commit is contained in:
Ishaan Jaffer 2026-04-23 15:58:51 -07:00
parent 433fdc7df6
commit a731d10f19
No known key found for this signature in database

View file

@ -342,6 +342,19 @@ async def create_guardrail(
verbose_proxy_logger.info(
f"Immediate sync: Successfully initialized guardrail '{guardrail_name}' (ID: {guardrail_id})"
)
except (ValueError, TypeError) as init_error:
# Configuration error — roll back the DB write so the guardrail isn't orphaned
if prisma_client is not None:
try:
await prisma_client.db.litellm_guardrailstable.delete(
where={"id": guardrail_id}
)
except Exception:
pass
raise HTTPException(
status_code=400,
detail=f"Guardrail configuration error: {init_error}",
)
except Exception as init_error:
verbose_proxy_logger.warning(
f"Immediate sync: Failed to initialize guardrail '{guardrail_name}' (ID: {guardrail_id}) in memory: {init_error}"