# Parameter :: 55. `set::`
Sets the Claude Code session model in `~/.claude/settings.json`. Present on `.model` only. When provided, activates set mode on `.model`; when absent, `.model` operates in read (get) mode.
- **Default:** *(omit)* — get mode; reads current model from `settings.json`
- **Constraints:** `opus`, `sonnet`, `haiku`, `default`
- **Purpose:** Write a specific model shorthand to `settings.json` or remove the `model` key via `default`.
**Values:**
| `opus` | `claude-opus-4-6` | Force Opus session model |
| `sonnet` | `claude-sonnet-4-6` | Force Sonnet session model |
| `haiku` | `claude-haiku-4-5-20251001` | Force Haiku session model |
| `default` | *(removes `model` key)* | Revert to Claude Code's built-in default |
**Validation:** Calls `map_model_shorthand()` — the shared inner function also used by `set_model::` validation (Feature 034). The model ID mapping table exists in exactly one place.
**Error cases:**
- `set::bad` → exit 1 with stderr `set:: must be one of: opus, sonnet, haiku, default; got "bad"`
**Examples:**
```bash
clp .model set::opus # writes "claude-opus-4-6"
clp .model set::sonnet # writes "claude-sonnet-4-6"
clp .model set::haiku # writes "claude-haiku-4-5-20251001"
clp .model set::default # removes model key; other settings.json keys preserved
```
**Notes:**
- `set::` only affects `~/.claude/settings.json`. It does not affect subprocess model selection (`imodel::` governs that, see Feature 026).
- `format::` on `.model` is only meaningful in get mode; ignored when `set::` is present.
- Write path uses `set_session_model()` from `claude_profile_core` — same function used by `set_model::` on `.account.use` and `.usage`.
### Referenced Type
- **Fundamental Type:** `enum`
### Referenced Parameter Groups
*(ungrouped — `.model`-specific parameter)*
### Referenced Commands
| 1 | [`.model`](../command/007_model.md) | Mode selector on `.model`: absent = get, present = set |
### Referenced User Stories
| 1 | [Account Rotation](../user_story/001_account_rotation.md) | Set session model shorthand without a full account switch |