Repository navigation
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
Not sure
Steps to reproduce
- Open T3 Code desktop with an authenticated managed ChatGPT connection (the local provider is named
ChatGPT - Personal, drivercodex). - Select the built-in
gpt-6.1-solmodel in a normal thread and look for the reasoning-effort control. - Switch to
gpt-6-astrausing the same provider and compare the available controls.
On this installation, the reasoning-effort selector is absent for Sol 6.1 and present for Astra. The user directly confirmed the Astra control appears. Claude models also show effort controls.
Expected behavior
Models supporting configurable reasoning effort should expose their supported options consistently. If a model or managed ChatGPT connection intentionally does not support this setting, please clarify that limitation rather than leaving it indistinguishable from missing capability metadata.
This report does not assume Sol 6.1 supports every effort value offered by Astra.
Actual behavior
gpt-6.1-sol is available and usable, but its reasoning-effort selector is missing. The same provider exposes the selector for gpt-6-astra.
Read-only inspection of T3's provider snapshot/cache shows capabilities: null for both gpt-6.1-sol and gpt-6.1-terra, whereas Astra and several other GPT models have a reasoningEffort option descriptor. Both affected entries have isCustom: false.
Sol 6.1 and Astra were compared in the UI by the user; Terra's missing capability metadata was observed in the cache only, not independently verified in the UI.
Impact
Minor bug or occasional failure
The user can continue working, but cannot choose reasoning effort for the affected selected model through the UI.
Version or commit
T3 Code desktop 0.1.3, installed from the official Linux amd64 .deb. T3-managed Codex CLI 0.156.1.
Environment
- Ubuntu 26.04.1 LTS, KDE Plasma, Wayland, amd64.
- Desktop app with its local server.
- Managed ChatGPT subscription-sharing authentication; provider authenticated and ready.
- Affected UI model:
gpt-6.1-sol. - Same-provider working control:
gpt-6-astra. - Observed on October 29, 2026, local time (Asia/Kolkata).
Logs or stack traces
No crash or stack trace is involved. The following is a sanitized projection of relevant fields from ~/.t3/caches/<managed-codex-provider-id>.json; account identity, provider UUIDs, tokens, and unrelated data are omitted:
{
"version": "0.156.1",
"status": "ready",
"checkedAt": "2026-10-28T22:31:25.280Z",
"models": [
{
"slug": "gpt-6.1-sol",
"isCustom": false,
"capabilities": null
},
{
"slug": "gpt-6.1-terra",
"isCustom": false,
"capabilities": null
},
{
"slug": "gpt-6-astra",
"isCustom": false,
"capabilities": {
"optionDescriptors": [
{
"id": "reasoningEffort",
"label": "Reasoning",
"type": "select",
"options": [
{ "id": "low", "label": "Low" },
{ "id": "medium", "label": "Medium", "isDefault": true },
{ "id": "high", "label": "High" },
{ "id": "xhigh", "label": "Extra High" },
{ "id": "max", "label": "Max" },
{ "id": "ultra", "label": "Ultra" }
],
"currentValue": "medium"
}
]
}
}
]
}T3's orchestrator_capabilities tool independently reports no options for the two 6.1 entries, while advertising reasoningEffort options for Astra. This corroborates the provider-level metadata difference; it is not just an assumption based on the UI.
The local model manifest has manifest.updatedAt: "2026-10-28T08:10:39Z". Its gpt-6.1-sol entry marks the model current and specifies Codex minVersion: "0.153.0"; the installed managed CLI is newer than that minimum. This does not establish a specific root cause or guarantee effort support.
Investigation limits: no raw upstream model-catalog response was captured, no same-account native Codex CLI comparison was performed, and no provider settings, caches, or effort defaults were modified. It is not yet established whether the null capabilities originate upstream, in Codex discovery, or in T3's metadata merge.
Screenshots, recordings, or supporting files
No screenshot attached. UI observations are user-confirmed; sanitized provider evidence is included above.
Workaround
Select gpt-6-astra on the same provider: the user confirmed its effort selector appears. This changes the model, so it does not restore effort selection for Sol 6.1 itself.
Related: #14321 concerns missing models with managed ChatGPT authentication and mentions missing controls in a custom-model workaround. This report concerns built-in models that are already listed and usable, but have null capability metadata. No custom-model workaround was used here.
Activity
edwardEsmerson commentedon Oct 29, 2026
Isolated validation of the existing fix
I tested #17865 at
06d30ee796f3285e9096e977194ceb3b81ca80c3in a separate scratch checkout on October 29, 2026, using Node26.13.0, pnpm12.14.0, and the repository's Vite+/Vitest setup. Production source files were unchanged on the final passing run; I only extended existing tests locally.Red/green evidence
CodexChatGptModels.tswith its contents frommainat58e60bf5e808fc226d9b769d66d1ea9fec014d23, keeping the PR's other files and the same test fixtures. Three catalog regressions failed and the two existing entitlement/error cases passed. The mapper returned no reasoning descriptor for fixtures namedgpt-6.1-sol,gpt-6.1-terra, and an arbitrary future-model slug.xhighthrough the shared option-normalization functions. Existing cases also cover preserving native reasoning/other options and isolating malformed optional metadata.xhighand the two affected slugs: 3 parameterized tests pass, exercising 54 combinations of model, effort, interaction mode, and T3 MCP presence. Bothparams.effortandparams.collaborationMode.settings.reasoning_effortretain the requested value. The other 83 adapter tests were intentionally excluded by the name filter; this is not a claim that the entire adapter suite passed.git diff --checkpass.Commands, from
apps/serverunless stated otherwise:Important limits: catalog responses were mocked. The extra Sol/Terra/future-model rows deliberately supplied
low,medium,high,xhigh,max, andultra, withhighas a fixture default and no per-level descriptions. This verifies data-driven mapping, not which values the real account currently advertises or supports. The protocol check constructs turn-start parameters; it does not send a live model request or prove backend enforcement.Tests ran with an empty inherited environment and scratch HOME/XDG/temp directories. I did not start or patch the installed T3 app, access saved provider credentials, change its configuration/cache/database, or run browser/Electron/mobile verification. No live authenticated catalog capture or full app build was performed, so why the native catalog omits the models is still unconfirmed.
This supports linking #17865 to this report: it fills missing reasoning controls using account-catalog metadata rather than hard-coding Sol/Terra options. I have not opened another competing PR. #26733 also references this issue, but I did not execute that PR's implementation in this validation.
Prepared with Codex (GPT-6.1 Sol) in T3 Code.
pablitar commentedon Oct 30, 2026
Root cause: the T3-managed Codex (pinned to 0.156.1) does not receive the GPT-6.1 models in its native catalog
Reproduced on T3 Code desktop 0.1.5 (Linux x64, local server, managed ChatGPT provider, Codex 0.156.1): same symptom, with
capabilities: nullforgpt-6.1-solandgpt-6.1-terra.Why the capabilities are null: Codex's own
models_cache.jsonin the managed shadow home (client_version: 0.156.1) listsgpt-6-astra,gpt-6-sol,gpt-6-luna,gpt-5.6-*… but nogpt-6.1-*entries. Somodel/listnever returns them. They only show up through the ChatGPT account catalog merge inCodexChatGptModels.ts, which falls back tocapabilities: nullwhen there is no native match.On the same machine and account, a
models_cache.jsonwritten by Codex 0.165.0 containsgpt-6.1-solandgpt-6.1-terrawithsupported_reasoning_levelslow/medium/high/xhigh/max/ultra (defaultlow) and apriority("Fast") service tier.Workaround (confirmed): install
@openai/[email protected], enable a Codex provider instance in existing setup mode that uses it, and disable the managed one. The provider cache then shows both 6.1 models with fullreasoningEffort(low → ultra) andserviceTierdescriptors, and the selector appears in the composer. T3 sets the same originator override in both modes, so the catalog appears to be gated by Codex client version, not by originator.Suggestion: bump the pinned managed Codex release in
CodexInstallation.ts(still0.156.1onmainand in nightly0.1.6-nightly.20261030.3904). The model manifest already recommends>=0.159.0. #17865 would still be a good fallback for account-only models, but with a newer managed Codex the native catalog should already provide these capabilities.Investigated via
t3 triagewith Claude Code (Claude Opus 5.5).chai-in commentedon Oct 30, 2026
Confirmed on Windows 11 x64 (10.0.26300), T3 Code Desktop 0.1.5 with its local server, managed Codex 0.156.1.
The user reports that reasoning controls work for GPT-6 Astra in the permissions menu but are unavailable for the GPT-6.1 models.
Read-only evidence:
In v0.1.5, CodexChatGptModels.ts reads only slug/display_name/visibility from the account catalog and obtains capabilities exclusively from a matching native model, falling back to null. This explains the observed metadata gap. No raw authenticated catalog response was captured.
This adds Windows 0.1.5 evidence to #26707. No T3 settings, provider binaries, caches, database, or application source were changed. The newer external Codex workaround has not been tested on this machine.
chai-in commentedon Oct 30, 2026
Update: the Windows selectors are now restored, and the MacBook comparison isolates why the same T3 version behaved differently.
Both machines run T3 Code 0.1.5. Windows used managed Codex 0.156.1; its 6.1 entries had null capabilities. On the MacBook, process metadata identifies T3's actual child executable as the Codex desktop app's bundled binary, version 0.165.0-alpha.1.2. That Mac provider follows the existing/default-binary path. Its native catalog includes both 6.1 models, and its live T3 provider advertises their reasoning options.
On Windows, I installed the official Codex 0.166.0 Windows x64 package alongside 0.156.1, verified the published archive hash, and switched the managed installation's active-version pointer. The existing managed provider and authentication were retained. T3 refreshed without restarting: its provider now reports 0.166.0 and reasoningEffort values low/medium/high/xhigh/max/ultra, default low, for both gpt-6.1-sol and gpt-6.1-terra. The user then confirmed that the reasoning selector appears and works.
This establishes runtime/catalog provenance as the machine difference, with a T3 fallback-mapping defect amplifying it. It is not a confirmed macOS-specific failure: the inspected MacBook currently works. Existing Linux reports in this issue describe the same managed-runtime symptom.
The upgrade is a local mitigation. A durable fix must retain advertised account-catalog reasoning metadata when the native catalog lacks a model or a reasoning descriptor, while preserving native reasoning and unrelated capabilities. It should not hard-code the 6.1 slugs or assume Astra's effort levels apply to every model.
No live inference was used as a test of effort enforcement. The shared native models_cache.json can be overwritten by an older still-running Codex process, so the post-upgrade evidence is the refreshed T3 provider and live capability response, plus the user's UI confirmation.
t3dotgg commentedon Oct 31, 2026
Note
🤖 Claude Opus 5.5 responding on behalf of Theo
Closing: this is covered by #27931 and #27891, which landed. Reopen if an important part is still missing.