Skip to content

Question: Model selection for inline subagents when using copilot engine #40762

Description

@ryckmansm

Hi team,

I’m trying to better understand how model selection works for inline subagents when using the copilot engine in gh-aw.

Context

From my understanding, workflows can define a model (or use a default), and (inline) subagents can also define a model to use.
This is also mentioned in the documentation: https://github.github.com/gh-aw/reference/inline-sub-agents/

My observation

Based on what I observe, it seems that:

Inline subagents always use the model defined at the workflow level, regardless of any intended variation at the subagent level. I only use copilot as engine, so I don't know if the observation holds for other engines.

In other words, I don’t see evidence that subagents are actually switching models.

What I’m trying to validate

Could you confirm whether this observation is correct?

  • Is this expected behavior?
  • If not, could this indicate a bug?
  • Or is my understanding of how model selection works flawed?

Observation from gh-aw itself

I tried to validate this using the existing “large vs small model” experiment in the repo, but I don’t see any difference in the logs that would indicate model switching at the subagent level:

Despite the different configurations, the logs look effectively identical from a model usage perspective (at least based on what is exposed).

Key question

Where can I explicitly verify which model is being used by inline subagents?

  • Is there a way to surface this in logs?
  • Is there a debug flag or telemetry that shows per-agent model usage?
  • Or is the model resolved strictly at the workflow level and not per subagent?

Why this matters

I’m exploring scenarios where different subagents would use different model sizes (e.g., cost vs. reasoning trade-offs). Understanding how model resolution actually works is important for designing these workflows correctly.


Thanks in advance for clarifying — and for pointing me to the relevant code or documentation if I’ve misunderstood the behavior.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    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