Responses failover correctly triggers for unknown errors
When OpenAI's Responses API returns a generic "unknown error (no details)" message, agents can now properly failover and try a different assistant or model instead of letting the run fail outright.
The Responses API transport occasionally returns a generic error message with no actionable details: "Unknown error (no error details in response)". Previously, this was being misclassified—likely as a timeout—which made the failover system treat it as a fatal error rather than a retryable one. The result was that runs would end instead of falling back to an alternate assistant or model configuration.
A targeted fix now checks for the exact error string and classifies it as reason "unknown". This keeps the error in the failover-eligible category, allowing the system to attempt assistant or model fallback as intended. A temporary timeout-pattern matcher that was working around this same issue has been removed, leaving the classification logic cleaner and more precise.
The change lives in the agents package, specifically the error classification logic for the pi-embedded helpers. It's part of ongoing work to make the failover system more reliable by ensuring error reasons accurately reflect what went wrong.
View Original GitHub Description
Summary
- classify the exact Responses transport fallback string
Unknown error (no error details in response)as failover reasonunknown - keep this path failover-eligible so assistant/model fallback is attempted instead of ending the run
- add regression coverage asserting
classifyFailoverReason(...) === "unknown"andisFailoverErrorMessage(...) === true - remove the temporary timeout-pattern matcher for this string from
failover-matches.ts
Why
This error text is a generic provider-side unknown failure with missing details, not a timeout. We still want retry/fallback behavior, but with accurate reason classification.