Bug: Sub-agent model: frontmatter is ignored — sub-agent always runs on parent model
Summary
When a workflow defines an inline sub-agent with a model: override, the Copilot CLI ignores it at runtime. The sub-agent runs on the parent session model instead of its own configured model.
Environment
- gh-aw CLI version: v0.79.8
- Copilot CLI version: 1.0.60
- AWF firewall version: v0.27.2
- Engine:
copilot
Test workflow
---
name: "Agentic Workflow Test"
engine:
id: copilot
model: claude-sonnet-4.6
on:
workflow_dispatch:
---
This is a test workflow. Invoke the `test-sub-agent` sub-agent and call `noop` with the message from the sub-agent output.
## agent: `test-sub-agent`
---
model: claude-haiku-4.5
description: Tests a sub-agent that is called from a parent agent, it doesn't do anything useful, just returns a string to the parent agent.
---
This is a test workflow. Output "Hello from the sub-agent!".
Expected behaviour
The sub-agent (test-sub-agent) runs using claude-haiku-4.5 as specified in its frontmatter.
Actual behaviour
The sub-agent runs on claude-sonnet-4.6 — the parent session model — ignoring the model: field entirely.
Agent terminal output (from workflow-logs/2_agent.txt)
● Test-sub-agent(claude-sonnet-4.6) Invoking test sub-agent
└ ● Test-sub-agent(claude-sonnet-4.6) Running test sub-agent
└ Hello from the sub-agent!
The sub-agent display name shows claude-sonnet-4.6, not claude-haiku-4.5.
API proxy token usage (from sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl)
All 7 completions used claude-sonnet-4.6. Zero calls to any haiku-class model:
| # |
model |
input_tokens |
output_tokens |
AIC |
| 1 |
claude-sonnet-4.6 |
22 926 |
248 |
7.25 |
| 2 |
claude-sonnet-4.6 |
19 157 |
221 |
6.08 |
| 3 |
claude-sonnet-4.6 |
19 165 |
97 |
0.81 |
| 4 |
claude-sonnet-4.6 |
19 276 |
10 |
0.71 |
| 5 |
claude-sonnet-4.6 |
19 447 |
12 |
0.77 |
| 6 |
claude-sonnet-4.6 |
23 245 |
85 |
1.41 |
| 7 |
claude-sonnet-4.6 |
23 347 |
33 |
0.78 |
Total AIC: 17.81. Sub-agent turns (roughly calls 4–6) should have appeared as claude-haiku-4.5 with significantly lower AIC if the model override had been respected.
Bug: Sub-agent
model:frontmatter is ignored — sub-agent always runs on parent modelSummary
When a workflow defines an inline sub-agent with a
model:override, the Copilot CLI ignores it at runtime. The sub-agent runs on the parent session model instead of its own configured model.Environment
copilotTest workflow
Expected behaviour
The sub-agent (
test-sub-agent) runs usingclaude-haiku-4.5as specified in its frontmatter.Actual behaviour
The sub-agent runs on
claude-sonnet-4.6— the parent session model — ignoring themodel:field entirely.Agent terminal output (from
workflow-logs/2_agent.txt)The sub-agent display name shows
claude-sonnet-4.6, notclaude-haiku-4.5.API proxy token usage (from
sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl)All 7 completions used
claude-sonnet-4.6. Zero calls to any haiku-class model:Total AIC: 17.81. Sub-agent turns (roughly calls 4–6) should have appeared as
claude-haiku-4.5with significantly lower AIC if the model override had been respected.