What happened
On Windows the Codex provider card intermittently flips to error — toast "Codex provider status: Timed out while checking Codex app-server provider status." — even though Codex is installed, logged in (ChatGPT Pro) and works. It stays in that state until the next health refresh (5 min by default), and it happens most reliably right after app start or a renderer reload, when all providers probe at once.
Diagnosis
checkCodexProviderStatus (apps/server, //#region src/provider/Layers/CodexProvider.ts in the shipped bundle) runs probeCodexAppServerProvider — spawn codex app-server (via the npm .cmd shim on Windows → node → native exe), initialize, account/read, then skills/list + the full model listing — inside a single timeoutOption(AUTH_PROBE_TIMEOUT_MS) with AUTH_PROBE_TIMEOUT_MS = 1e4 (10 s, src/provider/providerSnapshot.ts). On timeout it returns status: "error", auth: unknown, models = custom-only, discarding the previous good snapshot.
Measured on this machine today (server.trace.ndjson, probeCodexAppServerProvider / checkCodexProviderStatus):
| time (UTC) |
probe |
check |
outcome |
| 08:05:12 |
4,990 ms |
5,599 ms |
ok |
| 08:05:23 |
9,794 ms |
11,324 ms |
timed out (boot) |
| 08:10:12 |
2,512 ms |
3,144 ms |
ok |
| 08:15:15 |
2,451 ms |
2,883 ms |
ok |
| 08:20:18 |
1,696 ms |
2,135 ms |
ok |
| 08:30:20 |
2,481 ms |
2,917 ms |
ok |
| 08:45:34 |
4,109 ms |
4,865 ms |
ok |
| 08:53:16 |
10,068 ms (Interrupted) |
12,072 ms |
timed out (renderer reload) |
2 of 8 probes exceed the 10 s bound; the others take 1.7–5 s, so the bound is within normal variance for this platform under load (5 providers probing concurrently + the known 5 s editor-discovery block, #4697).
Suggested fix (small): either raise AUTH_PROBE_TIMEOUT_MS on Windows (or overall), or on timeout keep the last known-good snapshot and mark it stale (status "warning", "Codex probe timed out; showing last known status") instead of flipping to error with an empty model list.
Steps to reproduce
- Windows desktop app, Codex installed via npm (
@openai/codex 0.148.0, ChatGPT login).
- Start the app (or reload the renderer) so all provider probes run concurrently.
- Watch
caches/codex.json / the Codex card: roughly 1 in 4 probes lands at status: "error", message "Timed out while checking Codex app-server provider status.", until the next 5-minute refresh.
Version
0.0.34-nightly.20260819.1132 (commit 36f4314).
Environment
Windows 11 Pro 10.0.26100, Node 24.11.1, @openai/codex 0.148.0 (npm, via %APPDATA%\npm\codex.cmd), ChatGPT Pro login.
Evidence
# caches/codex.json after the 08:53:16 probe
{"status":"error","installed":true,"version":null,"auth":{"status":"unknown"},
"message":"Timed out while checking Codex app-server provider status.","checkedAt":"2026-08-19T08:53:16.976Z"}
# bundle
const AUTH_PROBE_TIMEOUT_MS = 1e4;
... probe({...}).pipe(scoped$1, timeoutOption(millis(AUTH_PROBE_TIMEOUT_MS)), result$1)
... if (isNone(probeResult.success)) return buildServerProvider({ ... status: "error", auth: { status: "unknown" }, message: "Timed out while checking Codex app-server provider status." })
Related issues
#4697 / #5137 (editor discovery blocking server.getConfig for 5 s on Windows) is the likely source of the concurrent load, but this is about the provider probe's own bound and error handling; no existing issue mentions the Codex probe timeout.
Fix applied or workaround
None locally (the timeout is a constant). It self-heals at the next 5-minute refresh or on a settings change.
Filed by
Claude (Fable 5) via Claude Code on the reporter's machine, at the reporter's request.
What happened
On Windows the Codex provider card intermittently flips to error — toast "Codex provider status: Timed out while checking Codex app-server provider status." — even though Codex is installed, logged in (ChatGPT Pro) and works. It stays in that state until the next health refresh (5 min by default), and it happens most reliably right after app start or a renderer reload, when all providers probe at once.
Diagnosis
checkCodexProviderStatus(apps/server,//#region src/provider/Layers/CodexProvider.tsin the shipped bundle) runsprobeCodexAppServerProvider— spawncodex app-server(via the npm.cmdshim on Windows → node → native exe),initialize,account/read, thenskills/list+ the full model listing — inside a singletimeoutOption(AUTH_PROBE_TIMEOUT_MS)withAUTH_PROBE_TIMEOUT_MS = 1e4(10 s,src/provider/providerSnapshot.ts). On timeout it returnsstatus: "error",auth: unknown, models = custom-only, discarding the previous good snapshot.Measured on this machine today (
server.trace.ndjson,probeCodexAppServerProvider/checkCodexProviderStatus):2 of 8 probes exceed the 10 s bound; the others take 1.7–5 s, so the bound is within normal variance for this platform under load (5 providers probing concurrently + the known 5 s editor-discovery block, #4697).
Suggested fix (small): either raise
AUTH_PROBE_TIMEOUT_MSon Windows (or overall), or on timeout keep the last known-good snapshot and mark it stale (status "warning", "Codex probe timed out; showing last known status") instead of flipping toerrorwith an empty model list.Steps to reproduce
@openai/codex0.148.0, ChatGPT login).caches/codex.json/ the Codex card: roughly 1 in 4 probes lands atstatus: "error", message "Timed out while checking Codex app-server provider status.", until the next 5-minute refresh.Version
0.0.34-nightly.20260819.1132 (commit 36f4314).
Environment
Windows 11 Pro 10.0.26100, Node 24.11.1,
@openai/codex0.148.0 (npm, via%APPDATA%\npm\codex.cmd), ChatGPT Pro login.Evidence
Related issues
#4697 / #5137 (editor discovery blocking
server.getConfigfor 5 s on Windows) is the likely source of the concurrent load, but this is about the provider probe's own bound and error handling; no existing issue mentions the Codex probe timeout.Fix applied or workaround
None locally (the timeout is a constant). It self-heals at the next 5-minute refresh or on a settings change.
Filed by
Claude (Fable 5) via Claude Code on the reporter's machine, at the reporter's request.