Summary
The retry loop in claude.js uses a plain exponential backoff (2^attempt * 1000ms) with no jitter. During an Anthropic 529 overload with many concurrent users, all clients would retry at the same intervals, creating synchronized burst traffic rather than spreading load. Adding randomized jitter is a minor, low-risk change that improves resilience.
Priority
Low
Acceptance criteria
Summary
The retry loop in claude.js uses a plain exponential backoff (2^attempt * 1000ms) with no jitter. During an Anthropic 529 overload with many concurrent users, all clients would retry at the same intervals, creating synchronized burst traffic rather than spreading load. Adding randomized jitter is a minor, low-risk change that improves resilience.
Priority
Low
Acceptance criteria
(2 ** attempt * 1000) + Math.random() * 500