From 48ae02c1cace50491f7e3d471a87634ddf31563d Mon Sep 17 00:00:00 2001 From: Richard Feldman Date: Tue, 12 Aug 2025 17:06:01 -0400 Subject: [PATCH] Don't retry for PaymentRequiredError or ModelRequestLimitReachedError (#36075) Release Notes: - Don't auto-retry for "payment required" or "model request limit reached" errors (since retrying won't help) --- crates/agent/src/thread.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crates/agent/src/thread.rs b/crates/agent/src/thread.rs index 20d482f60d..1d417efbba 100644 --- a/crates/agent/src/thread.rs +++ b/crates/agent/src/thread.rs @@ -2268,6 +2268,15 @@ impl Thread { max_attempts: 3, }) } + Other(err) + if err.is::() + || err.is::() => + { + // Retrying won't help for Payment Required or Model Request Limit errors (where + // the user must upgrade to usage-based billing to get more requests, or else wait + // for a significant amount of time for the request limit to reset). + None + } // Conservatively assume that any other errors are non-retryable HttpResponseError { .. } | Other(..) => Some(RetryStrategy::Fixed { delay: BASE_RETRY_DELAY,