Automatic newest-model upgrade (your default model stays current)
When an Omniscio update adds a newer model in the same family as your saved Claude or Codex default (a new Opus, a new GPT Sol), Omniscio switches your default to it once and tells you with an inbox card that has one-click **Revert** and **Turn off**. On by default; one setting turns it off.
What it is
A default model you saved months ago never moves on its own — so when a better Opus or a better Codex model ships, you would keep starting sessions on the old one until you noticed. This feature notices for you. The next time Omniscio starts after an update that added a newer model in the family you already use, it switches your default to that model and says so in your inbox.
It is on by default. Turn it off at Settings → Sessions → Basics → Automatically use the newest model (modelAutoUpgradeEnabled), or with the Turn off auto-upgrade button on any upgrade card.
Where to find it
- The inbox card — "Your default (Claude / Codex) model is now (new model)", with Revert and Turn off auto-upgrade.
- The setting — Settings → Sessions → Basics, directly below Default Model.
How it behaves
What gets switched
- Your Claude default — the model new Claude sessions start on.
- Your Codex default — only if you saved one ("Set as default" in the Codex model picker). If you never did, Codex already follows Omniscio's recommended model and there is nothing to switch.
Nothing else moves: running sessions, per-project defaults, favourite models and agent tier pins stay exactly as they are.
The rules it follows
- Same family only. Opus moves to a newer Opus, Sonnet to a newer Sonnet, GPT Sol to a newer GPT Sol, Luna to a newer Luna. It never moves you onto a different (and possibly pricier) line you didn't choose.
- Only models that will actually run. If your installed Claude Code (or Codex) is too old for the newest model, it moves you to the newest one your version can run — or leaves you alone. It never moves you backwards.
- Once per new model. Each new model is applied at most once. If you press Revert, you stay on your old model until the next newer model comes out.
- Never silent. Every switch raises exactly one inbox card.
The two buttons
- Revert puts back exactly the model you had. If you've already changed your default yourself since the switch, it changes nothing and tells you so.
- Turn off auto-upgrade asks you to confirm, then stops all future switches. Turn it back on in Settings → Sessions → Basics.
Both buttons work from the phone inbox too.
FAQ
Will this make my sessions more expensive? It only ever moves you to a newer model of the line you already picked — it never switches you from Sonnet to Opus, or from Sol to Astra.
I chose an older model on purpose. Will it keep switching me? Press Revert once — that model won't be applied again. If you never want switching, turn the setting off.
Why didn't my Codex default change? Either you never saved a Codex default (you already follow the recommended model), your saved model has no newer family member, or your installed Codex CLI hasn't been confirmed to run the newer model yet. The Codex check runs after Codex first starts in a session.
For agents
Under the hood (for agents with repo access)
- Pure rules:
src/shared/model-auto-upgrade.ts—planClaudeUpgrade(family viatierForModelId, targetnewestRunnableInTier, strictly-newer byCLAUDE_MODELSfamily order, unknown CLI version ⇒ no plan) andplanCodexUpgrade(family = name after the version, highest version whoseCODEX_MODEL_MIN_CLI_VERSIONfloor the installed codex meets, unknown version ⇒ no plan). - Service:
src/main/services/model-discovery/model-auto-upgrade-service.ts, started by the deferred startup task1155-model-auto-upgrade.ts. Claude runs afterawait resolveBinaryPath(); Codex runs whenonCodexVersionLearned(codex-version.ts) first fires. OneapplySettingsUpdatewrites the new default ANDmodelAutoUpgradeState(internal-only, not settable via PATCH or a phone); the card is raised only after that write succeeds. - Card: dedupKey
model-auto-upgrade:<slot>:<from>:<to>; buttons declared insrc/shared/alert-actions/model-auto-upgrade.ts; Revert parses the key withparseModelAutoUpgradeDedupKey(refuses a forged key: unoffered or non-newerto, malformed or cross-familyfrom) and compare-and-sets in the settings store. - Adding a Codex model: give it a row in
CODEX_MODEL_MIN_CLI_VERSION(provider-models.ts) — a test fails without one, and a model with no floor is never auto-upgraded to. - Contract:
.claude/memory/contracts/model-auto-upgrade-contract.md.
Related
- new-model-watcher.md — tells you when a provider ships a model Omniscio doesn't list yet; once it's added to the app, this feature moves your default to it.
- ai-providers.md — the providers and models involved.
- codex-provider.md — the Codex engine and its model picker.
Last verified 2026-10-11