Error message
When this error occurs
Each tool call the model emits is routed by the shape of its wire name:- Dash-prefixed (
{alias}-{tool}) → MCP-resolved. The platform calls the MCP server inline and persists the result. These calls never appear inpending_tool_calls. - Dash-free (
{tool}) → caller-declared. The run pauses atrequires_actionand the caller posts the output astool_outputson the next run.
tool_outputs[].tool_use_id references an assistant turn block whose
name contains a dash — an MCP call the platform already settled. There’s nothing for the
caller to contribute.
How to fix
Filter yourtool_outputs to only the ids whose corresponding name in the prior
requires_action response is dash-free. The pending_tool_calls list from
GET /agents/runs/{id} already excludes MCP-resolved ids — copy from there rather than
re-deriving from the message stream.
