BerriAI/litellm · error · HTTPException

return_to does not match the configured control_plane_url

Error message

return_to does not match the configured control_plane_url

What it means

Error "return_to does not match the configured control_plane_url" thrown in BerriAI/litellm.

Source

Thrown at litellm/proxy/management_endpoints/ui_sso.py:2839

        Returns False if control_plane_url is not configured (return_to is ignored).
        Raises HTTPException(400) if return_to origin does not match control_plane_url origin.
        """
        from litellm.proxy.proxy_server import general_settings

        control_plane_url: Final = general_settings.get("control_plane_url")
        if control_plane_url is None:
            return False

        def _origin(url: str) -> tuple:
            parsed: Final = urlparse(url)
            scheme: Final = (parsed.scheme or "").lower()
            hostname: Final = (parsed.hostname or "").lower()
            default_port: Final = 443 if scheme == "https" else 80
            port: Final = parsed.port if parsed.port is not None else default_port
            return (scheme, hostname, port)

        if _origin(return_to) != _origin(control_plane_url):
            raise HTTPException(
                status_code=400,
                detail="return_to does not match the configured control_plane_url",
            )

        return True

    @staticmethod
    async def get_sso_login_redirect(
        redirect_url: str,
        google_client_id: str | None = None,
        microsoft_client_id: str | None = None,
        generic_client_id: str | None = None,
        state: str | None = None,
        request: Request | None = None,
    ) -> RedirectResponse | None:
        """
        Step 1. Call Get Login Redirect for the SSO provider. Send the redirect response to `redirect_url`

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use a return_to URL that matches the configured control_plane_url, or fix the control_plane_url setting.

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/ui_sso.py:2839 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/0cff947db309b737. Report an issue: GitHub.