What
A stale consent callback from /model can no longer apply a second model change or print a duplicate "Kept model as" notice. The picker now tracks whether it has already been answered and returns early if so.
Details
- Both the
/modelcommand and the model-switch component carry a generation counter and an already-handled flag, checked before the model change is applied. - The user-facing strings moved into shared constants with no wording change.
Evidence
Kept model as
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Names in the bundle/model
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.
Confirmed since
Anthropic's documentation has since written up /model, on All settings.
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
Added since
A small documentation edit on Agent SDK reference - TypeScript touched a line naming /model after this was published.
`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
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agrees
A small documentation edit on Agent SDK reference - TypeScript touched a line naming /model after this was published.
Anthropic's release notes agree
Fixed model names in /model and fast-mode switch notices to render as code, so suffixes like [1m] display literally instead of as a link