Skip to content

[aw-failures] Fleet-wide: Copilot CLI subagent model allocation fails with 'No model available' (hit PR Code Quality Reviewer, L [Content truncated due to length] #49022

Description

@github-actions

Problem

Stop letting a background review sub-agent take down the whole PR Code Quality Reviewer run — bound it or make it non-fatal. The workflow spawns a background task-tool sub-agent (grumpy-coder) to do a parallel/first-pass code review. When that sub-agent misbehaves, the entire run fails — and it misbehaved two different ways in this 6h window:

  1. Sub-agent hangs forever → main session idle-timeout. §30496052606 (22:25 UTC): grumpy-coder was still status: running after being polled at 253s, 431s, 628s, and 751s elapsed (39 tool calls, 0 turns reported by read_agent). The main session eventually hit its own idle timeout: [copilot-sdk-driver] error: Timeout after 870000ms waiting for session.idle, failureClass=sdk_session_idle_timeout, killing the whole job after 14.5 minutes with zero output.
  2. Sub-agent model allocation fails → all 4 harness retries exhausted. §30486275442 (19:52 UTC): every one of 4 fresh-session retry attempts hit [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot immediately after the task tool spawned the background review sub-agent, failureClass=partial_execution each time, exhausting retriesRemaining=0.

This is a confirmed recurrence of the pattern flagged (but not ticketed) in the prior 6h report (#48897), which documented 2 occurrences of the same "No model available" error and explicitly said: "if it recurs next window, file a sub-issue to harden the workflow against background-task failures." It has now recurred 2 more times with 2 distinct failure modes, both traceable to the same design pattern.

Affected Workflows and Runs

  • .github/workflows/pr-code-quality-reviewer.lock.yml
  • §30496052606 — idle-timeout hang (2026-07-29 22:25 UTC)
  • §30486275442 — model-unavailable retry exhaustion (2026-07-29 19:52 UTC)
  • Prior occurrences (documented, not ticketed): §30479767476, §30470606972

Probable Root Cause

The main review agent uses the task tool to launch a background code-review sub-agent for a secondary/critical pass, then polls it with read_agent while continuing (or waiting). Two independent failure surfaces exist because the sub-agent is fully coupled to the parent run's success/fail outcome and to the parent's own session-idle watchdog:

  • No per-sub-agent timeout/deadline is enforced — a stuck sub-agent burns the parent's entire idle budget instead of being cancelled after a bounded wait.
  • No fallback when the sub-agent's model allocation is rejected ("No model available") — the harness retries the entire run from scratch up to 4 times rather than treating the optional sub-agent as skippable.
  • Both failure modes fully fail the run even though, in prior occurrences, the main review had already produced valid output before the sub-agent hiccup.

Proposed Remediation

  1. Enforce an explicit timeout on the background review sub-agent (e.g. cancel/stop_bash-equivalent for task agents) shorter than the parent job's own idle-timeout window, so a hang fails fast and visibly instead of silently consuming the full budget.
  2. Treat the background sub-agent as best-effort: if it errors (model unavailable) or times out, log/report it as a partial-degradation warning and let the main review's own output stand, instead of failing/retrying the whole run.
  3. If retries are kept for the "No model available" case, do not retry via a full fresh session replay (4x cost) — surface the error after 1 retry and fail fast, or skip the sub-agent step entirely on that error class.

Success Criteria

  • A hung or model-unavailable background review sub-agent no longer fails the entire PR Code Quality Reviewer run.
  • Next occurrence of either signature is either (a) absent, or (b) degrades gracefully with the main review output still posted.
  • No sdk_session_idle_timeout or exhausted-retry (partial_execution x4) failures attributable to the background sub-agent pattern in the following 6h window.

Parent: #48897
Related to #48897

Generated by 🔍 [aw] Failure Investigator (6h) · age00 · 161.9 AIC · ⌖ 20.7 AIC · ⊞ 5.2K ·

  • expires on Aug 5, 2026, 5:25 PM UTC-08:00

Recurrence confirmed — 2026-07-30 13:19 UTC failure-investigation pass

This is still happening — prioritize it, it's the highest-volume P0 in today's window.

Run 30531715045 (PR Code Quality Reviewer, 2026-07-30) failed at Execute GitHub Copilot CLI with the same signature this issue was opened for. audit-diff against a same-day Copilot CLI run shows the step made 32 allowed requests to api.githubcopilot.com (0 blocked) but the run recorded zero input/output/cache tokens anywhere — a clean network path with no usable response captured. This rules out auth/rate-limit/firewall as the cause and points at the response-handling/parsing path between the Copilot CLI process and the workflow's usage accounting.

Filed as part of #49095 (2026-07-30 6h report). No new issue opened — just corroborating evidence for this one.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 180.1 AIC · ⌖ 21.7 AIC · ⊞ 6.8K ·



Recurrence confirmed, wider blast radius — 2026-07-30 19:13 UTC failure-investigation pass

Widen this issue's scope now — the "No model available" background-subagent crash has spread past PR Code Quality Reviewer into at least 2 more workflows this window; treat it as a fleet-wide task-tool risk, not a single-workflow bug.

Run §30567931948 (Linter Miner, 2026-07-30 17:52 UTC) hit the identical signature from agent-stdio.log:

[copilot-sdk-driver] [sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot
[copilot-harness] attempt 2 failed: exitCode=1 failureClass=permission_denied ... permissionDeniedCount=4 hasNumerousPermissionDenied=true
[copilot-harness] attempt 2: AI credits budget exceeded — not retrying (non-retryable guard condition)

The failure fired the moment the main agent's task tool spawned a background general-purpose sub-agent (linter-writer) — same shape as this issue's original two runs. audit cohort-comparison flags this run risky: turns dropped 3→0 and posture flipped write_capableread_only vs. its own successful baseline (§30476970759).

Three more agent-job failures landed in the same 6h window with the same top-level Execute GitHub Copilot CLI step signature but unconfirmed root cause (no local log fetched — audit budget for this pass was capped at 2 calls, spent on Linter Miner + a separate cluster):

  • Breaking Change Checker — §30557179518 (does not use the task sub-agent pattern per its workflow source — if this is the same "No model available" error, it means the fault also hits the main session directly, not just background sub-agents)
  • Daily Agent of the Day Blog Writer — §30554082997 (this one does dispatch sub-agents per its workflow source — likely same pattern)
  • CI Optimization Coach — §30548066957 (no task sub-agent usage detected — same open question as Breaking Change Checker)

Action: pull agent-stdio.log for those 3 runs to confirm/rule out the same signature. If Breaking Change Checker or CI Optimization Coach show "No model available" without a task-tool sub-agent in the call chain, remediation item #2 in this issue (treat sub-agent as best-effort) won't fully cover it — the model-allocation failure needs a fix at the harness/engine level, not just at the sub-agent-supervision level.

No new issue filed — this is the same tracked signature, now with a larger blast radius.

Generated by [aw] Failure Investigator (6h) · run https://github.com/github/gh-aw/actions/runs/30573634803

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 101.2 AIC · ⌖ 25.9 AIC · ⊞ 5.3K ·


Recurrence confirmed, signature spreads further — 2026-07-31 pass

Stop treating this as a single-workflow issue — 2 more workflows hit the exact same "No model available" signature this window; the open question from the 2026-07-30 update is now resolved.

  • Linter Miner — §30653018084: [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot immediately after the task tool spawn, both attempts exhausted, ending "AI credits budget exceeded — not retrying."
  • Daily Agent of the Day Blog Writer — §30641133423: identical signature on attempts 3 and 4, ending failureClass=authentication_failed.
  • PR Code Quality Reviewer — §30647761131: same signature reconfirmed on attempt 1, ending "AI credits budget exceeded — not retrying."

This directly answers the 2026-07-30 update's open question: Daily Agent of the Day Blog Writer does share this signature. By contrast, CI Optimization Coach's failure this window is NOT part of this cluster — its root cause is an unrelated prompt.txt ENOENT precondition failure with no connection to model allocation or the task tool; tracked separately as a new sub-issue of #49245.

No new issue filed — same tracked signature, still open, confirmed recurring on 2 more workflows in a single window.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 249.9 AIC · ⌖ 19.3 AIC · ⊞ 6.8K ·


Fix the PR Code Quality Reviewer background sub-agent hang — it recurred twice more in the last 6h, still hitting the exact 15-min action-timeout symptom this issue documents.

New occurrences (2026-08-01):

Run Time (UTC) Failed step Signal
§30687802684 06:28 Execute GitHub Copilot CLI Explicit: ##[error]The action 'Execute GitHub Copilot CLI' has timed out after 15 minutes. — matches the idle-timeout hang symptom (internal watchdog fires ~14.5min, outer Action-level 15min kill follows) described above.
§30683628677 04:16 Execute GitHub Copilot CLI Same workflow/step failure; captured log tail is cleanup-only (truncated before the root-cause line), consistent with — not conclusively distinct from — the same hang pattern.

Why this matters now: this is at least the 5th–6th occurrence of the same design flaw (unbounded background task-tool sub-agent coupled to the parent session's idle watchdog and the job's hard 15-minute step timeout). The fix proposed in this issue (bound the sub-agent with its own timeout/deadline, make it non-fatal, or remove the hard coupling to the parent's idle budget) has not shipped yet and failures continue at the same rate.

Action: prioritize this fix — it is the single highest-frequency agentic-workflow failure in the current 6h window and continues to burn full 15-minute job budgets with zero usable output.

Filed by the 6h Failure Investigator scan covering 2026-08-01T01:38–07:38 UTC. Other failures in this window (Daily Container Image Security Scan gate finding a real CVE, isolated Claude/Copilot CLI failures in ESLint Refiner and Go Logger Enhancement with inconclusive truncated logs) were each single-occurrence/P2 and did not warrant new tracking.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 71.3 AIC · ⌖ 24.2 AIC · ⊞ 5.3K ·


Fix the background-subagent "No model available" crash now — it hit PR Code Quality Reviewer twice more this window with zero mitigation in place.

New occurrences (2026-08-01 evening):

Run Time (UTC) Failed step Signal
§30722461036 23:00 Execute GitHub Copilot CLI Confirmed via agent-stdio.log: task-tool spawns a general-purpose background sub-agent → [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilotattempt 4 failed: exitCode=1 failureClass=partial_executionall 3 retries exhausted — giving up. Exact signature this issue tracks.
§30715022302 19:33 Execute GitHub Copilot CLI Same workflow/step/exit-code-1 pattern as the confirmed run above; not separately audited to conserve budget, presumed same cluster given identical failure surface within the same 4h span.

Why this matters now: the remediation this issue proposes (bound the sub-agent, treat model-unavailable as non-fatal, stop full-session retries) still hasn't shipped — this is at least the 7th–8th occurrence of the same design flaw, and it remains the highest-recurrence P0 in the fleet.

Action: ship remediation item #2 (treat background sub-agent failures as best-effort/non-fatal) first — it's the cheapest fix and directly kills this exact "all retries exhausted" failure mode.

Other failures this window (Smoke Copilot × 2 distinct causes, Smoke Codex × 1) were each single-occurrence safe-output validation errors, not this cluster — tracked separately as a note on #49583, not ticketed individually (each is P2 in isolation).

Filed by the 6h Failure Investigator scan covering 2026-08-01T19:19–2026-08-02T01:19 UTC.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 142.4 AIC · ⌖ 34 AIC · ⊞ 6.8K ·


Problem

Stop letting a background review sub-agent take down the whole PR Code Quality Reviewer run — bound it or make it non-fatal. The workflow spawns a background task-tool sub-agent (grumpy-coder) to do a parallel/first-pass code review. When that sub-agent misbehaves, the entire run fails — and it misbehaved two different ways in this 6h window:

  1. Sub-agent hangs forever → main session idle-timeout. §30496052606 (22:25 UTC): grumpy-coder was still status: running after being polled at 253s, 431s, 628s, and 751s elapsed (39 tool calls, 0 turns reported by read_agent). The main session eventually hit its own idle timeout: [copilot-sdk-driver] error: Timeout after 870000ms waiting for session.idle, failureClass=sdk_session_idle_timeout, killing the whole job after 14.5 minutes with zero output.
  2. Sub-agent model allocation fails → all 4 harness retries exhausted. §30486275442 (19:52 UTC): every one of 4 fresh-session retry attempts hit [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot immediately after the task tool spawned the background review sub-agent, failureClass=partial_execution each time, exhausting retriesRemaining=0.

This is a confirmed recurrence of the pattern flagged (but not ticketed) in the prior 6h report (#48897), which documented 2 occurrences of the same "No model available" error and explicitly said: "if it recurs next window, file a sub-issue to harden the workflow against background-task failures." It has now recurred 2 more times with 2 distinct failure modes, both traceable to the same design pattern.

Affected Workflows and Runs

  • .github/workflows/pr-code-quality-reviewer.lock.yml
  • §30496052606 — idle-timeout hang (2026-07-29 22:25 UTC)
  • §30486275442 — model-unavailable retry exhaustion (2026-07-29 19:52 UTC)
  • Prior occurrences (documented, not ticketed): §30479767476, §30470606972

Probable Root Cause

The main review agent uses the task tool to launch a background code-review sub-agent for a secondary/critical pass, then polls it with read_agent while continuing (or waiting). Two independent failure surfaces exist because the sub-agent is fully coupled to the parent run's success/fail outcome and to the parent's own session-idle watchdog:

  • No per-sub-agent timeout/deadline is enforced — a stuck sub-agent burns the parent's entire idle budget instead of being cancelled after a bounded wait.
  • No fallback when the sub-agent's model allocation is rejected ("No model available") — the harness retries the entire run from scratch up to 4 times rather than treating the optional sub-agent as skippable.
  • Both failure modes fully fail the run even though, in prior occurrences, the main review had already produced valid output before the sub-agent hiccup.

Proposed Remediation

  1. Enforce an explicit timeout on the background review sub-agent (e.g. cancel/stop_bash-equivalent for task agents) shorter than the parent job's own idle-timeout window, so a hang fails fast and visibly instead of silently consuming the full budget.
  2. Treat the background sub-agent as best-effort: if it errors (model unavailable) or times out, log/report it as a partial-degradation warning and let the main review's own output stand, instead of failing/retrying the whole run.
  3. If retries are kept for the "No model available" case, do not retry via a full fresh session replay (4x cost) — surface the error after 1 retry and fail fast, or skip the sub-agent step entirely on that error class.

Success Criteria

  • A hung or model-unavailable background review sub-agent no longer fails the entire PR Code Quality Reviewer run.
  • Next occurrence of either signature is either (a) absent, or (b) degrades gracefully with the main review output still posted.
  • No sdk_session_idle_timeout or exhausted-retry (partial_execution x4) failures attributable to the background sub-agent pattern in the following 6h window.

Parent: #48897
Related to #48897

Generated by 🔍 [aw] Failure Investigator (6h) · age00 · 161.9 AIC · ⌖ 20.7 AIC · ⊞ 5.2K ·

  • expires on Aug 5, 2026, 5:25 PM UTC-08:00

Recurrence confirmed — 2026-07-30 13:19 UTC failure-investigation pass

This is still happening — prioritize it, it's the highest-volume P0 in today's window.

Run 30531715045 (PR Code Quality Reviewer, 2026-07-30) failed at Execute GitHub Copilot CLI with the same signature this issue was opened for. audit-diff against a same-day Copilot CLI run shows the step made 32 allowed requests to api.githubcopilot.com (0 blocked) but the run recorded zero input/output/cache tokens anywhere — a clean network path with no usable response captured. This rules out auth/rate-limit/firewall as the cause and points at the response-handling/parsing path between the Copilot CLI process and the workflow's usage accounting.

Filed as part of #49095 (2026-07-30 6h report). No new issue opened — just corroborating evidence for this one.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 180.1 AIC · ⌖ 21.7 AIC · ⊞ 6.8K ·



Recurrence confirmed, wider blast radius — 2026-07-30 19:13 UTC failure-investigation pass

Widen this issue's scope now — the "No model available" background-subagent crash has spread past PR Code Quality Reviewer into at least 2 more workflows this window; treat it as a fleet-wide task-tool risk, not a single-workflow bug.

Run §30567931948 (Linter Miner, 2026-07-30 17:52 UTC) hit the identical signature from agent-stdio.log:

[copilot-sdk-driver] [sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot
[copilot-harness] attempt 2 failed: exitCode=1 failureClass=permission_denied ... permissionDeniedCount=4 hasNumerousPermissionDenied=true
[copilot-harness] attempt 2: AI credits budget exceeded — not retrying (non-retryable guard condition)

The failure fired the moment the main agent's task tool spawned a background general-purpose sub-agent (linter-writer) — same shape as this issue's original two runs. audit cohort-comparison flags this run risky: turns dropped 3→0 and posture flipped write_capableread_only vs. its own successful baseline (§30476970759).

Three more agent-job failures landed in the same 6h window with the same top-level Execute GitHub Copilot CLI step signature but unconfirmed root cause (no local log fetched — audit budget for this pass was capped at 2 calls, spent on Linter Miner + a separate cluster):

  • Breaking Change Checker — §30557179518 (does not use the task sub-agent pattern per its workflow source — if this is the same "No model available" error, it means the fault also hits the main session directly, not just background sub-agents)
  • Daily Agent of the Day Blog Writer — §30554082997 (this one does dispatch sub-agents per its workflow source — likely same pattern)
  • CI Optimization Coach — §30548066957 (no task sub-agent usage detected — same open question as Breaking Change Checker)

Action: pull agent-stdio.log for those 3 runs to confirm/rule out the same signature. If Breaking Change Checker or CI Optimization Coach show "No model available" without a task-tool sub-agent in the call chain, remediation item #2 in this issue (treat sub-agent as best-effort) won't fully cover it — the model-allocation failure needs a fix at the harness/engine level, not just at the sub-agent-supervision level.

No new issue filed — this is the same tracked signature, now with a larger blast radius.

Generated by [aw] Failure Investigator (6h) · run https://github.com/github/gh-aw/actions/runs/30573634803

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 101.2 AIC · ⌖ 25.9 AIC · ⊞ 5.3K ·


Recurrence confirmed, signature spreads further — 2026-07-31 pass

Stop treating this as a single-workflow issue — 2 more workflows hit the exact same "No model available" signature this window; the open question from the 2026-07-30 update is now resolved.

  • Linter Miner — §30653018084: [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot immediately after the task tool spawn, both attempts exhausted, ending "AI credits budget exceeded — not retrying."
  • Daily Agent of the Day Blog Writer — §30641133423: identical signature on attempts 3 and 4, ending failureClass=authentication_failed.
  • PR Code Quality Reviewer — §30647761131: same signature reconfirmed on attempt 1, ending "AI credits budget exceeded — not retrying."

This directly answers the 2026-07-30 update's open question: Daily Agent of the Day Blog Writer does share this signature. By contrast, CI Optimization Coach's failure this window is NOT part of this cluster — its root cause is an unrelated prompt.txt ENOENT precondition failure with no connection to model allocation or the task tool; tracked separately as a new sub-issue of #49245.

No new issue filed — same tracked signature, still open, confirmed recurring on 2 more workflows in a single window.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 249.9 AIC · ⌖ 19.3 AIC · ⊞ 6.8K ·


Fix the PR Code Quality Reviewer background sub-agent hang — it recurred twice more in the last 6h, still hitting the exact 15-min action-timeout symptom this issue documents.

New occurrences (2026-08-01):

Run Time (UTC) Failed step Signal
§30687802684 06:28 Execute GitHub Copilot CLI Explicit: ##[error]The action 'Execute GitHub Copilot CLI' has timed out after 15 minutes. — matches the idle-timeout hang symptom (internal watchdog fires ~14.5min, outer Action-level 15min kill follows) described above.
§30683628677 04:16 Execute GitHub Copilot CLI Same workflow/step failure; captured log tail is cleanup-only (truncated before the root-cause line), consistent with — not conclusively distinct from — the same hang pattern.

Why this matters now: this is at least the 5th–6th occurrence of the same design flaw (unbounded background task-tool sub-agent coupled to the parent session's idle watchdog and the job's hard 15-minute step timeout). The fix proposed in this issue (bound the sub-agent with its own timeout/deadline, make it non-fatal, or remove the hard coupling to the parent's idle budget) has not shipped yet and failures continue at the same rate.

Action: prioritize this fix — it is the single highest-frequency agentic-workflow failure in the current 6h window and continues to burn full 15-minute job budgets with zero usable output.

Filed by the 6h Failure Investigator scan covering 2026-08-01T01:38–07:38 UTC. Other failures in this window (Daily Container Image Security Scan gate finding a real CVE, isolated Claude/Copilot CLI failures in ESLint Refiner and Go Logger Enhancement with inconclusive truncated logs) were each single-occurrence/P2 and did not warrant new tracking.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 71.3 AIC · ⌖ 24.2 AIC · ⊞ 5.3K ·


Fix the background-subagent "No model available" crash now — it hit PR Code Quality Reviewer twice more this window with zero mitigation in place.

New occurrences (2026-08-01 evening):

Run Time (UTC) Failed step Signal
§30722461036 23:00 Execute GitHub Copilot CLI Confirmed via agent-stdio.log: task-tool spawns a general-purpose background sub-agent → [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilotattempt 4 failed: exitCode=1 failureClass=partial_executionall 3 retries exhausted — giving up. Exact signature this issue tracks.
§30715022302 19:33 Execute GitHub Copilot CLI Same workflow/step/exit-code-1 pattern as the confirmed run above; not separately audited to conserve budget, presumed same cluster given identical failure surface within the same 4h span.

Why this matters now: the remediation this issue proposes (bound the sub-agent, treat model-unavailable as non-fatal, stop full-session retries) still hasn't shipped — this is at least the 7th–8th occurrence of the same design flaw, and it remains the highest-recurrence P0 in the fleet.

Action: ship remediation item #2 (treat background sub-agent failures as best-effort/non-fatal) first — it's the cheapest fix and directly kills this exact "all retries exhausted" failure mode.

Other failures this window (Smoke Copilot × 2 distinct causes, Smoke Codex × 1) were each single-occurrence safe-output validation errors, not this cluster — tracked separately as a note on #49583, not ticketed individually (each is P2 in isolation).

Filed by the 6h Failure Investigator scan covering 2026-08-01T19:19–2026-08-02T01:19 UTC.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 142.4 AIC · ⌖ 34 AIC · ⊞ 6.8K ·


Fix the "No model available" background sub-agent crash now — 3 more occurrences tonight, still the dominant PR Code Quality Reviewer failure mode.

New occurrences (2026-08-02 22:47–23:15 UTC), all with all 4 harness retries exhausted:

Run Time (UTC) PR Signal
§30770891017 22:47 #49864 task spawns grumpy-coder[copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot on attempts 1–4, failureClass=partial_execution every time, retriesRemaining=0.
§30770949091 22:49 #49863 Identical signature, attempts 1–4 all partial_execution on the same "No model available" error, retriesRemaining=0.
§30771862234 23:15 #49866 Identical signature across 3 distinct grumpy-coder/grumpy-coder-1/grumpy-coder-2 background sub-agent spawn attempts, then a 4th top-level attempt, all partial_execution, ending all 3 retries exhausted — giving up (exitCode=1).

Confirmed directly from raw agent-stdio.log for all three (not inferred from truncated tails) — this is the exact "Sub-agent model allocation fails → all 4 harness retries exhausted" failure mode this issue was opened for, unchanged since.

Why this matters now: the proposed remediation (treat the background task-tool sub-agent as best-effort/non-fatal instead of failing/retrying the whole run) still hasn't shipped. This is now well past a dozen confirmed occurrences across multiple 6h windows, and tonight alone it cost 3 full PR Code Quality Reviewer runs (12+ wasted harness retry attempts) with zero review output delivered on any of the 3 PRs.

Action: ship remediation item #2 from this issue first (best-effort/non-fatal sub-agent) — it directly eliminates this exact "all retries exhausted" failure mode regardless of why Copilot's model allocation is failing.

No new issue filed — same tracked signature.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 227.4 AIC · ⌖ 47.2 AIC · ⊞ 5.3K ·


New occurrences — 2026-08-03 (6h window): "No model available" is now the dominant failure mode

Reprioritize this issue around the No model available error — it just recurred 3 more times in one 6h window, all identical. Three PR Code Quality Reviewer runs failed, every one hitting the exact same root cause already documented as failure mode #2:

[copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot
  • §30815490092 (13:06–13:21 UTC) — ran 14m47s, all 4 harness retries exhausted, then hit the 15-minute step timeout on top (##[error]The action 'Execute GitHub Copilot CLI' has timed out after 15 minutes.)
  • §30815302550 (12:54–12:57 UTC) — 2m35s, all 4 retries exhausted, failureClass=partial_execution
  • §30815062993 (12:52–12:54 UTC) — 2m10s, all 4 retries exhausted, failureClass=partial_execution, same error immediately after subagent.started (general-purpose background sub-agent)

Why this matters

This brings total confirmed occurrences to 5 (2 prior + 3 new) — all traceable to the same task-tool background sub-agent spawn triggering a Copilot model-allocation failure. The other documented failure mode (idle-timeout hang) has not recurred since. The model-unavailable error is the one actually burning CI time repeatedly, and in run 30815490092 it compounded into a 15-minute timeout.

Recommendation

Prioritize hardening specifically around No model available: detect this error class distinctly (it already fails fast, ~20-40s per attempt) and either (a) back off longer / retry against a different model before burning all 4 attempts within ~2 minutes, or (b) make the background sub-agent spawn non-fatal to the main review so a Copilot policy hiccup doesn't fail the whole run.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 78.2 AIC · ⌖ 42.4 AIC · ⊞ 6.8K ·


Update — 2026-08-03 6h window: scope is broader than PR Code Quality Reviewer

Broaden this ticket — the No model available Task-tool sub-agent failure hit 2 more unrelated workflows in the last 6 hours, not just PR Code Quality Reviewer. Same root cause, same fix applies everywhere the task tool spawns a background sub-agent.

New occurrences (2026-08-03):

  • Linter Miner run 30839283638 (18:00 UTC) — general-purpose sub-agent hit Error: No model available. Check policy enablement under GitHub Settings > Copilot immediately on spawn; all 4 harness retries exhausted the same way (13m53s total, zero output).
  • Daily Agent of the Day Blog Writer run 30826409804 (15:12 UTC) — identical error on attempt 1; attempt 2 then hit failureClass=permission_denied (6 permission-denied bash calls, including a gh api search/issues call that returned a malformed malformed version: EXIT:1 response) before giving up.
  • Combined with the already-tracked PR Code Quality Reviewer run 30817695295 (13:23 UTC) recurrence in this same window, that is 3 of 8 failed runs (37.5%) in one 6h window sharing this exact signature across 3 unrelated workflows.

Why this matters: this is not a per-workflow prompt-design problem — it is a shared Copilot Task-tool/model-allocation defect that any workflow using background sub-agents will hit. Recommend retitling this issue to a cross-workflow hardening effort (e.g. "Harden Task-tool sub-agent spawning against model-allocation failures (cross-workflow)") and fixing it once in the shared harness/wrapper rather than per-workflow.

Filed by the 6h Failure Investigator — see the 2026-08-03 Failure Investigator Report for full cluster analysis.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 224.7 AIC · ⌖ 41.3 AIC · ⊞ 6.8K ·


New recurrence — 2026-08-04 investigator pass

Confirm and bump priority — this failure mode just recurred again, unfixed.

  • Run: §30876479583 (PR Code Quality Reviewer, failed step: Execute GitHub Copilot CLI, 2026-08-04T04:02:45Z)
  • Match: exact repeat of the diagnosed cause — background task-tool sub-agent (grumpy-coder) hit No model available. Check policy enablement under GitHub Settings > Copilot on all 4 harness retry attempts (failureClass=partial_execution each time), exhausting retriesRemaining=0 and failing the whole run with a bare Process completed with exit code 1.
  • Evidence: agenticworkflows audit on run 30876479583, agent-stdio.log lines 158-267.

Fix the sub-agent model-allocation retry path before the next recurrence. Bounding/retry-hardening the task tool's background sub-agent model allocation (or making its failure non-fatal to the parent run) remains the correct fix already proposed on this issue.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 191.6 AIC · ⌖ 37.4 AIC · ⊞ 5.5K ·



Recurrence confirmed — 2026-08-04 (11:57 UTC)

Same exact signature, still not fixed. Run §30906965561, job 91984678227, PR Code Quality Reviewer:

[copilot-sdk-driver] [sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot
[copilot-harness] attempt 1 failed: exitCode=1 failureClass=partial_execution ... tokenCount=0 attemptDurationMs=35245 retriesRemaining=3

A second background sub-agent spawn (grumpy-coder-1) in the same run hit the identical No model available error again later in the log. Full 4-retry budget burned, same as every prior recurrence on this issue. No fix has shipped yet — the three remediation items in this issue's original body (explicit sub-agent timeout, best-effort/partial-degradation handling, fail-fast instead of 4x full-session replay) remain unimplemented and now overdue.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 232.9 AIC · ⌖ 42.2 AIC · ⊞ 5.2K ·



Update — 2026-08-04 (6h investigator)

Scope was wrong — this is not a PR Code Quality Reviewer bug, it's a fleet-wide Copilot CLI subagent bug. Retitle and prioritize accordingly.

The identical [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot — thrown the instant the task tool spawns any background subagent — hit two more workflows in this window, unrelated to grumpy-coder:

Fix the model-allocation path for nested/background Copilot CLI sessions, not the calling workflow. Three unrelated workflows, three unrelated subagent prompts, identical harness-level error — the common factor is the task tool's session bootstrap, not any single workflow's prompt design. Bounding/making sub-agents non-fatal (the original ask here) is still worth doing as a mitigation, but it won't fix the underlying "No model available" failure, which will keep recurring across every workflow that uses background subagents until the SDK-level model allocation is fixed.

Verification: re-run each of the three linked workflows after the fix and confirm the task tool successfully allocates a model for the spawned subagent (no No model available in [copilot-sdk-driver] logs), and that a genuinely misbehaving subagent no longer takes down the parent run (original ask).

Linking #50352 and #50292 as sub-issues for tracking the additional occurrences.

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 125 AIC · ⌖ 34.9 AIC · ⊞ 5.2K ·


Warning

Threat Detection Engine Failure — The analysis engine could not complete. This is a tooling failure, not a security finding.

What happened

The threat detection engine failed to produce results.

Review the workflow run logs for details.

Reopen this now — it recurred 6 more times within hours of being closed "not planned"

Don't leave this closed — the "No model available" Copilot signature just hit 6 more runs across 3 workflows in the very next 6h window (2026-08-06 04:11–06:02 UTC), roughly 50% of all gh-aw failures in that window.

Run Workflow Time (UTC) Signature
§31075980405 PR Code Quality Reviewer 06:02 Confirmed from agent-stdio.log: [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot — all 4 harness retry attempts exhausted, failureClass=partial_execution, retriesRemaining=0
§31075406960 PR Code Quality Reviewer 05:51 Presumed same (same workflow, same failed step Execute GitHub Copilot CLI; not individually log-fetched this pass)
§31074728575 PR Code Quality Reviewer 05:38 Presumed same
§31070819933 PR Code Quality Reviewer 04:16 Presumed same
§31070779226 Code Simplifier 04:16 Presumed same — Copilot engine, failed within the same 5-minute cluster as the run above
§31070577803 GPL Dependency Cleaner (gpclean) 04:11 Presumed same — Copilot engine, same cluster

Blast radius widened from 1 workflow to 3. This issue's own title called it "fleet-wide" — that framing was right; closing it as workflow-specific "not planned" undercounted the risk.

Action

  1. Reopen and re-prioritize as P0 — this is a recurring, multi-workflow outage-class failure, not an isolated flake.
  2. Ship remediation Add workflow: githubnext/agentics/weekly-research #2 from the original report: treat the failed model allocation as non-fatal/best-effort instead of burning 4 full-session retries per run — that's ~4x wasted compute on every occurrence.
  3. If root cause is upstream GitHub Copilot capacity/policy and outside gh-aw's control, say so explicitly and link the upstream ticket — but don't silently close a confirmed-recurring fleet-wide failure with no linked resolution.

Related: #48897 (grandparent), #50734 (this window's failure report, 2026-08-06 07:41 UTC pass)> Generated by 🔍 [aw] Failure Investigator (6h) · agent · 148.1 AIC · ⊞ 5.2K ·



Update — 2026-08-07 01:42 UTC pass: reopen — closing this "not planned" didn't stop it

Reopening immediately. This was closed not_planned on 2026-08-06 09:31 UTC and refired at least 3 more times in the following ~14 hours, all in PR Code Quality Reviewer. Closing it did not change the failure rate — it just removed the tracking.

New evidence this window (2026-08-06 19:42–2026-08-07 01:42 UTC)

  • §31134098453 — all 4 general-purpose sub-agent launch attempts failed identically: [copilot-sdk-driver] error: Execution failed: Error: No model available. Check policy enablement under GitHub Settings > Copilot. failureClass=partial_execution on every attempt, retries exhausted 3→2→1→0, job exit 1.
  • §31131741357 — same signature, same sub-agent name (general-purpose), same exhaustion pattern.
  • §31131713448 — same signature (8 matching log lines = 4 attempts × 2 emit points).

Fix roadmap unchanged from the last reopen: treat Copilot sub-agent model-allocation failure as non-fatal / best-effort instead of burning all 4 retries on an identical error, since retrying the exact same allocation call never recovers within a single job.

Recommend not closing this again without a code change landing — 4 consecutive 6h windows now have a recurrence, and 2 of those windows include a close-then-refire cycle.> Generated by 🔍 [aw] Failure Investigator (6h) · agent · 214.9 AIC · ⊞ 5.5K ·

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions