{"name":"CLAUDE_RUNNER_FAIL_FAST_FETCH","slug":"claude-runner-fail-fast-fetch","family":"env","title":"Environment variables","noun":"environment variable","description":"Two env vars change how runner git fetches handle retries and stalled delta resolution.","description_source":"entry","described_by":{"version":"2.1.224","anchor":"two-environment-knobs-for-runner-git-fetches"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.309","builds":0,"mined_builds":150,"first_cited":{"version":"2.1.224","released_at":"2026-08-07 01:36:32","spans":1}},"aliases":[],"entries":[{"version":"2.1.224","anchor":"two-environment-knobs-for-runner-git-fetches","heading":"Two environment knobs for runner git fetches","line":"Two env vars change how runner git fetches handle retries and stalled delta resolution.","released_at":"2026-08-07 01:36:32","reason":"named in this entry, found in this entry's text"}],"entries_total":1,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"CLAUDE_RUNNER_ACTIVITY_FD","slug":"claude-runner-activity-fd","description":"Claude Code now recognises the CLAUDE_CODE_REMOTE_MCP_CONFIG environment variable and passes it on to processes it starts"},{"name":"CLAUDE_RUNNER_ALIVE_EVERY_MS","slug":"claude-runner-alive-every-ms","description":"Runner sessions now print a notice when a turn starts before the session's start-up message, with optional heartbeats via `CLAUDE_RUNNER_ALIVE_EVERY_MS`"},{"name":"CLAUDE_RUNNER_CLAUDE_BIN","slug":"claude-runner-claude-bin","description":"The runner writes a code-sign helper script, using CLAUDE_RUNNER_CLAUDE_BIN if you set it."},{"name":"CLAUDE_RUNNER_CLIENT_PLATFORM","slug":"claude-runner-client-platform","description":"Odd platform labels from the runner are rejected or replaced with \"unknown\" instead of exported."},{"name":"CLAUDE_RUNNER_DISABLE_AWAITING_ACTION_OVERRIDE","slug":"claude-runner-disable-awaiting-action-override","description":"Boolean (`1`, `true`, `yes` or `on`) read by the self-hosted runner when a child session's turn ends. Normally, if the turn cannot be treated as a plain `turn-end` and the child last reported `waiting_on_user: true`, the runner reports the session as `awaiting-action` (\"child parked at a prompt\"); when this is true that step is skipped and the turn end goes through the `turn-end-deferred` path instead."},{"name":"CLAUDE_RUNNER_DISABLE_TURN_BEGAN_BEFORE_INIT","slug":"claude-runner-disable-turn-began-before-init","description":"The self-hosted runner now detects a turn that begins before a session has initialized; `CLAUDE_RUNNER_DISABLE_TURN_BEGAN_BEFORE_INIT` turns it off"},{"name":"CLAUDE_RUNNER_FETCH_DEPTH","slug":"claude-runner-fetch-depth","description":"Full git checkout machinery for self-hosted runners now ships, but you cannot reach it interactively."},{"name":"CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS","slug":"claude-runner-fetch-server-progress-cap-ms","description":"`CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS` sets a time cap on server-side progress when a runner fetches a repository"},{"name":"CLAUDE_RUNNER_SESSION_UUID","slug":"claude-runner-session-uuid","description":"Runner hooks now get CLAUDE_RUNNER_SESSION_UUID and CLAUDE_CODE_REMOTE_SESSION_UUID so your scripts can key on the session."},{"name":"CLAUDE_RUNNER_SKIP_GIT_VERIFY","slug":"claude-runner-skip-git-verify","description":"Set to exactly `1` in the self-hosted runner's environment to skip the check that a checkout hook left a `.git` entry in the checkout directory. Without it, a hook that exits `0` but leaves no `.git` fails with an error that suggests this variable for non-git SCMs; the checks that the checkout path exists and is a directory still run."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-runner-fail-fast-fetch","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}