Claude Code persistent (unattended) retry policy
retry-policy:claude-code-persistent-unattended
RetryPolicylifecycle/retry-policies/claude-code-persistent.yaml·Open in Graph → {
"id": "retry-policy:claude-code-persistent-unattended",
"_kind": "RetryPolicy",
"_file": "lifecycle/retry-policies/claude-code-persistent.yaml",
"_cluster": "lifecycle",
"attributes": {
"displayName": "Claude Code persistent (unattended) retry policy",
"variant": "persistent",
"maxRetries": 10,
"baseDelayMs": 500,
"maxDelayMs": 300000,
"backoffStrategy": "exponential-jitter",
"jitterFactor": 0.25,
"honorRetryAfterHeader": true,
"retryableStatusCodes": [
429,
529
],
"heartbeatIntervalMs": 30000,
"persistentMaxBackoffMs": 300000,
"persistentResetCapMs": 21600000,
"description": "Active when CLAUDE_CODE_UNATTENDED_RETRY is set. Bypasses subscriber gates\nand x-should-retry header; retries 429/529 indefinitely. Uses\nanthropic-ratelimit-unified-reset to wait until window reset rather than\npolling. Long sleeps are chunked so the host sees stdout activity and does\nnot mark the session idle (each chunk yields a SystemAPIErrorMessage).\n"
},
"outgoingEdges": [],
"incomingEdges": []
}