You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Copilot small-model pick still prefers gpt-5-mini, retired by GitHub on 2026-10-19, so session titles fail when the model catalogue is the bundled snapshot or a stale cache #1695
On the github-copilot and github-copilot-enterprise providers, Provider.getSmallModel (packages/opencode/src/provider/provider.ts) prefers gpt-5-mini for small background requests: session titles, prompt enhancement. GitHub retired GPT-5 mini from Copilot on 2026-10-19 (Copilot "Model retirement history"; models.dev marks github-copilot/gpt-5-ministatus = "deprecated" since its 2026-10-21 commit). Every title request on those providers now goes to a retired model and fails, while chat on a current model works, so new TUI sessions keep New session - <timestamp>.
provider.ts removes models with status === "deprecated" from the list, but only when the catalogue carries that status:
the live models.dev feed does;
the bundled models-snapshot.ts shipped in v0.12.8, v0.12.9 and v0.12.10 does not (no status on any Copilot model);
a disk cache (<cache>/models.json) written before 2026-10-21 does not, and it is kept for as long as the live fetch keeps failing.
So on a machine that cannot reach models.dev (a common corporate-network case, seen in a field report from a Windows 11 Copilot Enterprise user whose titles stopped on every session after mid-October while chat kept working), the retired model stays selected indefinitely. With v0.12.10 each failed attempt is reported as title_generation_failed with model_idgpt-5-mini, so the scale will be visible in telemetry.
Workaround for users: set small_model to a model their Copilot plan serves, for example "small_model": "github-copilot-enterprise/claude-haiku-4.5" (or their chat model).
Expected
getSmallModel never picks a model the catalogue marks deprecated or retired, and does not hard-code a model that a provider has retired; for Copilot the priority list should start from current small models and fall back to the session's chat model rather than fail.
The bundled snapshot is refreshed at each release so an offline or blocked machine gets the retirement statuses too, and the snapshot refresh is part of the release checklist.
A small request that fails with a "model not supported / retired" class error falls back to the chat model for that request instead of retrying the same retired model.
Activity