Default Model by Account Plan (account-tier model defaults)
The opt-in "Default Model by Account Plan" setting: which Claude model a brand-new session starts on for a Max, Team, Enterprise, Pro or Free Anthropic account, how your own per-session and project choices override it, why the chosen model then stays put, and what it never touches.
What it is
One-paragraph answer: "Default Model by Account Plan" is an opt-in setting (Settings → Accounts) that picks which Claude model a brand-new session starts on based on the plan/tier of the Anthropic account it runs on — Max / Team / Enterprise → Opus, Pro → Sonnet, Free → Haiku. It only sets the starting default: the model is chosen once, when the session sends its first message, and then stays put — it won't change on its own if Omniscio later moves the session to a different account to dodge a rate limit. Your own choices always win: if you picked a model for that session, or set a default model for the project, that is used instead. It is off by default (nothing changes until you turn it on), only affects login (OAuth) accounts, and the model it sets is a normal, fully-overridable choice you can change anytime.
Why it exists
Different Anthropic plans have very different rate limits. If you keep both a Max account and a Pro account, you may want your scarcer Pro account to default to a lighter model (Sonnet) while your Max account runs the heaviest model (Opus) — without hand-setting the model on every new session. This setting makes that choice happen automatically the moment a session starts, based on whichever account it lands on.
Because your global default model is already Opus, the visible effect is mostly on Pro accounts (they start on Sonnet) and Free accounts (Haiku); Max/Team/Enterprise sessions land on Opus either way — the setting just makes that explicit and stable.
The mapping
| Account plan/tier | Starting model |
|---|---|
| Max (incl. Max 5x / 20x) | Opus 5 |
| Team | Opus 5 |
| Enterprise | Opus 5 |
| Pro | Sonnet 4.5 |
| Free | Haiku 4.5 |
| Unknown / API-key | (unchanged — your global default) |
Where to find it
- Settings → Accounts, a toggle labeled "Default Model by Account Plan."
- It appears when you have at least one login (OAuth) account (it only affects login-account sessions).
- Default: off. Turn it on to activate; turn it off to stop setting it on new sessions.
How it behaves
What wins (precedence)
your per-session model pick → project default model → account-tier default → your global default model
The tier only fills in when you have not chosen anything more specific. Picking a model on a session, or setting a project default, always overrides it.
What "stays put" means
The chosen model is stamped onto the session at its first spawn — from then on it is the session's own model:
- Omniscio moving the session to a different account (rate-limit recovery / load balancing) will not change its model.
- Turning the toggle back off does not change sessions that already started — it only stops setting the model on new ones.
- To change a started session's model, just pick a different one on that session.
What is never touched
API-key accounts, SSH / remote sessions, and non-Claude engines (Codex, Gemini, DeepSeek, Kimi, Cursor, …) are never stamped — they keep your global default or their own model. The account's plan string only selects a tier; the model id always comes from Omniscio's own constants (no external value becomes a model id).
For agents
For agents with repo access — where this lives
- Mapping + pure decision: src/shared/account-tier.ts (
normalizeAccountTier,tierModelFor,resolveTierStartupModel). Tier ids come from the canonical src/shared/model-latest.ts constants; a drift test asserts every mapped id is a selectable Claude model. - Spawn-time stamp: src/main/process/account-tier-startup-model.ts (
applyAccountTierStartupModel), called from src/main/process/spawn-cluster-manager.ts right beforeresolveSpawnModel. It persists viaupdateSessionModeland mirrors onto the in-memory spawn row; a persist failure is logged and swallowed (never blocks the spawn). - Setting:
accountTierModelDefaultsEnabledinAppSettings(defaultfalse) — schema in src/shared/types/settings/accounts-providers-settings.ts; UI toggle in src/renderer/src/features/settings/sections/accounts/AccountSettings.tsx; search entry in src/renderer/src/features/settings/AccountsSettings-search.ts. - Contract: .claude/memory/contracts/provider-registry-contract.md (PART 3, invariant the-account-tier-startup-model-is-opt-in).
- Tests: tests/unit/shared/account-tier.test.ts, tests/unit/process/account-tier-startup-model.test.ts.
Related
The accounts this setting reads its tier from are added on Add a Claude account, and how a session lands on a given account in the first place is on Account Pool (multiple Claude accounts + exhaustion alert). For the wider catalogue of AI providers the app can run, see AI providers, and for who pays for a non-Claude session and which company serves it, see Who pays & who serves; for the thinking-level choice that sits beside the model pick, see Per-model thinking level.
Last verified 2026-09-28