model_selection
Whether per-agent model overrides are supported, allowing different agents to use different AI models.
Type: bool Content type: agents
Provider Support
Section titled “Provider Support”| Provider | Supported | Mechanism |
|---|---|---|
| claude-code | ✓ | model frontmatter field accepts sonnet/opus/haiku alias, full model ID (e.g. claude-opus-4-7), or inherit (default); resolution order: CLAUDE_CODE_SUBAGENT_MODEL env var > per-invocation model param > frontmatter model > main conversation model |
| codex | ✓ | role config_file can override model and model_reasoning_effort; caller's current profile and model_provider preserved unless explicitly overridden |
| copilot-cli | ✓ | model field in frontmatter overrides default model for that agent |
| cursor | ✓ | model frontmatter field selects a specific model for the agent, overriding the session default. |
| factory-droid | ✓ | model field accepts inherit (use parent session model) or a specific model identifier; custom BYOK models use custom: prefix; reasoningEffort (low/medium/high) is an additional per-droid field ignored when model is inherit |
| gemini-cli | ✓ | model frontmatter field (string); accepts a specific model id (e.g., 'gemini-3-preview') or 'inherit' (default) which uses the parent session's model. Optional 'temperature' field (0.0-2.0, default 1) sets per-subagent sampling temperature. |
| kiro | ✓ | model field in agent JSON config overrides workspace default for that agent; falls back to default if specified model is unavailable |
| opencode | ✓ | Frontmatter model field selects a specific model using provider/model-id format, overriding the session default. Primary agents use the globally configured model if not specified; subagents use the invoking primary agent's model if not specified. |
| amp | ✗ | not documented |
| cline | ✗ | not documented |
| crush | ✗ | not documented |
| pi | ✗ | not documented |
| roo-code | ✗ | No per-mode model selection field documented in the mode schema |
| windsurf | ✗ | not documented |
| zed | ✗ | not documented |