BerriAI/litellm · error · HTTPException

Only proxy admins can update prompts

Error message

Only proxy admins can update prompts

What it means

Authorization gate on prompt update: the caller's user_api_key_dict lacks the PROXY_ADMIN role, so the update is refused before the prompt is looked up or modified.

Source

Thrown at litellm/proxy/prompts/prompt_endpoints.py:855

                    "prompt_integration": "dotprompt",
                    "prompt_directory": "/path/to/prompts"
                },
                "prompt_info": {
                    "prompt_type": "config"
                }
            }
        }'
    ```
    """
    from litellm.proxy.prompts.prompt_registry import IN_MEMORY_PROMPT_REGISTRY
    from litellm.proxy.proxy_server import prisma_client

    # Only allow proxy admins to update prompts
    if user_api_key_dict.user_role is None or (
        user_api_key_dict.user_role != LitellmUserRoles.PROXY_ADMIN
        and user_api_key_dict.user_role != LitellmUserRoles.PROXY_ADMIN.value
    ):
        raise HTTPException(status_code=403, detail="Only proxy admins can update prompts")

    if prisma_client is None:
        raise HTTPException(status_code=500, detail=CommonProxyErrors.db_not_connected_error.value)

    try:
        # Strip version suffix from prompt_id if present (e.g., "jack_success.v1" -> "jack_success")
        base_prompt_id: Final = get_base_prompt_id(prompt_id=prompt_id)

        # Extract environment from request
        environment: Final = (
            request.prompt_info.environment
            if request.prompt_info and request.prompt_info.environment
            else "development"
        )

        # Check if any version of this prompt exists (in any environment)
        existing_prompts = await _prompt_table(prisma_client).find_many(where={"prompt_id": base_prompt_id})

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use a proxy admin key to update prompts.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/prompts/prompt_endpoints.py:855 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/b6b3578080f8ebac. Report an issue: GitHub.