{"version":"2.1.281","anchor":"api-retry-all-non-retryable-4xx-now-skip-retry-not-just-40","canonical_anchor":"api-retry-all-non-retryable-4xx-now-skip-retry-not-just-40","heading":"API retry: all non-retryable 4xx now skip retry, not just 404","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/api-retry-all-non-retryable-4xx-now-skip-retry-not-just-40","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### API retry: all non-retryable 4xx now skip retry, not just 404\n\nAPI requests that fail with a 400-499 status are no longer retried, except for 408, 409 and 429\n\n**What**\n\nWhen a request to the API fails, the server sends back a status number. Numbers from 400 to 499 usually mean something was wrong with the request itself. Before, Claude Code skipped the automatic retry only for 404 (not found). Now it skips the retry for every status from 400 to 499 except these three, which are still retried:\n\n- `408`: the request timed out\n\n- `409`: a conflict\n\n- `429`: too many requests\n\n**Why**\n\nRetrying a request that cannot succeed only adds waiting. Failures like these should now reach you straight away, while the three temporary cases still get another try."}