{"version":"2.1.301","anchor":"model-validation-flags-shared-limit-429s","canonical_anchor":"model-validation-flags-shared-limit-429s","heading":"\/model switch no longer rejected as an invalid model when a shared usage limit is hit","tier":"notice","area":"Usage & Limits","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301\/e\/model-validation-flags-shared-limit-429s","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301","markdown":"### \/model switch no longer rejected as an invalid model when a shared usage limit is hit\n\nWhen \/model's check hits a five-hour or seven-day limit, the result is flagged sharedLimitReached and the switch can go ahead instead of failing as invalid_model\n\n**What**\n\nWhen you switch models with `\/model`, Claude Code first checks the model with Anthropic. That check can be refused with a 429, the error meaning you have hit a usage limit.\n\n- When the 429 is not about needing credits and the limit is the `five_hour` or `seven_day` one, the result is now marked `sharedLimitReached: true`.\n\n- A switch that would otherwise fail with `invalid_model` is now allowed when `sharedLimitReached` is true and the caller passes `acceptSharedLimitRefusal`. This works like the existing path for credits-required refusals.\n\n- The model check now passes `acceptSharedLimitRefusal: true`, alongside the existing `acceptSessionModeRefusal`.\n\nBefore this release, such a switch was rejected as `invalid_model` unless credits or another condition allowed it.\n\n**Why**\n\nHitting your plan's usage limit during the check no longer makes a valid model look invalid. The switch goes ahead, and the limit can be reported for what it is.\n\n- Area: Usage & Limits\n- Names: `\/model`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}