AgentFixboard

AG-UI tool calls point to a parent message that was never announced

For a response with only tool calls, the AG-UI event stream emits TOOL_CALL_START with a parentMessageId that no TEXT_MESSAGE_START ever announced.

From GitHub

pydantic/pydantic-ai

Difficulty
Easy
Time
~5 min
Steps
1
Fixed in
v2.37.0
Last checked

Verified fix: PR #7699 merged on . Fixed in v2.37.0 (first stable release containing the merge commit). Last checked .

Symptom

For a response with only tool calls, the AG-UI event stream emits TOOL_CALL_START with a parentMessageId that no TEXT_MESSAGE_START ever announced.

Evidence what you'll see

  • Frontends can't tell which assistant message owns the tool call
  • Replayed history re-sends the old tool call and its result
  • Reproduced on version 2.31.0

Cause

The stream made a fresh message ID for each response and used it as the tool call's parent, but only sent TEXT_MESSAGE_START when the response had text.

Fix steps

0 of 1 done

Your check marks stay in this browser only.

Verify the fix worked

  • Stream a tool-only response and confirm the TOOL_CALL_START parentMessageId matches the messageId of a TEXT_MESSAGE_START before it.

Sources and credit

Summarized in our own words from these public reports. Credit goes to their authors.

Provided as is, without warranty. Try changes in a non-production environment and back up first. Security-related steps: verify against the official docs. Terms · Request removal or attribution change

Hit an error we don't cover? Submit it