Client or integration
Codex CLI
Area
Catalog / models
Summary
A remote client reports connected, has a present/synced catalog, and can authenticate to the hub, but its installed Codex CLI exits before making a request because the downloaded catalog contains the unsupported reasoning level max.
The connection completion state does not distinguish “hub and credential work” from “the selected local Codex runtime can consume this catalog.” This is especially confusing because ocx status recognizes the older runtime and reports an active effort clamp while the materialized client catalog still fails to parse.
Reproduction
- Use Windows with Codex CLI 0.135.0 and OpenCodex client 2.50.0.
- Connect to a hub whose exported model catalog includes
max/ultra reasoning levels. The observed hub is dev 2.51.0.
- Confirm
ocx connect status --json reports connected, catalog present, token owned, and clean rotation.
- Ensure
OPENCODEX_API_AUTH_TOKEN is present in the child process; the audit explicitly loaded the owned client credential without printing it.
- Launch
codex exec --ephemeral --skip-git-repo-check --color never "Reply with OK." in a scratch directory.
Observed: exit 1 before inference with the catalog parse error below. Independently authenticated catalog retrieval and routed responses through the hub work. This is not a missing-token or upstream-model failure.
Version
OpenCodex client 2.50.0; hub 2.51.0 / 6d3ad12e3fbfd8423f1515a467db4d3349732886; selected Codex CLI 0.135.0.
Operating system
Windows 11 25H2 client; macOS 27.0 hub.
Provider and model
Catalog compatibility, before any provider request.
Logs or error output
failed to parse model_catalog_json path <CODEX_HOME>/opencodex-catalog.json as JSON:
unknown variant `max`, expected one of `none`, `minimal`, `low`, `medium`, `high`, `xhigh`
Fresh probe: exitCode=1, tokenPresent=true, catalogCompatibilityError=true
Screenshots and supporting files
Expected completion: validate the selected local runtime before claiming it is ready, and either create a compatible local projection while preserving hub truth, or explicitly block local readiness with an upgrade/reselect action. Preserve the prior known-good catalog if compatibility cannot be established. Do not silently edit the hub catalog or automatically terminate running Codex processes.
Related: #3729 discusses remote catalog delivery/validation. This is a concrete failure in the implemented connected-client flow, not a second request for a remote catalog command.
Redacted configuration
model_provider = "opencodex"
model_catalog_json = "<CODEX_HOME>/opencodex-catalog.json"
[model_providers.opencodex]
base_url = "https://hub.example.ts.net:8443/v1"
env_key = "OPENCODEX_API_AUTH_TOKEN"
Checks
Client or integration
Codex CLI
Area
Catalog / models
Summary
A remote client reports
connected, has a present/synced catalog, and can authenticate to the hub, but its installed Codex CLI exits before making a request because the downloaded catalog contains the unsupported reasoning levelmax.The connection completion state does not distinguish “hub and credential work” from “the selected local Codex runtime can consume this catalog.” This is especially confusing because
ocx statusrecognizes the older runtime and reports an active effort clamp while the materialized client catalog still fails to parse.Reproduction
max/ultrareasoning levels. The observed hub is dev 2.51.0.ocx connect status --jsonreportsconnected, catalog present, token owned, and clean rotation.OPENCODEX_API_AUTH_TOKENis present in the child process; the audit explicitly loaded the owned client credential without printing it.codex exec --ephemeral --skip-git-repo-check --color never "Reply with OK."in a scratch directory.Observed: exit 1 before inference with the catalog parse error below. Independently authenticated catalog retrieval and routed responses through the hub work. This is not a missing-token or upstream-model failure.
Version
OpenCodex client 2.50.0; hub 2.51.0 /
6d3ad12e3fbfd8423f1515a467db4d3349732886; selected Codex CLI 0.135.0.Operating system
Windows 11 25H2 client; macOS 27.0 hub.
Provider and model
Catalog compatibility, before any provider request.
Logs or error output
Screenshots and supporting files
src/client/hub-client.ts:145validates container/model/slug shape; it does not validate entries against the consuming local Codex version.src/client/hub-client.ts:468returns the downloaded body after that validation.src/client/connect.ts:542downloads and materializes the client catalog.src/codex/catalog/effort.ts:441is an existing local-runtime clamping entry point worth checking for reuse.src/cli/connect.ts:187prints the successful connection without a local-launch compatibility result.Expected completion: validate the selected local runtime before claiming it is ready, and either create a compatible local projection while preserving hub truth, or explicitly block local readiness with an upgrade/reselect action. Preserve the prior known-good catalog if compatibility cannot be established. Do not silently edit the hub catalog or automatically terminate running Codex processes.
Related: #3729 discusses remote catalog delivery/validation. This is a concrete failure in the implemented connected-client flow, not a second request for a remote catalog command.
Redacted configuration
Checks