6 views
-/https://github.com/berriai/litellm/issues/32609
GitHub · issue

#32609 [Bug]: A2A /chat/completions bridge hardcodes legacy 0.3 "message/send" — agents pinned to protocolVersion "1.0" fail with "Method not found"

  • State: open
  • Author: @vbottiWerfen
  • Labels: bug, proxy, llm translation

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

An A2A agent is registered on the proxy with `agent_card_params.protocolVersion: "1.0"`. The agent is built on `a2a-sdk` 1.x and implements only the protocol-1.0 JSON-RPC methods (`SendMessage`, `SendStreamingMessage`, protobuf-JSON envelopes).

Invoking this agent through the native `/a2a/{agent_id}` route works, since LiteLLM normalizes the wire format to the pinned version as documented in [Protocol versioning](https://docs.litellm.ai/docs/a2a#protocol-versioning).

Invoking the **same agent** through the documented OpenAI-compatible bridge (`model: "a2a/<agent-name>"` on `POST /v1/chat/completions`, [docs: Invoking A2A Agents](https://docs.litellm.ai/docs/a2a_invoking_agents)) always fails:

``` InternalServerError: Error code: 500 - {'error': {'message': 'litellm.APIConnectionError: A2aException - A2A error: Method not found', 'type': None, 'param': None, 'code': '500'}} ```

The bridge sends legacy 0.3-style JSON-RPC directly to the upstream agent URL:

```json { "jsonrpc": "2.0", "id": "...", "method": "message/send", "params": {…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (5 events)
#0 of 0 · 31d19h9m22s ago — entered · #import:https:::github.com:berriai:litellm post #1715
The right item has broader cross-layer scope, requiring coordinated configuration, persistence/query semantics, formatting, UI behavior, and edge-case validation. The left is comparatively localized to protocol-aware request translation with focused compatibility tests.
Issue 29142 is harder because it affects shared authentication state, request isolation, budget enforcement, cache invalidation, concurrency, and regression testing across proxy flows. Issue 32609 is comparatively localized to protocol-aware request translation and compatibility handling in the A2A bridge.
The left issue spans response lifecycle timing, multiple serialization modes, and several API routes, creating broader integration and regression-testing risk. The right issue is more localized to protocol-aware translation in one bridge path and can likely reuse existing version-normalization logic.
The right issue is harder because it requires version-aware protocol translation across the A2A bridge, compatibility handling, and broader integration testing, whereas the left issue is primarily a contained observability-path correction.
#0 of 0 · 31d17h59m12s ago — current · #import:https:::github.com:berriai:litellm post #2868
The right issue is substantially harder because it requires protocol-aware request translation, version negotiation or routing, preservation of existing compatibility behavior, and broader integration testing across A2A versions. The left issue is a localized validation-rule correction with limited regression surface.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search