{"record":{"id":"d89fc413885934bc","repo":"BerriAI/litellm","slug":"request-is-required-for-completion-bridge","errorCode":null,"errorMessage":"request is required for completion bridge","messagePattern":"request is required for completion bridge","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/a2a_protocol/main.py","lineNumber":448,"sourceCode":"                message={\"role\": \"user\", \"parts\": [{\"kind\": \"text\", \"text\": \"Hello!\"}], \"messageId\": uuid4().hex}\n            )\n        )\n        response = await asend_message(\n            request=request,\n            api_base=\"http://localhost:2024\",\n            litellm_params={\"custom_llm_provider\": \"langgraph\", \"model\": \"agent\"},\n        )\n        ```\n    \"\"\"\n    litellm_params = litellm_params or {}\n    logging_obj: Final = kwargs.get(\"litellm_logging_obj\")\n    trace_id = getattr(logging_obj, \"litellm_trace_id\", None) if logging_obj else None\n    custom_llm_provider: Final = litellm_params.get(\"custom_llm_provider\")\n\n    # Route through completion bridge if custom_llm_provider is set\n    if custom_llm_provider:\n        if request is None:\n            raise ValueError(\"request is required for completion bridge\")\n        return await _send_message_via_completion_bridge(\n            request=request,\n            custom_llm_provider=custom_llm_provider,\n            api_base=api_base,\n            litellm_params=litellm_params,\n            agent_extra_headers=agent_extra_headers,\n        )\n\n    # Standard A2A client flow\n    if request is None:\n        raise ValueError(\"request is required\")\n\n    # Create A2A client if not provided but api_base is available\n    if a2a_client is None:\n        if api_base is None:\n            raise ValueError(\"Either a2a_client or api_base is required for standard A2A flow\")\n        trace_id = trace_id or str(uuid.uuid4())\n        extra_headers: Final[dict[str, str]] = {\"X-LiteLLM-Trace-Id\": trace_id}","sourceCodeStart":430,"sourceCodeEnd":466,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/a2a_protocol/main.py#L430-L466","documentation":"Error \"request is required for completion bridge\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/a2a_protocol/main.py:448 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a request object when invoking the completion bridge."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}