docs/design/subagent-model-grade.md
Let the model choose a user-defined model grade when spawning a regular subagent without exposing provider-specific model IDs in the Agent tool schema.
{
"agents": {
"modelGrades": {
"small": "fast",
"high": "qwen-max"
},
"allowedGrades": ["small", "high"]
}
}
The Agent tool advertises model: "small" | "high" and resolves the selected
grade immediately after loading the subagent configuration.
The effective model selector uses this priority:
inherit modelagents.modelGradesUnknown or disallowed grades are rejected. Forks reject the parameter because they must inherit the parent's model and prompt cache. Named team teammates also reject it because their backend model override accepts concrete model IDs rather than grade selectors.
Only configured, allowed grade names are included in the dynamic tool schema. Concrete model selectors remain private to user settings.