-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Describe the feature or problem you'd like to solve
Copilot CLI lacks configurable model routing, per-subagent model selection (agent.md model field is ignored in CLI, see #980), and global hooks (~/.copilot/hooks/) support.
Proposed solution
- Configurable Model Routing
Add a model routing configuration (e.g., in ~/.copilot/config or a dedicated ~/.copilot/model-routing.json) that allows users to define rules for automatic model selection:
{
"routing": {
"default": "claude-sonnet-4.5",
"rules": [
{
"when": { "agent": "explore" },
"model": "gpt-5-mini"
},
{
"when": { "agent": "task" },
"model": "gpt-5-mini"
},
{
"when": { "agent": "code-review" },
"model": "claude-opus-4.5"
},
{
"when": { "context": "planning" },
"model": "claude-opus-4.5"
}
]
}
}This is similar to how tools like oh-my-opencode and oh-my-claude-code provide model routing for other CLI agents. Users could optimize for cost, speed, and capability per task.
- Respect model field in subagents
Honor the model frontmatter in custom agent definitions when running as subagents in the CLI, just as VS Code already does:
---
name: quick-test
description: Run tests quickly with a fast model
model: gpt-5-mini
tools: ['execute']
---Run the test suite and report results concisely.
When the main agent delegates to quick-test, the CLI should switch to gpt-5-mini for that subagent's execution context, then return to the parent model afterward. This enables cost-effective multi-agent orchestration.
- Global Hooks
Support loading hooks from a global directory (~/.copilot/hooks/) in addition to the per-repository .github/hooks/. Global hooks should execute alongside (not replace) repository-level hooks, with a defined execution order (global first, then repo-local).
This enables:
Organization-wide security scanning before tool execution
Consistent audit logging across all projects
Shared pre/post-commit validation rules
Custom notification workflows
Example prompts or workflows
No response
Additional context
No response