{"version":"2.1.311","anchor":"self-hosted-runner-logs-a-leftover-hold-line-in-its-watchdog","canonical_anchor":"self-hosted-runner-can-hold-sessions-while-a-host-file-stays","heading":"Self-hosted runners can keep idle sessions while a left-running process lives","tier":"use","area":"Self-Hosted Runners","scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311\/e\/self-hosted-runner-logs-a-leftover-hold-line-in-its-watchdog","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311","markdown":"### Self-hosted runners can keep idle sessions while a left-running process lives\n\nNew `--hold-idle-file` and `--max-hold-min` runner flags stop idle release while a host-kept file stays fresh, with a startup line reporting the hold\n\n**What**\n\nA self-hosted runner is a program you run on your own machines to host Claude Code sessions. It can release a session that has gone idle. It can now hold that release while the session still has a process running in the background.\n\n- `--hold-idle-file` (`SELF_HOSTED_RUNNER_HOLD_IDLE_FILE`) names a file your host keeps fresh while the session has processes left running. A file updated within the last 180000 ms (3 minutes) counts as fresh. Network-location paths are rejected.\n\n- `--max-hold-min` (`SELF_HOSTED_RUNNER_MAX_HOLD_MS`) caps the hold, in minutes. The default is 86400000 ms (24 hours), and 0 turns the hold off.\n\n- Before releasing an idle session, the runner checks the file and logs \"idle release held\" when it keeps the session, rechecking on an interval up to the cap. Hold state is tracked per session.\n\n- The startup watchdog summary has a new `leftover-hold=` field. It shows \"off (--hold-idle-file not set)\" or the cap and where it came from, and warns when the hold does nothing because `--release-idle-session-min` is off or not shorter than the cap.\n\n- The runner no longer refuses governed-git sessions, which use Anthropic-managed git, when started with a pinned child version through `--exec-path` or a command hook. The warning for that setup now says to keep the claude it runs up to date, because with an older claude Anthropic-managed git does not run.\n\n**Why**\n\nRunners stop ending sessions that still have work going in the background, as long as your host keeps the file fresh. The startup line tells you whether the hold is doing anything with your idle-release setting.\n\n- Area: Self-Hosted Runners\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 3\/5\n- Scope: org\n- Heads-up: no"}