BerriAI/litellm · error · HTTPException

Unexpected sanitization status: {status}

Error message

Unexpected sanitization status: {status}

What it means

Error "Unexpected sanitization status: {status}" thrown in BerriAI/litellm.

Source

Thrown at litellm/proxy/guardrails/guardrail_hooks/prompt_security/prompt_security.py:441

                verbose_proxy_logger.debug(
                    "Prompt Security Guardrail: File sanitization completed for jobId=%s",
                    job_id,
                )
                return {
                    "action": result.get("metadata", {}).get("action", "allow"),
                    "content": result.get("content"),
                    "metadata": result.get("metadata", {}),
                    "violations": result.get("metadata", {}).get("violations", []),
                }
            elif status == "in progress":
                verbose_proxy_logger.debug(
                    "Prompt Security Guardrail: File sanitization in progress (attempt %d/%d)",
                    attempt + 1,
                    self.max_poll_attempts,
                )
                continue
            else:
                raise HTTPException(status_code=500, detail=f"Unexpected sanitization status: {status}")

        raise HTTPException(status_code=408, detail="File sanitization timeout")

    async def _process_image_url_item(self, item: dict, user_api_key_alias: str | None) -> dict:
        """Process and sanitize image_url items."""
        image_url_data: Final = item.get("image_url", {})
        url: Final = image_url_data.get("url", "") if isinstance(image_url_data, dict) else image_url_data

        if not url.startswith("data:"):
            return item

        try:
            header, encoded = url.split(",", 1)
            file_data: Final = base64.b64decode(encoded)
            mime_type: Final = header.split(";")[0].split(":")[1]
            extension: Final = mime_type.split("/")[-1]
            filename: Final = f"image.{extension}"

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Check the Prompt Security sanitization API for the meaning of the returned status.
  2. Retry the request; if the status persists, contact Prompt Security support with the status value.

When it happens

Trigger: Thrown at litellm/proxy/guardrails/guardrail_hooks/prompt_security/prompt_security.py:441 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/7fd7a0908006988f. Report an issue: GitHub.