Windows Store: splash stuck on personal account; app/list 402 deactivated_workspace; no sign-out/switch-account path

Resolved 💬 4 comments Opened Apr 27, 2026 by astral-duck Closed Apr 27, 2026

Resolution (verified)

Status: Reporter confirms the splash / stuck UI issue is resolved after the mitigation below.

Root cause (client-side): Session tokens for Codex were not only in the Microsoft Store sandbox profile. Clearing/rename of
%LocalAppData%\Packages\OpenAI.Codex_<family>\LocalCache\Roaming\Codex
alone did not sign the user out. The app continued to call app/list with the old session and received 402 Payment Required with deactivated_workspace, which presented as an endless splash.

Fix that worked: With Codex fully quit, rename (backup) then remove from use:

  • %USERPROFILE%\.codex\auth.json
  • %USERPROFILE%\.codex\cap_sid

On next launch, logs showed account/login/start and no deactivated_workspace in the new session. Completing browser / ChatGPT login finished recovery.

Suggested product follow-up (still valuable): Improve in-app handling when app/list returns 402 / deactivated_workspace (clear error + Sign out / Switch account), and document that Store users must clear both the MSIX LocalCache\Roaming\Codex profile and %USERPROFILE%\.codex\ auth files for a true reset.

---

Summary

Codex Windows Store (OpenAI.Codex MSIX) stayed on the splash / logo screen with no usable path to sign out, switch account, or recover when the backend rejected workspace/app listing. This reproduced on a personal (non-Business) account after subscription changes.

Environment

  • OS: Windows 11 (x64, AMD64)
  • App: Microsoft Store package OpenAI.Codex (example: OpenAI.Codex_26.422.3464.0_x64__2p2nqsd0c76g0)
  • Install: Store / MSIX, not VS Code extension
  • Account: Personal ChatGPT / OpenAI account (not a workplace org)

Symptoms

  • UI remained on initial splash (logo only) indefinitely from the user's perspective.
  • No clear login / logout / switch account affordance when the app was in this state.
  • After fully clearing only the MSIX profile (%LocalAppData%\Packages\OpenAI.Codex_<family>\LocalCache\Roaming\Codex renamed/deleted), the app still hit 402 + deactivated_workspace on app/list once account/read succeeded with the persisted .codex auth.

Log evidence (desktop log)

Local logs under:
%LocalAppData%\Packages\OpenAI.Codex_<family>\LocalCache\Local\Codex\Logs\...

Observed before fix:

  1. App server starts and handshakes OK (not a VC++/DLL crash):
  • stdio_transport_spawned ... codex.exe
  • initialize_handshake_result ... outcome=success
  • Codex CLI initialized
  1. Critical API failure on app/list:
  • method=app/list fails with JSON-RPC style error, message along the lines of:
  • failed to list apps: Request failed with status 402 Payment Required: {"detail":{"code":"deactivated_workspace"}}
  • Followed by Failed to load apps list
  1. Secondary noise (probably not root cause):
  • experimentalFeature/enablement/set fails with unsupported feature enablement workspace_dependencies while the renderer enables workspace_dependencies in Features enabled ... — suggests desktop vs bundled codex.exe feature skew.
  1. Intermittent very slow startup (same session class):
  • [startup][renderer] app routes mounted after ~70000ms in some runs vs ~1-2s in others — splash felt stuck even when the process was alive.

Expected behavior

  • If app/list (or equivalent) returns 402 / deactivated_workspace for a personal account, the client should:
  • Show a clear in-app error (billing / plan / workspace state), and
  • Offer Sign out / Switch account / Retry without requiring manual deletion of profile folders or hidden auth files.

Actual behavior (before fix)

  • Splash / minimal UI with no actionable recovery; clearing only the MSIX LocalCache\Roaming\Codex path was insufficient because %USERPROFILE%\.codex\auth.json and cap_sid still carried the session.

Repro steps (high level)

  1. Install Codex from Microsoft Store on Windows 11 x64.
  2. Sign in with a personal account that hits 402 + deactivated_workspace on app/list (e.g. after plan/workspace transitions).
  3. Observe: stuck splash, no sign-in switch path — until .codex auth files are reset as above.

Request (unchanged)

  1. Product/UX: handle deactivated_workspace / 402 on app listing with a visible recovery path (copy + CTA + sign out).
  2. Client/server: clarify why deactivated_workspace applies to personal accounts and align messaging.
  3. Packaging / docs: document full reset locations: MSIX LocalCache\Roaming\Codex, %USERPROFILE%\.codex\auth.json, %USERPROFILE%\.codex\cap_sid.

Thank you.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗