# Pick the right Claude model in Claude Code

> Switch between Opus, Sonnet, and Haiku with /model, set a default, and match the model to the job without guessing at prices or benchmarks.

- Canonical: https://guides-ai.com/guides/claude-code-choose-a-model/
- Plate 03.11 · Topic: Claude Code commands (https://guides-ai.com/topics/commands/)
- Published: 21 Oct 2026 · 3 min read
- Source site: guides-ai — https://guides-ai.com/

Claude Code lets you switch models per session with `/model`. Pick by capability, not a
benchmark: reasoning-heavy work, routine coding, or cheap and fast. Costs and limits differ per
model and plan, so match the model to the job.

## 1. Switch models with /model

```text
/model
```

Run it with no argument to open the picker, where `Enter` sets the model as your default and `s`
switches for this session only.

```text
/model sonnet
```

Pass an alias or full name to switch immediately.

## 2. Match the model to the task

```text
opus      # complex reasoning and architecture
sonnet    # daily coding tasks
haiku     # simple, fast tasks
opusplan  # Opus to plan, Sonnet to execute
```

Reach for Opus when a wrong decision is expensive, stay on Sonnet for routine work, and drop to
Haiku for mechanical edits.

## 3. Set a default model

```json
{
  "model": "sonnet"
}
```

Set the `model` key in settings to make it your default; `/model` writes this field for you. See
[pick an AI model](/guides/pick-an-ai-model/) for choosing a model across tools.

## 4. Weigh the cost and limit tradeoff

```text
/usage
```

Opus draws down your allowance faster than Sonnet, and a model-specific limit stops only that
family. Check what you have left, then see [usage limits](/guides/claude-code-usage-limits/) and
[track costs](/guides/claude-code-track-costs/). Prices change, so check the current
[pricing page](https://claude.com/pricing) rather than trusting a number.

## 5. Pin a model id or alias

```text
/model claude-opus-5-5
```

Pin an exact version by full id. If you are unsure of the id, open the picker or see the
official [models page](https://code.claude.com/docs/en/model-config); the same alias resolves to
different versions on other providers.

## Verify it worked

Run `/model` with no argument and confirm the model you expect is marked current.

**If it fails:**

- **An alias reports an unknown model** — your Claude Code is too old for that model; run
  `claude update`.
- **The default keeps reverting** — `--model` and `ANTHROPIC_MODEL` apply per session only; set the
  `model` key in settings instead.
- **A subagent still runs Opus** — subagents inherit the session model; set `model: haiku` in the
  subagent config.
