BerriAI/litellm · error · HTTPException

panw_prisma_airs_blocked

panw_prisma_airs_blocked

Error message

MCP request blocked: no rewritable argument field present

What it means

Error "MCP request blocked: no rewritable argument field present" thrown in BerriAI/litellm.

Source

Thrown at litellm/proxy/guardrails/guardrail_hooks/panw_prisma_airs/panw_prisma_airs.py:592

        masked_text: str,
        *,
        is_blocked: bool = True,
    ) -> None:
        """Write masked arguments back to MCP request_data fields.

        - ``arguments`` is the authoritative field that ``call_mcp_tool``
          reads, so it must be updated first.
        - ``mcp_arguments`` is mirrored for consistency / test observability.
        - If the original args were structured (dict/list), attempt
          ``json.loads`` to preserve the type; block if the masked text
          is not valid JSON (to avoid corrupting structured args).
        - If neither ``arguments`` nor ``mcp_arguments`` is present in
          request_data, block — do not silently invent a new field.
        """
        has_arguments: Final = "arguments" in request_data
        has_mcp_arguments: Final = "mcp_arguments" in request_data
        if not has_arguments and not has_mcp_arguments:
            raise HTTPException(
                status_code=400,
                detail={
                    "error": {
                        "message": "MCP request blocked: no rewritable argument field present",
                        "type": "guardrail_violation",
                        "code": "panw_prisma_airs_blocked",
                    }
                },
            )

        # If the original args were structured, preserve the type.
        if isinstance(original_args, (dict, list)):
            try:
                parsed: Final[object] = json.loads(masked_text)
            except (json.JSONDecodeError, TypeError):
                raise HTTPException(
                    status_code=400,
                    detail={

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Ensure the MCP tool call has at least one string argument that can be scanned/rewritten.
  2. If the tool legitimately has no rewritable fields, exempt it from this guardrail or adjust the guardrail's MCP argument handling.

When it happens

Trigger: Thrown at litellm/proxy/guardrails/guardrail_hooks/panw_prisma_airs/panw_prisma_airs.py:592 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/8aa23cb756cf61e8. Report an issue: GitHub.