diff --git a/internal/llm/provider/anthropic.go b/internal/llm/provider/anthropic.go index 11c131c6cbc0919e9847c1820740b81cccf7f781..636257565caf91fc4f7f81af20a6e742aadbd3ee 100644 --- a/internal/llm/provider/anthropic.go +++ b/internal/llm/provider/anthropic.go @@ -507,6 +507,7 @@ func (a *anthropicClient) shouldRetry(attempts int, err error) (bool, int64, err } isOverloaded := strings.Contains(apiErr.Error(), "overloaded") || strings.Contains(apiErr.Error(), "rate limit exceeded") + // 529 (unofficial): The service is overloaded if apiErr.StatusCode != http.StatusTooManyRequests && apiErr.StatusCode != 529 && !isOverloaded { return false, 0, err }