macOS Codex Desktop update regression: service_tier default rejected and model selector unavailable

Resolved 💬 5 comments Opened Jun 10, 2026 by TurboTheTurtle Closed Aug 4, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using (From “About Codex” dialog)?

26.608.12217 (CFBundleVersion 3722)

What subscription do you have?

Not sure / ChatGPT-authenticated Codex Desktop account.

What platform is your computer?

macOS 27.0 build 26A5353q, Darwin 27.0.0 arm64

What issue are you seeing?

Right after updating the Codex Desktop app, new sessions started failing with this error:

invalid configuration: unknown variant `default`, expected `fast` or `flex`
in `service_tier`

The same Desktop app also will not let me select a different model when starting a new session.

This does not appear to be caused by an explicit service_tier = "default" in my user config. I removed/avoided that setting and verified that ~/.codex/config.toml currently has no service_tier entry, but the Desktop app still hits the same failure.

Local diagnostics suggest a Desktop app/backend version mismatch after the update:

/Applications/Codex.app/Contents/Resources/codex --version
codex-cli 0.138.0-alpha.7

/opt/homebrew/bin/codex --version
codex-cli 0.139.0

I also installed/started the standalone Codex app-server at 0.139.0, and it runs successfully. But when I relaunch Codex Desktop, it still spawns the bundled older app-server from the app bundle:

/Applications/Codex.app/Contents/Resources/codex app-server --analytics-default-enabled

while the standalone server is separately running from:

~/.codex/packages/standalone/current/codex app-server --listen unix://

Another observed detail: ~/.codex/models_cache.json is being rewritten with service tier metadata including:

priority

So the app/update path seems to be mixing service tier values and parser expectations. The error says only fast or flex are accepted, while current metadata/schema paths appear to use values such as default/priority as well.

What steps can reproduce the bug?

I do not yet have a clean-machine reproduction, but this happened immediately after a Codex Desktop app update.

Observed local sequence:

  1. Update Codex Desktop on macOS.
  2. Open Codex Desktop.
  3. Try to start a new session.
  4. The app fails with:

``text
invalid configuration: unknown variant
default, expected fast or flex
in
service_tier
``

  1. Remove/avoid any service_tier line in ~/.codex/config.toml.
  2. Relaunch Codex Desktop.
  3. The error still occurs.
  4. Try to start a new session and select another model.
  5. The model selector is unavailable / does not let me choose a different model.
  6. Inspect local versions and see the Desktop bundle still using codex-cli 0.138.0-alpha.7 while the installed standalone/Homebrew CLI is 0.139.0.

What is the expected behavior?

Codex Desktop should be able to start new sessions after an app update.

The app should either:

  • accept the service tier values it writes/uses, or
  • migrate old/default service tier values to the values accepted by the bundled parser, or
  • ship a Desktop bundle whose embedded app-server/parser matches the current model/service-tier catalog.

The new-session model selector should remain usable after the update.

Additional information

Related-looking issues, but not exact duplicates:

  • #26391 tracks recent Codex App Fast mode/service tier drift.
  • #26990 includes another unknown variant default service tier failure in a Windows local-state recovery path.
  • #10875 tracks older model-selection reversion behavior.

In this case the triggering event was the macOS Desktop app update, and the strongest signal is that the Desktop app bundle is still launching its embedded 0.138.0-alpha.7 app-server even though 0.139.0 is installed and runs successfully outside the app.

View original on GitHub ↗

5 Comments

github-actions[bot] contributor · 2 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #26990

Powered by Codex Action

TurboTheTurtle · 2 months ago

I reviewed #26990 after the duplicate bot flagged it. I agree it is related because both reports include the service_tier = "default" / expected fast or flex parse failure, but I do not think this issue is an exact duplicate.

The key differences here are:

  • This report is macOS Codex Desktop 26.608.12217, not Windows Desktop.
  • The trigger was a normal Codex Desktop app update, not power loss or abrupt shutdown.
  • ~/.codex/config.toml currently has no service_tier entry, but the Desktop app still hits the failure.
  • The strongest local signal is a packaged version mismatch: the Desktop bundle launches /Applications/Codex.app/Contents/Resources/codex at 0.138.0-alpha.7, while the current standalone/Homebrew CLI is 0.139.0.
  • The Desktop app also prevents selecting a different model when starting a new session, which points at the app/model catalog path rather than only local config file corruption.

So #26990 may share an underlying service-tier compatibility problem, but this issue is specifically about a macOS app update leaving Desktop on a stale embedded app-server/parser while current model/service-tier metadata appears to use newer values.

Explorer-cc · 2 months ago
but this issue is specifically about a macOS app update leaving Desktop on a stale embedded app-server/parser while current model/service-tier metadata appears to use newer values.

Have you found any workaround to fix this? Just roll back to older version(for example 0.138.0)?

TurboTheTurtle · 2 months ago
Have you found any workaround to fix this? Just roll back to older version(for example 0.138.0)?

I would not roll back to 0.138.0. In my case the broken state was the Desktop bundle still using 0.138.0-alpha.7, whose parser rejected the service-tier values being written/used by newer metadata.

What fixed my local setup was updating forward so Desktop’s embedded binary is newer:

/Applications/Codex.app/Contents/Resources/codex --version
codex-cli 0.140.0-alpha.2
etraut-openai contributor · 24 days ago

Updating Desktop’s embedded binary fixed the stale service-tier/model-selector behavior.