Honestly, most of the time, the issue is just using the wrong model name in your API call. It's an easy mistake to make. You might be using a shorthand name, an old name, or just a slight variation that the API doesn't recognize, causing it to default to a different model, often Sonnet.
Anthropic has a very specific set of model IDs. If you want Opus, you need to be explicit.
Here are the official model names you should be using, straight from the source. I'd recommend using the full version with the date to guarantee you're locked into a specific, stable version.
For convenience, they also offer aliases like
, but the official advice is to use the full, dated model ID in production to ensure consistent behavior. This is because aliases can be updated to point to new model snapshots over time, which could introduce unexpected changes.