Description
Summary
When using the GitHub Copilot provider, models configured for subagents (mode: "subagent") are not being respected. Even though OpenCode internally shows usage of the correct models for subagents, all Premium Requests in GitHub Copilot billing are attributed exclusively to the primary/orchestrator model (Claude Opus 4.6).
GitHub Copilot Billing Summary (March 2026)
Total Premium Requests: 300
Claude Opus 4.6: 228 (Mar 26) + 72 (Mar 27) = 300 requests
Claude Sonnet 4.6: 0 requests
GPT-5.4: 0 requests
Gemini 3.1 Pro: 0 requests
All 300 Premium Requests were billed exclusively to Claude Opus 4.6, despite explicitly configuring multiple subagents with cheaper models (Sonnet, Gemini, GPT-5.4).
Notable observation:
In the CSV export from GitHub, models that were supposedly used (Claude Sonnet 4.6, GPT-5.4, Gemini 3.1 Pro) appear in the report but with 0 requests. Other models that were never used during the period do not appear at all. This suggests that GitHub is aware of the configured models, but is still routing and billing all activity through the orchestrator’s model (Opus).
→ Total: 300 Premium Requests, all charged to Claude Opus 4.6. Other models show 0.
Evidence from OpenCode
Output from opencode stats --models (github-copilot models only):
github-copilot/claude-sonnet-4.6
Messages: 845
Input Tokens: 2.7M
Output Tokens: 487.4K
github-copilot/claude-opus-4.6
Messages: 491
Input Tokens: 4.3M
Output Tokens: 301.6K
github-copilot/gemini-3.1-pro-preview
Messages: 33
...
github-copilot/gpt-5.4
Messages: 19
...
Configuration (opencode.json)
Relevant agents configuration:
"gentleman" → mode: "primary", model: "github-copilot/claude-opus-4.6"
"sdd-orchestrator" → mode: "primary", model: "github-copilot/claude-opus-4.6"
"sdd-apply" → mode: "subagent", model: "github-copilot/claude-sonnet-4.6"
"sdd-archive" → mode: "subagent", model: "github-copilot/claude-sonnet-4.6"
"sdd-design" → mode: "subagent", model: "github-copilot/claude-opus-4.6"
"sdd-explore" → mode: "subagent", model: "github-copilot/claude-sonnet-4.6"
"sdd-init" → mode: "subagent", model: "github-copilot/claude-sonnet-4.6"
"sdd-propose" → mode: "subagent", model: "github-copilot/gemini-3.1-pro-preview"
"sdd-spec" → mode: "subagent", model: "github-copilot/gemini-3.1-pro-preview"
"sdd-tasks" → mode: "subagent", model: "github-copilot/gpt-5.4"
"sdd-verify" → mode: "subagent", model: "github-copilot/gpt-5.4"
Additional observation
When I inspected subagents inside OpenCode, it appeared that the correct model was being selected for each subagent. However, in the final GitHub Copilot billing, everything was still charged under the orchestrator model (Claude Opus 4.6).
Expected behavior
Subagents should execute using their explicitly configured model, and Premium Requests should be billed according to the actual model used in each call (or at least not force everything to the primary agent’s model).
This issue causes significant over-consumption of the most expensive model (Opus) even when cheaper models are explicitly assigned to subagents.
OpenCode version: 1.3.13
Plugins
opencode-copilot-auth (the official bridge between OpenCode and GitHub Copilot)
OpenCode version
1.3.13
Steps to reproduce
- Configure multiple subagents with different
github-copilot/* models.
- Run complex workflows using the orchestrator that heavily delegate to subagents.
- Compare
opencode stats --models with the downloaded GitHub Copilot usage CSV.
Screenshot and/or share link
No response
Operating System
Ubuntu 24.04.1
Terminal
wsl in windows terminal
Description
Summary
When using the GitHub Copilot provider, models configured for subagents (
mode: "subagent") are not being respected. Even though OpenCode internally shows usage of the correct models for subagents, all Premium Requests in GitHub Copilot billing are attributed exclusively to the primary/orchestrator model (Claude Opus 4.6).GitHub Copilot Billing Summary (March 2026)
Total Premium Requests: 300
Claude Opus 4.6: 228 (Mar 26) + 72 (Mar 27) = 300 requests
Claude Sonnet 4.6: 0 requests
GPT-5.4: 0 requests
Gemini 3.1 Pro: 0 requests
All 300 Premium Requests were billed exclusively to Claude Opus 4.6, despite explicitly configuring multiple subagents with cheaper models (Sonnet, Gemini, GPT-5.4).
Notable observation:
In the CSV export from GitHub, models that were supposedly used (Claude Sonnet 4.6, GPT-5.4, Gemini 3.1 Pro) appear in the report but with 0 requests. Other models that were never used during the period do not appear at all. This suggests that GitHub is aware of the configured models, but is still routing and billing all activity through the orchestrator’s model (Opus).
→ Total: 300 Premium Requests, all charged to Claude Opus 4.6. Other models show 0.
Evidence from OpenCode
Output from
opencode stats --models(github-copilot models only):Configuration (
opencode.json)Relevant agents configuration:
"gentleman"→mode: "primary",model: "github-copilot/claude-opus-4.6""sdd-orchestrator"→mode: "primary",model: "github-copilot/claude-opus-4.6""sdd-apply"→mode: "subagent",model: "github-copilot/claude-sonnet-4.6""sdd-archive"→mode: "subagent",model: "github-copilot/claude-sonnet-4.6""sdd-design"→mode: "subagent",model: "github-copilot/claude-opus-4.6""sdd-explore"→mode: "subagent",model: "github-copilot/claude-sonnet-4.6""sdd-init"→mode: "subagent",model: "github-copilot/claude-sonnet-4.6""sdd-propose"→mode: "subagent",model: "github-copilot/gemini-3.1-pro-preview""sdd-spec"→mode: "subagent",model: "github-copilot/gemini-3.1-pro-preview""sdd-tasks"→mode: "subagent",model: "github-copilot/gpt-5.4""sdd-verify"→mode: "subagent",model: "github-copilot/gpt-5.4"Additional observation
When I inspected subagents inside OpenCode, it appeared that the correct model was being selected for each subagent. However, in the final GitHub Copilot billing, everything was still charged under the orchestrator model (Claude Opus 4.6).
Expected behavior
Subagents should execute using their explicitly configured model, and Premium Requests should be billed according to the actual model used in each call (or at least not force everything to the primary agent’s model).
This issue causes significant over-consumption of the most expensive model (Opus) even when cheaper models are explicitly assigned to subagents.
OpenCode version: 1.3.13
Plugins
opencode-copilot-auth (the official bridge between OpenCode and GitHub Copilot)
OpenCode version
1.3.13
Steps to reproduce
github-copilot/*models.opencode stats --modelswith the downloaded GitHub Copilot usage CSV.Screenshot and/or share link
No response
Operating System
Ubuntu 24.04.1
Terminal
wsl in windows terminal