-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
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.mdwith the following frontmatter:
---
name: MyAgent
description: An agent with multiple model options
model: [GPT-5.4 (copilot), Claude Sonnet 4.6 (copilot)]
---- Run any
copilotCLI command that triggers agent loading (e.g.gh copilot suggestor 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