summaryrefslogtreecommitdiff
path: root/internal/executor/ratelimit.go
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-09 07:11:57 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-10 09:29:02 +0000
commit0676f0f2e6d1ba371806ca4b808a4993027d86ea (patch)
treec8d6776d1b4f1b82e3ba2b392272f359fb0ca499 /internal/executor/ratelimit.go
parenta62a19bbf774289e2018e50454aa719c1a2a9070 (diff)
fix: ensure tasks are re-classified on manual restart
Updated handleRunTask to use ResetTaskForRetry, which clears the agent type and model. This ensures that manually restarted tasks are always re-classified, allowing the system to switch to a different agent if the previous one is rate-limited. Also improved Claude quota-exhaustion detection.
Diffstat (limited to 'internal/executor/ratelimit.go')
-rw-r--r--internal/executor/ratelimit.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/internal/executor/ratelimit.go b/internal/executor/ratelimit.go
index aa9df99..1f38a6d 100644
--- a/internal/executor/ratelimit.go
+++ b/internal/executor/ratelimit.go
@@ -36,7 +36,8 @@ func isQuotaExhausted(err error) bool {
return strings.Contains(msg, "hit your limit") ||
strings.Contains(msg, "you've hit your limit") ||
strings.Contains(msg, "you have hit your limit") ||
- strings.Contains(msg, "rate limit reached (rejected)")
+ strings.Contains(msg, "rate limit reached (rejected)") ||
+ strings.Contains(msg, "status: rejected")
}
// parseRetryAfter extracts a Retry-After duration from an error message.