What probably matters to youSection of the release
What
A self-hosted runner is a machine you run yourself that starts Claude Code sessions on request. When the runner starts a session, it now sets the environment variable CLAUDE_RUNNER_SPAWN_REASON to the reason given in the start request. An environment variable is a named value a program can read when it starts. The value is only set after a check allows it. If the check rejects the value, the runner logs that and leaves the variable unset.
With --cloud, the choice to use the remote backend for a cloud session now needs one more condition to hold. That choice still sits behind a server-side switch that is off unless it is switched on remotely.
Why
If you operate a runner, the sessions it starts can now see why they were started. Your own scripts or setup can read that and act on it.
Read from
Feature flag
tengu_remote_backendNot enough to say
Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.318: off
These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.
One source agreesOne thing we can check says the same as this entry.
Anthropic's release notes agreeSelf-hosted runner: Added CLAUDE_RUNNER_SPAWN_REASON to the orchestrator's spawn-runner hook environment: why Anthropic sent the request…