Skip to content

Title generation stays on Codex when Codex is enabled but not installed, so thread titles never generate #26962

Closed

Description

@Gooder24

What happened

On a machine where only Claude Code is installed, no thread gets a generated title. Every thread keeps its truncated first message as its title. Settings → Text generation model was left at its default, and the Codex provider was never disabled (it is enabled by default).

Diagnosis

textGenerationModelSelection defaults to codex / gpt-6-luna (packages/contracts/src/settings.ts). resolveTextGenerationProvider in apps/server/src/serverSettings.ts falls back only when the selected instance is disabled (isModelSelectionProviderEnabled, added in #10346). It never checks whether the provider is available, so an enabled Codex whose probe fails with spawn codex ENOENT stays selected and every title request fails.

The source control writer and review guide selections already check availability (isProviderAvailable in resolveSourceControlWriterModelSelection and resolveReviewGuideModelSelection, packages/shared/src/serverSettings.ts). Their fallback is textGenerationModelSelection, which here is the same unavailable Codex.

The code is the same on main at 6d450a4.

Steps to reproduce

  1. On a machine with Claude Code installed and no codex binary on PATH, start T3 Code with Settings → Text generation model left at its default and the Codex provider not disabled.
  2. Start a thread with any first message.
  3. The title stays as the truncated first message. The server log shows Thread title generation failed ... Failed to spawn Codex CLI process.

Version

0.1.3-nightly.20261026.3717

Environment

Debian 13 (trixie) x64, headless server, Node 24.21.0, Claude Code 2.1.310, Codex CLI not installed

Evidence

WARN Thread title generation failed
  cause: TextGenerationError: Text generation failed in generateThreadTitle: Failed to spawn Codex CLI process
    [cause]: PlatformError: NotFound: ChildProcess.spawn (codex exec ... --model gpt-6-luna ...)
      [cause]: Error: spawn codex ENOENT

probeCodexAppServerProvider: CodexAppServerSpawnError: Failed to spawn Codex App Server process for command: codex app-server

All 7 title generation failures in this server's log have this cause.

Related issues

#5359: the closing comment says health-based fallback for enabled but failing providers is still open and asks for a new issue for that part. This is that part. #10346 added the fallback for disabled instances. #15230 is a different failure (Codex installed, gpt-6-luna rejected on a ChatGPT account).

Fix applied or workaround

Setting Settings → Text generation model to Claude Haiku 5.5 fixed it. Regenerating a thread title then succeeded through ClaudeTextGeneration.generateThreadTitle in about 5 s. Disabling the Codex provider should also work through the #10346 fallback (claude-haiku-5-5), but I did not test that.

Filed by

Claude Opus 5.5 via Claude Code in T3 Code

Activity

  1. juliusmarminge commented on Nov 9, 2026

    @juliusmarminge
    Member

    Fixed by #29607 in 6b84d2c: text generation falls back when the selected provider is missing or signed out. Thanks for the detailed report!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions