Switching /model to a 1M-context alias now explains exactly why it's blocked instead of failing generically
What
When switching to a model alias with a 1M-token context window (a [1m]-suffixed alias), Claude Code now checks for three specific problems before switching, each with its own clear error message telling you what to do instead:
- 1M context has been turned off via the
CLAUDE_CODE_DISABLE_1M_CONTEXTenvironment variable. - The target model doesn't support a 1M-token context window.
- The alias has no 1M variant for the current mode.
These checks run before the older Opus-1M-specific check that previously handled this.
Why
Previously these failures likely surfaced as a generic error; now each case is distinguished with its own message and telemetry reason, making it clear why a 1M-context switch didn't happen and what to try instead.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Configuration warnings](#the-200k-limit-isnt-enforced) |errors see the edit
Cap the [effort level](/docs/en/model-config#adjust-effort-level) a session can use, leaving lower levels available. Any higher level runs at the cap instead, including one from `/effort`, the `/model` picker, `--effort`, [`CLAUDE_CODE_EFF…settings-reference see the edit
`effortLevel` accepts an [effort level](/docs/en/model-config#adjust-effort-level) name. It also accepts `"ultracode"`, which requests `xhigh` effort with [ultracode](/docs/en/workflows#let-claude-decide-with-ultracode) on. `applyFlagSetti…agent-sdk/typescript see the edit
A small documentation edit on Agent SDK reference - TypeScript touched a line naming /model after this was published.
Fixed /model opusplan[1m] being rejected with "Model not found"