BerriAI/litellm · error · Exception
Invalid status '{new_status}'. Use 'published' or 'productio
Error message
Invalid status '{new_status}'. Use 'published' or 'production'. What it means
Status-transition validator in the policy version workflow: new_status is not one of the two allowed values ('published' or 'production'); the supplied value is echoed back. This guards the state machine before any DB write happens.
Source
Thrown at litellm/proxy/policy_engine/policy_registry.py:883
Update a policy version's status. Valid transitions:
- draft -> published (sets published_at)
- published -> production (sets production_at, demotes current production to published, updates in-memory)
- production -> published (demotes, removes from in-memory)
- draft -> production: NOT allowed (must publish first)
- published -> draft: NOT allowed
Args:
policy_id: The policy version ID
new_status: "published" or "production"
prisma_client: The Prisma client instance
updated_by: User who updated
Returns:
PolicyDBResponse for the updated version
"""
try:
if new_status not in ("published", "production"):
raise Exception(f"Invalid status '{new_status}'. Use 'published' or 'production'.")
row: Final = await _policy_table(prisma_client).find_unique(where={"policy_id": policy_id})
if row is None:
raise Exception(f"Policy with ID {policy_id} not found")
current: Final = getattr(row, "version_status", "production")
policy_name: Final = row.policy_name
now: Final = datetime.now(timezone.utc)
if new_status == "published":
if current != "draft":
raise Exception(f"Only draft versions can be published. Current status: '{current}'.")
updated = await _policy_table(prisma_client).update(
where={"policy_id": policy_id},
data={
"version_status": "published",
"published_at": now,
"updated_at": now,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Use 'published' or 'production' as the new status value.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/policy_engine/policy_registry.py:883 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/b038038422040b87.
Report an issue: GitHub.