fork: true ignores model override in command frontmatter (rate limit with Opus 1M default)
Bug
When the default model is Opus 1M (claude-opus-4-6 with 1M context) and a slash command specifies model: sonnet + fork: true in its frontmatter, the forked subagent appears to ignore the model: sonnet override and spawn using the parent's Opus 1M model, immediately hitting a rate limit error.
Reproduction
Frontmatter:
---
model: sonnet
fork: true
---
Steps:
- Set default model to Opus 1M (
claude-opus-4-61M context) - Start a new session (minimal context — nearly empty)
- Run the slash command → rate limit error immediately
What works (no error):
model: opus+fork: true→ works fine (same model as parent)model: sonnet+fork: false(or no fork) → works fine (no forking)
Expected behavior
The forked subagent should use the model specified in the command frontmatter (sonnet), not inherit the parent session's model (opus 1M).
Analysis
Since the error occurs even with nearly empty context, the issue is not about context size being too large for Sonnet. The most likely cause is that fork: true does not propagate the model override to the spawned subagent, so it continues using the parent's Opus 1M endpoint — which has stricter rate limits.
Environment
- macOS (Darwin 25.3.0)
- Claude Code (latest)
- Default model: Opus 4.6 (1M context)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗