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

Activity

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

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions