Merged
Size
S
Change Breakdown
Bug Fix70%
Maintenance20%
Docs10%
#65254fix(agents): classify unknown-no-details Responses failures as unknown for failover

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 reason unknown
  • keep this path failover-eligible so assistant/model fallback is attempted instead of ending the run
  • add regression coverage asserting classifyFailoverReason(...) === "unknown" and isFailoverErrorMessage(...) === 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.

© 2026 · via Gitpulse