What probably matters to youSection of the release
What
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.
With 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.
Why
If 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.
CLAUDE_CODE_RETRY_WATCHDOGError referencemodified, high confidence* A streaming request the API never answers with response headers, on a connection where the [first-byte deadline runs](/docs/en/network-config.md#streaming-idle-watchdogs). At the deadline, Claude Code aborts the request and re-sends it w…see the edit
CLAUDE_CODE_RETRY_WATCHDOGAgent SDK reference - TypeScriptmodified, high confidenceFor unattended runs that need to wait through longer outages, set [`CLAUDE_CODE_RETRY_WATCHDOG=1`](https://code.claude.com/docs/en/errors#tune-retry-behavior): it retries transient capacity errors indefinitely and, on Claude Code v2.1.199 …see the edit
CLAUDE_CODE_RETRY_WATCHDOGMonitoringmodified, high confidenceThe `attempt` attribute on the event records the number of attempts. `CLAUDE_CODE_MAX_RETRIES` defaults to 10 and is capped at 15; with [`CLAUDE_CODE_RETRY_WATCHDOG`](https://code.claude.com/docs/en/env-vars) set, the default is higher and…see the edit
How sure we are
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agreesCLAUDE_CODE_RETRY_WATCHDOG on Error reference
The name it cites is new in this buildNew in this build: CLAUDE_CODE_RETRY_WATCHDOG_SCOPE