Repository navigation
[Bug]: Title generation falls back from Codex despite available credits, then fails silently #27792
Description
Before submitting
- I searched existing issues and did not find a duplicate of the credit-aware text-generation fallback problem.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server
Actual behavior
I tried to regenerate a thread title, but nothing changed. There wasn't an error in the UI. Codex chats were still working on the same account.
The title-generation setting used gpt-6-luna through a separate Codex provider instance configured with a shadow home path for a secondary account. The server log showed that T3 used OpenCode instead:
Text generation failed in generateThreadTitle: OpenCode could not generate the text.
provider.no-route: Model unavailable: openai/gpt-5
The request completed and cleared the pending state without changing the title.
What the investigation found
A read-only account/rateLimits/read request for the same Codex account reported:
- Weekly included allowance: 100% used.
credits.hasCredits: true, with a positive balance.spendControlReached: false.
The installed exhaustedUsageWindow check uses exhausted allowance windows without considering spendable credits. Replaying that check with the reported quota values triggers fallback. The text-generation fallback then picks OpenCode's built-in openai/gpt-5 default, which isn't available on this setup.
The usage probe was captured after the failed request. The server's exact in-memory usage snapshot at the time of that request wasn't captured.
Expected behavior
Keep using the selected Codex account when it can still generate using credits and the applicable credit policy allows it. An exhausted included allowance shouldn't, by itself, force a different provider.
If credits are unavailable or disallowed, preserve T3's existing quota handling. Use the configured fallback where applicable, or keep the current resume, reset, and snooze options. This report isn't asking for a different fallback policy or automatic permission to spend credits.
If title generation fails, show an error with enough detail to identify the failed provider and model. Right now it looks like the button did nothing.
Steps to reproduce
- Use a Codex account whose included weekly allowance is exhausted but which still has spendable credits.
- Select that account under Text generation model. In this case, the model was
gpt-6-luna. - Have OpenCode enabled with no access to its built-in
openai/gpt-5default. - Choose Regenerate title on an existing thread.
- Check the server log. The title stays unchanged, and the generation error only appears in the log.
Impact
Minor bug or occasional failure. Title regeneration silently fails, while ordinary Codex chats keep working.
Version or commit
T3 Code desktop 0.1.5.
Environment
- macOS, Apple Silicon.
- Failure observed October 30, 2026, at 19:04:46 UTC.
I later used an available quota-reset credit. Title regeneration hasn't been retested since the reset.
Related
- Discussion #19087 covers stopping at included plan limits instead of using extra usage. This report is about the opposite routing error: abandoning an account whose credits still permit generation. It doesn't request new spending controls.
- feat(server,web,mobile): fall back when the default provider is out of usage #26164 added quota-based text-generation fallback.
- fix(opencode): use Big Pickle for default text generation #22442 proposes replacing OpenCode's default with Big Pickle. That addresses the unavailable fallback model, but doesn't address switching away from Codex despite available credits.
- [Bug]: Thread title and branch-name generation fail silently when the text generation provider is unhealthy #5359 covers silent title-generation failures from other triggers.
Activity