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
execorwaitfor 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.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
Whether there is a default time limit when `--checkout-hook-timeout-min` is not set is not settled.
Anthropic's release notes agree
Self-hosted runner: Changed checkout hooks to be stopped after 30 minutes by default, failing the session's setup; if yours needs longer…