Skill subprocess inherits 1M context flag but switches model, fails with 'Extra usage is required for 1M context'
Summary
Invoking a skill from a session running on claude-opus-4-7[1m] fails with API Error: Extra usage is required for 1M context because the skill subprocess switches to a different model (claude-sonnet-4-6) while still propagating the parent session's 1M-context flag. Sonnet 4.6 with 1M context requires --extra-usage to be enabled separately from Opus 4.7's entitlement, so the skill call fails before producing any output.
Repro
- Start
claudewith model set to Opus 4.7 1M context. - Invoke any skill via the
Skilltool (e.g., a built-in or user-installed skill). - Observe the loader line:
Successfully loaded skill · 4 tools allowed · claude-sonnet-4-6. - Observe the immediate failure:
API Error: Extra usage is required for 1M context · run /extra-usage to enable, or /model to switch to standard context.
Expected
One of:
- The skill subprocess inherits the parent session's model (Opus 4.7), or
- The skill subprocess uses Sonnet 4.6 with that model's standard context window (drops the
[1m]suffix when the entitlement is not present), or - A pre-flight entitlement check emits a typed local error before the API call is attempted, with a clear remediation hint.
Actual
The skill subprocess targets claude-sonnet-4-6 but propagates the [1m] context-window flag from the parent session, then fails on the first model call. No skill output is produced and the parent conversation has to handle the failure.
Impact
Any user on Opus 4.7 1M who invokes a skill cannot run that skill until they manually enable extra usage on the alternate model, or switch off 1M context on the parent. This makes skills unreliable on the higher-tier session, which is exactly where users are most likely to invoke them (long-running planning, design review, etc.).
Suggested fixes (in order of preference)
- Drop
[1m]when the target model lacks entitlement. Use the target model's standard context. Cheapest, no user friction. - Honor parent model in skill subprocess unless the skill frontmatter pins one. Avoids the model switch entirely for users on a paid tier.
- Pre-flight the entitlement check. Before the API call, surface a deterministic local error with both options (
/extra-usageor/model) instead of consuming a failed request.
Workaround
Run skills from a session that is not on [1m], or enable --extra-usage for the skill's target model.
Environment
- Model:
claude-opus-4-7[1m](parent session) - Skill subprocess model (per loader):
claude-sonnet-4-6 - Platform: Linux (Ubuntu, kernel 6.17), zsh
- Claude Code CLI version: latest stable as of 2026-05-03
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗