{"version":"2.1.310","anchor":"new-claude-code-retry-watchdog-scope-env-var-narrows-the-ret","canonical_anchor":"new-claude-code-retry-watchdog-scope-env-var-narrows-the-ret","heading":"New CLAUDE_CODE_RETRY_WATCHDOG_SCOPE limits the retry watchdog to capacity waits","tier":"use","area":"Retries","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/new-claude-code-retry-watchdog-scope-env-var-narrows-the-ret","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310","markdown":"### New `CLAUDE_CODE_RETRY_WATCHDOG_SCOPE` limits the retry watchdog to capacity waits\n\nSet `CLAUDE_CODE_RETRY_WATCHDOG_SCOPE=capacity` to keep the retry watchdog waiting through capacity errors without its other retry changes\n\n**What**\n\n`CLAUDE_CODE_RETRY_WATCHDOG` is the environment variable for unattended runs that makes Claude Code keep retrying through temporary capacity errors (the service being too busy). A new environment variable, `CLAUDE_CODE_RETRY_WATCHDOG_SCOPE`, narrows what it does.\n\nWhen `CLAUDE_CODE_RETRY_WATCHDOG` is set and `CLAUDE_CODE_RETRY_WATCHDOG_SCOPE` is `capacity`, Claude Code still keeps waiting through capacity errors, but these behave as if the watchdog were off:\n\n- the cap on how many times a request is retried\n\n- switching to a fallback model\n\n- how retry attempts are counted\n\n- the minimum delay between retries\n\nWith any other value, or with it unset, the watchdog works in full as before. Self-hosted sessions started by the remote runner set `CLAUDE_CODE_RETRY_WATCHDOG` to `1`, and nothing in Claude Code sets the scope for you.\n\n**Why**\n\nIf you run the watchdog unattended and only want it to ride out capacity outages, you can now keep your normal retry limit and avoid it switching you to a fallback model.\n\n- Area: Retries\n- Names: `CLAUDE_CODE_RETRY_WATCHDOG_SCOPE`, `CLAUDE_CODE_RETRY_WATCHDOG`\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}