Describe the bug
When a custom agent .agent.md file uses an array for the model frontmatter field (as supported by VS Code Copilot Chat), the GitHub Copilot CLI refuses to load the agent and throws a parse error.
Error message from Copilot CLI:
The following agents failed to load:
.github/agents/Coordinator.agent.md: custom agent markdown frontmatter is malformed: model: Expected string, received array
Agent frontmatter that triggers the error:
---
name: Coordinator
description: Pure managerial agent that orchestrates implementation by delegating all technical work to specialized subagents.
argument-hint: Coordinate a plan, phase, feature, or code change
tools: [vscode, execute, read, agent, search, web, todo]
model: [GPT-5.4 (copilot), Claude Sonnet 4.6 (copilot)]
---
The model field being an array is intentional — it allows the agent to declare multiple model fallbacks or alternatives. VS Code Copilot Chat loads and uses this agent correctly. However, the Copilot CLI strictly expects model to be a string, causing a schema validation failure and preventing the agent from loading entirely.
Affected version
No response
Steps to reproduce the behavior
- Create a custom agent file at
.github/agents/MyAgent.agent.md with the following frontmatter:
---
name: MyAgent
description: An agent with multiple model options
model: [GPT-5.4 (copilot), Claude Sonnet 4.6 (copilot)]
---
- Run any
copilot CLI command that triggers agent loading (e.g. gh copilot suggest or open a session that scans .github/agents/)
- Observe the error output on checking /agent
Expected behavior
The Copilot CLI should accept the model field as either a string or an array of strings, consistent with how VS Code Copilot Chat parses the same .agent.md frontmatter. When an array is provided, the CLI could use the first entry as the primary model, or support model fallback/selection semantics.
At minimum, the schema validation for model should align between Copilot CLI and VS Code Copilot Chat to avoid agents that work in one environment failing to load in the other.
Additional context
No response
Describe the bug
When a custom agent
.agent.mdfile uses an array for themodelfrontmatter field (as supported by VS Code Copilot Chat), the GitHub Copilot CLI refuses to load the agent and throws a parse error.Error message from Copilot CLI:
Agent frontmatter that triggers the error:
The
modelfield being an array is intentional — it allows the agent to declare multiple model fallbacks or alternatives. VS Code Copilot Chat loads and uses this agent correctly. However, the Copilot CLI strictly expectsmodelto be a string, causing a schema validation failure and preventing the agent from loading entirely.Affected version
No response
Steps to reproduce the behavior
.github/agents/MyAgent.agent.mdwith the following frontmatter:copilotCLI command that triggers agent loading (e.g.gh copilot suggestor open a session that scans.github/agents/)Expected behavior
The Copilot CLI should accept the
modelfield as either a string or an array of strings, consistent with how VS Code Copilot Chat parses the same.agent.mdfrontmatter. When an array is provided, the CLI could use the first entry as the primary model, or support model fallback/selection semantics.At minimum, the schema validation for
modelshould align between Copilot CLI and VS Code Copilot Chat to avoid agents that work in one environment failing to load in the other.Additional context
No response