Skip to content

[Bug]: One failed Codex status check marks the provider unavailable until the next refresh, while sessions still work #25499

Open

Description

@ViaxCo

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/server

Steps to reproduce

This is the follow-up that was asked for in #7230 ("timeouts still publish and cache errors ... please open a new issue for that part only").

  1. Use Codex with ChatGPT auth and the default 5-minute provider health refresh.
  2. Wait for one periodic status check to fail. In my case, the Codex app-server took 15 s and then sent back a JSON-RPC error: workspace routing discovery timed out.
  3. Keep using existing Codex threads.

Expected behavior

One failed check does not replace a ready snapshot with an error. T3 checks again soon, and publishes the error only if the failure repeats. An auth failure (unauthenticated) can still show at once.

Actual behavior

The failed check is published and cached as error straight away. The provider shows Unavailable in Settings and in the thread banner. Nothing checks again until the next interval. Running Codex threads keep streaming tokens, but they do not update the status. In practice I go to Settings → Providers and click Refresh, and it recovers in about 3 s.

Timeline from my server trace (checkCodexProviderStatus spans, local time):

Time Duration Result
14:51:10 2.7 s ready
14:56:13 3.0 s ready
15:01:16 15.3 s error: workspace routing discovery timed out
15:05:15 2.8 s ready (manual Refresh)

The failure came from the first app-server request after initialize, probably account/read. That request has no discovery deadline, so its error fails the whole probe.

Open draft #22794 is in the same area (managedProvider.ts). It may not cover this case, because T3's own timeout did not fire: Codex sent back an error message. A possible fix is in applySnapshotBase: when the previous snapshot was ready and the new probe is not ready (not counting unauthenticated), check once more after a short delay before publishing.

Impact

Codex looks unavailable for up to one refresh interval after one transient upstream failure, while it works. Per #7230, an error snapshot can also block new sessions.

Version or commit

0.1.3-nightly.20261025.3655. The same logic is on main at f0dd86f.

Environment

macOS 26 (Darwin 25.6.0), T3 Code desktop nightly, Codex with ChatGPT auth.

Logs or stack traces

CodexAppServerRequestError: workspace routing discovery timed out
    at CodexAppServerRequestError.fromProtocolError
    at CodexAppServerProtocol.request
    at probeCodexAppServerProvider
    at checkCodexProviderStatus
    at applySnapshot

Workaround

Settings → Providers → Codex → Refresh.

Activity

  1. bbonvi commented on Oct 29, 2026

    @bbonvi

    Also reproduced on Windows 11 build 26200, T3 Desktop/server 0.1.4, Codex CLI 0.165.0 with ChatGPT auth. First noticed around T3 0.1.3. Happens with both the local Windows client and a Mac client connected to the Windows server.

    On October 29, server traces show three probes failing after roughly 15 seconds with workspace routing discovery timed out, followed by successful probes. The later provider snapshot reports ready and authenticated.

    In v0.1.4, account/read can fail the whole probe, and managedProvider.ts immediately publishes the error snapshot. Please retry a transient probe failure before replacing a previously ready status.

    Prepared by GPT-6.1-Sol through the T3 Code Codex harness.

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