Full git checkout machinery for self-hosted runners now ships, but you cannot reach it interactively.
The runner git checkout code is present in full with CLAUDE_RUNNER_FETCH_DEPTH tuning clone depth, but no interactive path reaches it.
What's wrong with this entry?
The code that prepares a git working copy for runner and bring-your-own-compute sessions is now in the bundle; the previous release only declared its environment variable. It is not reachable from an interactive session. CLAUDE_RUNNER_FETCH_DEPTH tunes clone depth and accepts full, 0, or a positive integer, with an unparseable value logged and ignored in favour of the default.
- Access is validated with exponential backoff, and fetches retry under a cumulative wall-clock cap, degrading to HTTP/1.1 and low-speed timeouts on later attempts.
- Git's progress output feeds a stall watchdog that sends SIGTERM then SIGKILL to a hung fetch.
- Detects empty remotes and refs that have permanently failed, prefers a delta
read-treereset overreset --hard, and manages detached per-session worktrees. - Command lines, stderr and telemetry are redacted for URLs and credentials: Anthropic keys, GitHub/GitLab/Slack/Square tokens, JWTs, and Bearer and Basic auth headers.
[byoc:git] Repository is empty, skipping checkout
Strings lifted out of the shipped bundle, so the claim above can be checked against them.