openai / openai/codex

model_catalog_json from main fails in Codex App 0.148.0-alpha.9 after catalog schema change

Open
#38,934 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

app bug config
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

What issue are you seeing?

The current codex-rs/models-manager/models.json from the repository's main branch cannot be loaded through model_catalog_json by the Codex binary bundled with Codex App 26.810.52044 (build 6662).

The embedded binary reports:

codex-cli 0.148.0-alpha.9

Loading the current catalog fails before any model request is made:

Error: failed to parse model_catalog_json path `/dev/stdin` as JSON: missing field `supports_parallel_tool_calls` at line 116 column 5

This is a model-catalog schema compatibility issue, not a context-window issue.

What steps can reproduce the bug?

On macOS:

curl -fsSL https://raw.githubusercontent.com/openai/codex/main/codex-rs/models-manager/models.json \
  | /Applications/ChatGPT.app/Contents/Resources/codex \
      -c 'model_catalog_json="/dev/stdin"' \
      debug models

The command exits with the missing-field error above.

As a control, the catalog from the matching client tag loads successfully and returns all eight models:

curl -fsSL https://raw.githubusercontent.com/openai/codex/rust-v0.148.0-alpha.9/codex-rs/models-manager/models.json \
  | /Applications/ChatGPT.app/Contents/Resources/codex \
      -c 'model_catalog_json="/dev/stdin"' \
      debug models

Environment:

Codex App bundle version: 26.810.52044
Codex App build: 6662
Embedded Codex binary: codex-cli 0.148.0-alpha.9
Platform: Darwin 24.6.0 arm64 arm
What is the expected behavior?

One of the following contracts should be explicit:

  1. model_catalog_json catalogs remain backward compatible with supported released clients.
  2. Catalogs are versioned and users are directed to the catalog matching their Codex release.
  3. Cross-version catalogs are unsupported, but the configuration documentation and parse error clearly explain the client/catalog version mismatch.

The current configuration reference describes model_catalog_json as an optional catalog path, but does not state that a file copied from main must match the client release:

https://developers.openai.com/codex/config-reference

Additional information

The incompatibility appeared when supports_parallel_tool_calls was intentionally removed from both ModelInfo and the bundled catalog:

https://github.com/openai/codex/commit/86b1123ff6b5d089a146be4e603a324cf454223a

The failing current catalog is:

https://github.com/openai/codex/blob/main/codex-rs/models-manager/models.json

The working version-matched catalog is:

https://github.com/openai/codex/blob/rust-v0.148.0-alpha.9/codex-rs/models-manager/models.json

Re-adding the removed field unconditionally may not be the right fix because the field was intentionally retired. A documented version contract, a versioned catalog/schema, or a compatibility strategy would avoid treating the current main file as directly reusable by older released clients.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with the Codex binary and compare codex-rs/models-manager/models.json on main with the rust-v0.148.0-alpha.9 catalog. Read the model catalog loading path and the configuration reference for model_catalog_json. Done means the supported version relationship is implemented or clearly documented, with the mismatch behavior and catalog contract verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.