# fix\(codex\): restore reasoning controls for ChatGPT account models · PR \#17865 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/17865)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: open

Source repository: Unavailable fork

Source branch: fix/codex-account-reasoning-controls

Target branch: main

Head commit: dde935ccdcdc7bd2ed6f03ba4a32015c3a2b1bb8

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/17865)

[Commits](https://git.cafe/pingdotgg/t3code/pull/17865/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/17865/diffs?format=markdown)

## Description

---

ChatGPT account models can advertise reasoning choices while native Codex discovery provides no selector. Preserve that account metadata so explicit reasoning choices survive composer normalization.

The fallback fills only missing reasoning controls, keeps native controls and unrelated options, uses the catalog default, and ignores malformed optional metadata per model. Native Astra retains its existing medium default. This server metadata is shared by web, desktop, mobile, and agent model selection; no wire or UI code changes.

Based on @niburhsoj’s work in [#17865](https://github.com/pingdotgg/t3code/pull/17865). Maintainer takeover preserves the contributor commits and merges main instead of rewriting their branch. Seven added tests were reduced to three focused behavior tests in the existing catalog test file.

Verification:

- Red/green: with main production files, 3 regression tests fail and the 2 existing tests pass; with the fix all 5 pass.
- 70 tests pass across `CodexChatGptModels.test.ts`, `CodexProvider.test.ts`, `packages/shared/src/model.test.ts`, and `composerProviderState.test.tsx`. Scoped server typecheck and targeted lint/format pass; `git diff --check` is clean.
- Test-level proof covers catalog-only selectors, default presentation vs explicit selection, native capability preservation, and malformed metadata isolation. No authenticated live ChatGPT catalog or integrated client was exercised in this takeover. Screenshots are not supplied for this server-only change.
- macOS, Windows, iOS, Android, and Electron desktop were not verified. Human confirmation of selector/default presentation remains outstanding; independent agent review does not supply that approval.

Current-head CI suites pass. Duplicate native-fingerprint cancellation has a successful replacement on the same head; it is not counted as a passing check. The PR remains unmerged for the human approval described above.

Implementation: GPT-6.1-Sol; tests: GPT-6-Astra; independent reviews: Opus 5.5 and GPT-6-Sol (one full-diff round, no code blockers). Codex and Claude harnesses through T3 Code.

