Repository navigation
[Bug]: iOS Thread settings no longer exposes third-party/legacy model selection after update #10902
Description
Activity
Triage
Plausible iOS Thread settings / catalog issue; not reproduced here. The sheet showing only GPT-6 Astra, GPT-5.6-Sol (Default), GPT-5.6-Terra, GPT-5.6-Luna, then Options, with no Model filters → Show legacy models in the captured content, matches current mobile + server behavior. It is not yet enough to call a confirmed iOS regression.
What we can confirm from the report + code
On current
main(mobile app version1.1.1):-
Show legacy modelsis omitted unless the catalog already has legacy rows.hasLegacyModelsisproviderGroups.some(group => group.models.some(m => m.isLegacy))inapps/mobile/src/features/threads/ThreadSettingsSheet.tsx. The iOS filter menu only appends that action when this is true. Android still gets an in-sheet Catalog → Legacy models switch; iOS does not (Platform.OS !== "ios"). -
Legacy rows are hidden by default.
useThreadSettingsCatalogItemsfilters to!model.isLegacy(plus the already applied/staged model) until the toggle is on. -
On iOS 26 Liquid Glass, search + Model filters are not in the sheet body. They live on the floating mail-style toolbar as a filter icon (
line.3.horizontal.decrease), not a labeled Model filters row above Options. Pre-26 iOS uses a bottom Model filters toolbar. A screenshot of Codex + four models + Options can miss that chrome even when it exists. If that native toolbar fails to mount, both search and filters disappear — there is no in-list fallback. -
An existing Codex thread cannot show third-party / OpenCode models.
ThreadComposerbinds the picker to the thread’s harness (threadProviderGroups). OpenCode upstream sources are a separate provider group (New Task), viasubProvidersubtitles — there is no mobile “third-party models” filter on Codex. -
Those four slugs are the current Codex GPT set in
apps/server/src/provider/model-manifest.json(gpt-6-astra,gpt-5.6-sol,gpt-5.6-terra,gpt-5.6-luna). If Codexmodel/listreturns only those, nothing isisLegacy, and the toggle is omitted by design. Daybreak is also current but often absent from a given CLI catalog. -
The server never requests Codex hidden models.
requestAllCodexModelsinapps/server/src/provider/Layers/CodexProvider.tscallsmodel/listwith{}/{ cursor }only. The generated schema supportsincludeHidden; T3 never sends it, andparseCodexModelListResponseignoreshidden. A Codex CLI change that hides older models by default would drop them for every client, not just iOS.
Web uses the same server snapshot and only renders a Legacy models section when
isLegacyentries exist. If web/desktop on this environment also has no legacy section, this is catalog, not iOS chrome.Likely causes (ranked)
- Catalog has no
isLegacyrows (Codex CLI default list / missingincludeHidden, or a recent manifest/CLI change). Toggle omitted; list is current-only. Would also show up on web. - iOS filter chrome moved / easy to miss after Liquid Glass. Legacy rows still in the snapshot, but the control is a toolbar icon (or failed to render), and iOS no longer has the in-sheet Catalog switch.
- Existing Codex thread vs New Task. Third-party/OpenCode models are not offered on an in-thread Codex picker by design.
An iOS-app-only update does not rewrite the server catalog. No recent mobile commit removes the toggle; it has been gated since the unified sheet (#5625 / #6224).
Related, not duplicates
- [Bug]: Expanding the OpenCode provider does not reveal its models without manual scrolling #10082 — OpenCode expand does not scroll new rows into view. Models exist; they stay off-screen. Different bug.
- [Bug]: Amazon Bedrock Codex model IDs are misclassified as legacy and break text generation defaults #9659 — Bedrock-qualified IDs (
openai.gpt-5.6-sol) are misclassified as legacy. Opposite problem, and this screenshot shows unqualified current GPT names. - [Bug]: Opencode lists hidden models on mobile app #9350 (closed) — OpenCode listed hidden models on mobile. Opposite visibility issue.
No open or merged PR fixes this Thread settings /
includeHiddenpath. #9679 is Home thread-list v2. #10205 is draft model-override lifetime.Next step
Need a same-environment check before changing UI:
- Does web/desktop Thread / model picker on this server show a Legacy section or extra Codex slugs?
- Refresh models (header refresh) and retry.
- If this was an existing Codex thread, also try New Task and expand OpenCode (that is the third-party catalog; watch [Bug]: Expanding the OpenCode provider does not reveal its models without manual scrolling #10082 if rows appear only after scrolling).
If web is also current-only, investigate Codex
model/list+includeHiddenon the server. If web still has legacy/OpenCode, treat this as iOS toolbar discoverability / existing-thread scoping.Helpful follow-up
- App / TestFlight build (repo is
1.1.1onmain) and iOS version (especially 26 vs earlier). - Exact missing model names/IDs, and whether they still appear on web for the same environment.
- Existing Codex thread vs New Task.
- Whether a search field or filter icon is visible on the bottom/header toolbar (not only in the model list).
- Codex CLI / server version if known.
Labels:
bugneeds more infovia-triage-
- addedbugSomething is broken or behaving incorrectly.Something is broken or behaving incorrectly.needs more infoInitial triage showed no bug. Awaiting more infoInitial triage showed no bug. Awaiting more infovia-triageFiled through npx t3 triageFiled through npx t3 triage
on Sep 9, 2026 I missed the filter, where show legacy models can be enabled. Closing.
Before submitting
Area
apps/mobile
What happened
After the latest T3 Code iOS update, I can no longer find the selection for third-party/legacy models that was available before. The affected screen is Thread settings, with Codex expanded.
Steps to reproduce
Expected behavior
Previously available models that remain in the connected provider's catalog should still be selectable, with a reachable Model filters → Show legacy models control where applicable.
Actual behavior / screenshot observations
The supplied screenshot shows only GPT-6 Astra, GPT-5.6-Sol (Default), GPT-5.6-Terra, and GPT-5.6-Luna, followed by Options (Reasoning, Service Tier, Runtime). No model search/filter control or option to reveal legacy models is visible in the captured sheet.
The screenshot observations are transcribed here; the image itself is not attached.
Impact
Cannot select the affected third-party/legacy alternatives from iOS; the displayed current models remain selectable.
Version / environment
Additional context
This is a reported regression, not an independently reproduced diagnosis. The exact missing model IDs and whether they still appear in the provider catalog after the update have not yet been verified. Please investigate missing/unreachable model-filter controls as well as catalog availability.
Related but different open reports: #10082 concerns OpenCode rows appearing only after scrolling after expansion; #9659 concerns Bedrock-qualified model IDs being misclassified as legacy.