Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.307 ·

Self-hosted runner checkout hooks can time out and are stopped cleanly

The self-hosted runner's checkout hook can now be given a time limit with --checkout-hook-timeout-min, and is stopped when it runs over

Use it now Notable New Features
JSON All of v2.1.307
Use it nowTier: how much it should matter to you
4Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Self-Hosted RunnerArea: what it touches
New FeaturesKind: in v2.1.307,
What probably matters to youSection of the release

Unclear Whether there is a default time limit when --checkout-hook-timeout-min is not set is not settled.

What

The self-hosted runner can run a checkout hook, a script of your own that runs when work is checked out. That hook can now be given a time limit with the --checkout-hook-timeout-min option. Claude Code now:

  • on an abort or timeout, asks the hook and every process it started to stop, then forces them to stop if they do not
  • fails with a "checkout hook timed out" error when the time limit is reached
  • reports when a process the hook started is still holding its output open after the hook has finished, and advises that a hook should exec or wait for its long-running commands
Why

A stuck checkout hook can no longer hold one of the runner's slots forever, and the logs now say why a slot is still held.

How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhether there is a default time limit when `--checkout-hook-timeout-min` is not set is not settled.
Anthropic's release notes agreeSelf-hosted runner: Changed checkout hooks to be stopped after 30 minutes by default, failing the session's setup; if yours needs longer…

See this entry in the whole of v2.1.307 →

Feedback