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

Claude Code v2.1.309 ·

Runner output now signals life while a session's start-up is delayed

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

Under the hood Internal Changes
JSON All of v2.1.309
Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Self-Hosted RunnersArea: what it touches
Internal ChangesKind: in v2.1.309,
Internal ChangesSection of the release
What

A runner is a machine that carries out Claude Code sessions for another program, such as an orchestrator that watches the runner's output. Normally a session first writes an init message, which announces that it has started. When it writes its output straight to standard output with no bridge connection, Claude Code now covers the case where a turn begins before that init message:

  • It writes a system message of type turn_began_before_init.
  • If CLAUDE_RUNNER_ALIVE_EVERY_MS is set, it also writes alive_before_init heartbeat lines at that interval, in milliseconds.

The system message is always written in this case. The heartbeat lines appear only when the variable is set.

Why

An orchestrator that judges whether a runner is alive by watching its output can now tell that the runner is still working while the init message is delayed, instead of treating the silence as a hang.

See this entry in the whole of v2.1.309 →

Feedback