Skip to content

[aw-failures] [aw-fix] P1: Smoke Copilot Sub Agents — subagents pinned to claude-haiku-4.5 hard-fail with CAPI 400 (model does not support R [Content truncated due to length] #46326

Description

@github-actions

Fix the sub-agent model config: claude-haiku-4.5 is being routed through the Copilot Responses API, which rejects it — repoint sub-agents to a Responses-API-capable model (or force the sub-agent driver onto the chat/completions path). This has kept Smoke Copilot Sub Agents red every day for 8+ consecutive runs.

Parent: #46170

Problem statement

Every sub-agent spawned by Smoke Copilot Sub Agents dies with a deterministic CAPI 400. The Copilot SDK driver issues the sub-agent request against the Responses API, but the sub-agent model claude-haiku-4.5 is not served there:

[copilot-sdk-driver] [sdk-driver] error: Execution failed: CAPIError: 400 model claude-haiku-4.5 does not support Responses API.
{"type":"subagent.failed","data":{"agentName":"task","error":"No response generated"}}

Both the task (Task Agent) and general-purpose (General Purpose Agent) sub-agents fail identically. The harness classifies it failureClass=capi_error_400 isCAPIError400=true and retries, but all 4 attempts fail the same way (retriesRemaining=0), so the Execute GitHub Copilot CLI step exits 1 (##[error]Process completed with exit code 1). The parent agent reaches execution and makes Copilot API calls first — this is not the EACCES sandbox crash tracked in the parent — the sandbox is healthy; only sub-agent invocation is broken.

Affected workflows & run IDs

  • Smoke Copilot Sub Agents (.github/workflows/smoke-copilot-sub-agents.lock.yml)
    • Representative failed run: §29608054426 (2026-07-17T19:34Z)
    • No successful comparator exists — the workflow has failed on main every day for 8 consecutive runs: 29528603365 (07-16), 29445163883 (07-15), 29362694619 (07-14), 29279434977 (07-13), 29206052899 (07-12), 29165520808 (07-11). Same deterministic signature.

Probable root cause

The sub-agent invocation path (Task / General Purpose agents) in the Copilot SDK driver is hardcoded/defaulting to claude-haiku-4.5 and to the Responses API endpoint. claude-haiku-4.5 is only available on the chat/completions path, so every sub-agent request 400s. Because this is a config/routing mismatch, not a transient fault, retries cannot recover it.

Proposed remediation

  1. Repoint the sub-agent model to a Responses-API-capable model, or route sub-agent requests for claude-haiku-* through the chat/completions API instead of the Responses API.
  2. Add a compile/startup validation that rejects a (model, API-surface) pairing the proxy cannot serve — surface it as a config error before the run rather than as 4 wasted retries.
  3. Classify capi_error_400 model-incompatibility as non-retriable (like isInvalidModelError) so it fails fast instead of burning 4 attempts.

Success criteria / verification

Generated by 🔍 [aw] Failure Investigator (6h) · 168.2 AIC · ⌖ 33.3 AIC · ⊞ 6.2K ·

  • expires on Jul 24, 2026, 5:27 PM UTC-08:00

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions