Id of the call that failed, matching the ToolCallStartedPayload that announced it.
OptionaldurationHow long the call ran before failing, in milliseconds. Sent only in verbose sessions.
OptionalerrorWhat went wrong, in one line, when the server said. Only verbose sessions carry it.
Taken from the failure the server reports in extra
(extra.error.message), and from output when that is
a plain string instead. Absent when the server sent neither, which is why an application
that shows the reason needs a fallback of its own; the full structured failure — its kind,
code and any data — is in extra.error.
OptionalextraAny additional metadata the server reported with the failure. Sent only in verbose sessions.
OptionalinputThe arguments the call was made with. Sent only in verbose sessions.
Name of the tool that was called.
OptionaloutputWhatever the failed call produced, if anything. Sent only in verbose sessions.
Any JSON value — the server's own type for a tool result is unconstrained, and on a failure it is commonly the reason as a plain string rather than a structured result. Narrow it before use. The string case is also given to you as error, which is what to show.
When the call failed, as reported by the server.
Optionalunlistedtrue for a call the agent doesn't show as running. See RunningToolCall.unlisted.
The payload of a ToolCallEvent.Error event: a tool call failed.
Delivered to onToolEvent — see ToolEventCallback. Read error for what went wrong. The agent carries on with the conversation; the SDK does not retry.