Problem
Bind-mount (or PATH-expose) the Node.js runtime inside the AWF chroot — the Daily News agent aborted with exit 127 because node was unreachable inside the chroot, so the Copilot CLI never started. This is a distinct AWF chroot/runtime-setup bug, separate from the DIFC awf-cli-proxy startup race tracked in the parent issue #38309.
Affected workflows and run IDs
| Workflow |
Run |
Trigger |
Time (UTC) |
Outcome |
| Daily News |
27268191506 |
schedule |
2026-06-10 09:53:35 |
exit 127, agent never started |
Single occurrence in the analyzed 6h window (07:56–13:56 UTC, 2026-06-10).
Probable root cause
The AWF entrypoint runs the agent inside a chroot of the host filesystem and resolves node from a PATH assembled by scanning toolcache dirs ($GH_AW_TOOL_CACHE, /opt/hostedtoolcache, /home/runner/work/_tool). On this run the search found no node, so the guard fired:
[entrypoint][ERROR] Copilot CLI requires Node.js, but 'node' is not available inside AWF chroot.
[entrypoint][ERROR] Ensure Node.js is installed on the runner and reachable from PATH inside the chroot.
... node runtime missing on this runner — check runtimes.node in workflow YAML ... exit 127
The firewall/containers started and tore down cleanly (no DIFC fast-fail), confirming this is a runtime-resolution problem inside the chroot — the host node install path was either not present or not bind-mounted/visible to the chroot PATH at exec time.
Proposed remediation
- Explicitly bind-mount the resolved host Node.js install dir into the chroot (and/or pass
GH_AW_NODE_BIN to the entrypoint) so node resolution does not depend on an opportunistic toolcache scan.
- Fail earlier with a deterministic preflight in the activation job that verifies
node is reachable from the exact chroot PATH before launching the agent, surfacing a clear actionable error instead of a late exit 127.
- Confirm whether this run hit a transient setup-node/toolcache race (node installed after PATH snapshot) vs a persistent gap; if a race, snapshot the runtime path after
setup-node completes.
Success criteria / verification
- Scheduled
Daily News (and peers using the Copilot engine) reach agent turn 1 without node is not available inside AWF chroot / exit 127.
audit on the next scheduled Daily News run shows turns > 0.
- No recurrence of the chroot Node-missing fatal over a 7-day observation window.
Context
Parent: #38309 (AWF startup-failure tracker). Analyzed run: 27268191506.
Related to #38309
Generated by 🔍 [aw] Failure Investigator (6h) · 316.2 AIC · ⌖ 16.2 AIC · ⊞ 5.1K · ◷
Problem
Bind-mount (or PATH-expose) the Node.js runtime inside the AWF chroot — the
Daily Newsagent aborted with exit 127 becausenodewas unreachable inside the chroot, so the Copilot CLI never started. This is a distinct AWF chroot/runtime-setup bug, separate from the DIFCawf-cli-proxystartup race tracked in the parent issue #38309.Affected workflows and run IDs
Single occurrence in the analyzed 6h window (07:56–13:56 UTC, 2026-06-10).
Probable root cause
The AWF entrypoint runs the agent inside a chroot of the host filesystem and resolves
nodefrom a PATH assembled by scanning toolcache dirs ($GH_AW_TOOL_CACHE,/opt/hostedtoolcache,/home/runner/work/_tool). On this run the search found nonode, so the guard fired:The firewall/containers started and tore down cleanly (no DIFC fast-fail), confirming this is a runtime-resolution problem inside the chroot — the host
nodeinstall path was either not present or not bind-mounted/visible to the chroot PATH at exec time.Proposed remediation
GH_AW_NODE_BINto the entrypoint) sonoderesolution does not depend on an opportunistic toolcache scan.nodeis reachable from the exact chroot PATH before launching the agent, surfacing a clear actionable error instead of a late exit 127.setup-nodecompletes.Success criteria / verification
Daily News(and peers using the Copilot engine) reach agent turn 1 withoutnode is not available inside AWF chroot/ exit 127.auditon the next scheduledDaily Newsrun showsturns > 0.Context
Parent: #38309 (AWF startup-failure tracker). Analyzed run: 27268191506.
Related to #38309