Claude Sonnet vs Opus: Which Model to Use for Which Job

Opus is Anthropic’s default recommendation and Claude Code’s default model; Sonnet is faster and costs less per token; Haiku is the fastest and cheapest; Fable sits above them all. What each is for, how effort changes the picture, and how to switch in Claude Code.

7 min read

Use Opus for most work and when being right matters more than being quick; use Sonnet when you want faster answers at a lower cost per token and the task is clear. That is the short version of how Anthropic positions them today. Its current lineup is Claude Opus 5.5, which it suggests starting with for most workloads, Claude Sonnet 5, described as the best combination of speed and intelligence, Claude Haiku 4.5 for the lowest latency and price, and Claude Fable 5.1 above all three for the hardest long-running work. In Claude Code, Opus 5.5 is the default model on every Claude plan, and switching is one command: /model sonnet.

Model names move quickly. Everything below is as Anthropic documents it at the end of September 2026; check the models overview (opens in a new tab) before you rely on a version number.

The current models, side by side

  • Claude Opus 5.5 (claude-opus-5-5): built for long-running agentic coding and knowledge work. Moderate latency. Thinking is always on and cannot be switched off; its default effort is medium. 1M-token context window, 128K maximum output.
  • Claude Sonnet 5 (claude-sonnet-5): speed and capability for everyday coding, agent and business work. Fast. Adaptive thinking, default effort high. Also a 1M-token window and 128K output, with an earlier knowledge cutoff than Opus 5.5.
  • Claude Haiku 4.5 (claude-haiku-4-5): the fastest and cheapest, for real-time and high-volume jobs and simple subagent tasks. 200K context, no effort setting.
  • Claude Fable 5.1 (claude-fable-5-1): the most capable model open to all customers, and the slowest. Anthropic points to it when Opus at high effort still falls short.

On cost, the order is simple and Anthropic’s pricing table states it: per token, Fable costs the most, then Opus, then Sonnet, then Haiku. On a subscription you pay in usage limits rather than per token, but the same order applies to how fast you use them up. Older models, including Opus 5, Opus 4.8 and Sonnet 4.6, are still available as legacy models.

What changed: Opus is now the default choice

The old rule of thumb was “Sonnet for most coding, Opus for the hard parts”. Anthropic’s guide to choosing a model (opens in a new tab) now says most workloads should start with Opus 5.5, and Claude Code’s default model is Opus 5.5 on Pro, Max, Team, Enterprise and the API. Two things make that workable. Opus 5.5 defaults to medium effort, which keeps its token use down, and Anthropic reports that in its testing Opus 5.5 at medium matches or exceeds Opus 5 at high on coding and knowledge-work evaluations. The same guide says tuning effort is often a better lever than switching models.

Sonnet has not become the lesser choice. It is the faster model, it costs less per token, and for work that is clear, mechanical or high in volume, it is the better fit.

Which model for which job

Anthropic’s own post on choosing a model and effort level in Claude Code (opens in a new tab) describes Sonnet as a very good generalist that excels with clear, specific instructions, and Opus as the expert for genuinely difficult problems. Mapped onto everyday work:

  • Opus: debugging something you do not understand yet, architecture and design choices, large refactors across many files, reviewing a risky change, long sessions where the model has to hold a lot of context, and anything where a wrong answer is expensive.
  • Sonnet: well-specified features, writing tests for code that exists, mechanical edits and renames, documentation, data clean-up, and quick back-and-forth where you are steering every step.
  • Haiku: subagents that only search, read logs or summarise; classification and extraction at volume; anything where speed matters more than depth.
  • Fable: multi-hour autonomous work, deep research carried through to a finished result, and problems where Opus at high effort has already failed.

When a result disappoints, Anthropic suggests asking one question: did the model not know enough, or did it not try hard enough? The first is a reason to move up a model. The second is a reason to raise the effort on the model you have.

Effort and thinking

Effort controls how much the model reasons before and between steps. Opus 5.5, Sonnet 5 and the Fable models accept low, medium, high, xhigh and max, and the scale is calibrated per model, so medium on Opus is not the same amount of thinking as medium on Sonnet. Anthropic’s model configuration guide (opens in a new tab) describes low as for short, latency-sensitive tasks, medium as the cost-conscious setting and Opus 5.5’s default, high as the balance and the default elsewhere, and warns that max can overthink and should be tested before you adopt it.

Claude Code: effort
/effort                open the slider for the current model
/effort high           set and save it for this model
/effort auto           clear the saved level, back to the model's default
claude --effort low    one session only
ultrathink             anywhere in a prompt: deeper reasoning for that turn

Claude Code saves effort per model, so a level you chose for Sonnet does not follow you to Opus. You cannot turn thinking off on Opus 5.5 or the Fable models; lower the effort instead. Thinking tokens are billed as output whether you see them or not.

Switching models in Claude Code

Claude Code: models
/model                 open the picker (Enter saves as default, s = this session only)
/model sonnet          switch and save as your default
/model opusplan        Opus in plan mode, Sonnet when it starts editing
claude --model haiku   one session only
ANTHROPIC_MODEL=opus   environment variable, this launch only
  • Aliases resolve to the latest version for your provider: opus, sonnet, haiku, fable, plus best, which picks Fable where you have it and Opus otherwise. default clears your choice and returns to the account default.
  • To stay on a version, use its full ID, such as claude-opus-5-5, or set ANTHROPIC_DEFAULT_OPUS_MODEL and its Sonnet and Haiku counterparts.
  • Put "model": "sonnet" in .claude/settings.json to set a project default for everyone who clones the repository. Project and managed settings outrank what someone saved with /model on their next launch.
  • Subagents that inherit the session model switch with it. Pin a cheap one with model: haiku in its definition, or set CLAUDE_CODE_SUBAGENT_MODEL.
  • /fast runs Opus in fast mode: up to 2.5 times faster output at a higher price per token, on Opus only, and billed to usage credits on subscription plans.

On Amazon Bedrock, Google Cloud and Microsoft Foundry the aliases can point at older versions; on Bedrock, sonnet still resolves to Sonnet 4.5. Pin versions there, as running Claude Code on Amazon Bedrock explains. To see which model and effort a session is on at a glance, put them in your Claude Code statusline.

A simple team default

  1. Leave the default on Opus 5.5 at medium effort for day-to-day work.
  2. Switch to Sonnet for a session of clear, mechanical tasks, and back again when the problem stops being clear.
  3. Give search and log-reading subagents Haiku.
  4. Raise effort before you change model when Opus skips steps; try Fable only when Opus at high effort still fails.
  5. For a team, record the model choice in .claude/settings.json, and if you administer an organisation, restrict the list with availableModels, covered in Claude Enterprise security.

Model choice matters less than scope. A board that breaks work into small, well-described tasks lets you give each one to the model that fits: on fenbs, a bug with a clear note and plan can go to a Sonnet session, and a vague enhancement that needs design can go to Opus first. Each session reports back to the same task over MCP, and History records which person’s assistant made each change. Spending less on the tokens themselves is covered in how to reduce Claude Code token usage.

Related

Every command in one place: Claude Code commands cheat sheet. Cutting usage: reduce Claude Code token usage. Habits that make any model better: Claude Code best practices. Connecting Claude Code to a shared board: Claude Code and fenbs.

Questions people ask.

Is Claude Opus better than Sonnet for coding?

For hard, open-ended coding such as debugging, design and large refactors, Anthropic positions Opus 5.5 as the stronger model and suggests starting most workloads on it. Sonnet 5 is faster and cheaper per token and suits clear, well-specified tasks.

Which model does Claude Code use by default?

Opus 5.5 on Pro, Max, Team, Enterprise and the Anthropic API, and on Amazon Bedrock and Google Cloud. Microsoft Foundry defaults to Sonnet 4.5. An organisation admin or project settings can set a different default.

What is the opusplan model setting?

A Claude Code alias that uses Opus while you are in plan mode and switches to Sonnet when it starts carrying out the plan. Select it with /model opusplan.

Is Opus more expensive than Sonnet?

Yes. Per token, Opus costs more than Sonnet and Sonnet more than Haiku, according to Anthropic’s pricing. Opus 5.5 defaults to medium effort, which reduces how many tokens it spends on thinking.

Start with one thing.

There is nothing to set up first. Write one line and you’ve started.