{"name":"CLAUDE_RUNNER_ALIVE_EVERY_MS","slug":"claude-runner-alive-every-ms","family":"env","title":"Environment variables","noun":"environment variable","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`","description_source":"entry","described_by":{"version":"2.1.309","anchor":"remote-runner-stream-emits-turn-began-before-init-and-alive"},"presence":{"first_seen":"2.1.309","removed_in":null,"in_current_build":true,"newest_mined":"2.1.309","builds":1,"mined_builds":150,"first_cited":{"version":"2.1.309","released_at":"2026-10-22 20:34:13","spans":1}},"aliases":[],"entries":[{"version":"2.1.309","anchor":"remote-runner-stream-emits-turn-began-before-init-and-alive","heading":"Runner output now signals life while a session's start-up is delayed","line":"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`","released_at":"2026-10-22 20:34:13","reason":"found in this entry's text"},{"version":"2.1.309","anchor":"runner-env-var-and-session-token-handling","heading":"Runners pass CLAUDE_RUNNER_ALIVE_EVERY_MS and can apply session tokens while running","line":"CLAUDE_RUNNER_ALIVE_EVERY_MS is now passed through, and session and OAuth tokens can be applied while running in a certain mode","released_at":"2026-10-22 20:34:13","reason":"named in this entry, found in this entry's text"}],"entries_total":2,"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_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_FAIL_FAST_FETCH","slug":"claude-runner-fail-fast-fetch","description":"Two env vars change how runner git fetches handle retries and stalled delta resolution."},{"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-alive-every-ms","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}