fork: true ignores model override in command frontmatter (rate limit with Opus 1M default)

Resolved 💬 3 comments Opened Mar 17, 2026 by Sixeight Closed Mar 17, 2026

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:

  1. Set default model to Opus 1M (claude-opus-4-6 1M context)
  2. Start a new session (minimal context — nearly empty)
  3. 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)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗