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 ·

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