stablyai/orca · warning · Error

The selected Codex account credentials are temporarily unava

Error message

The selected Codex account credentials are temporarily unavailable. Try opening the terminal again.

What it means

Distinct from 1261/1262: 'selected' (not 'session'). Thrown at the end of continueCodexHomeAfterManagedAuthWait when no requiredCodexHomePath pins a session, but after two readiness attempts the final isCodexHomeAuthReadyForLaunch check on the currently selected managed home still returns false. This guards a fresh launch (not a resume) when the selected account's credential never materialized.

Source

Thrown at src/main/ipc/pty.ts:1384

      codexHomePath: selectedCodexHomePath,
      settings: args.getSettings(),
      target: args.target
    })
    if (!nextReadiness) {
      return selectedCodexHomePath
    }
    readiness = nextReadiness
  }
  if (
    isCodexHomeAuthReadyForLaunch({
      codexHomePath: selectedCodexHomePath,
      settings: args.getSettings(),
      target: args.target
    })
  ) {
    return selectedCodexHomePath
  }
  throw new Error(MANAGED_CODEX_AUTH_UNAVAILABLE_MESSAGE)
}

function codexHomeSelectionsEqual(left: string | null, right: string | null): boolean {
  return (
    left === right ||
    (left !== null &&
      right !== null &&
      normalizeRuntimePathForComparison(left) === normalizeRuntimePathForComparison(right))
  )
}

function codexHomePathsEqual(left: string | null, right: string): boolean {
  return codexHomeSelectionsEqual(left, right)
}

// Why: CODEX_HOME is fixed in a shell's environment at spawn and the daemon
// keeps that shell alive across app restarts, so the launch account is the only
// way to tell later that a pane still runs Codex as the previously selected

View on GitHub (pinned to 1136503c6a)

Solutions

  1. Retry the launch — the readiness window is short and most credentials settle within a few seconds.
  2. Open Settings > Codex managed accounts and re-authenticate the selected account so auth.json is regenerated with a complete credential.
  3. Switch to a different managed account or to an API-key config that does not depend on the managed auth file.
  4. If on Windows, ensure no other process holds auth.json open during rotation.
Defensive patterns

Strategy: retry

Validate before calling

import { isCodexHomeAuthReadyForLaunch } from '../codex-accounts/managed-codex-auth-readiness'

// before spawning a fresh Codex terminal
if (!isCodexHomeAuthReadyForLaunch({ codexHomePath: selected, settings, target })) {
  await waitForManagedCodexAuthReady({ codexHomePath: selected, settings, target })
}

Type guard

function isManagedCodexAuthUnavailable(err: unknown): boolean {
  return (
    err instanceof Error &&
    err.message === 'The selected Codex account credentials are temporarily unavailable. Try opening the terminal again.'
  )
}

Try / catch

try {
  await launchCodex(args)
} catch (err) {
  if (isManagedCodexAuthUnavailable(err)) {
    surfaceTransient('Codex credentials not ready — please reopen the terminal.')
    return
  }
  throw err
}

Prevention

When it happens

Trigger: Starting a new Codex terminal against a managed host home whose auth.json is not launch-ready: no OPENAI_API_KEY for apikey mode, missing token triple for chatgpt mode, missing agent_runtime_id/agent_private_key for agentIdentity mode, missing api_key for bedrock, etc. The two-pass wait plus final check all failed.

Common situations: Adding a managed account but never completing sign-in; account whose token set expired and background refresh is stuck; corrupted auth.json that parses but yields 'no-credential' state; switching selected account mid-launch to one that has not finished provisioning.

Related errors


AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12). Data as JSON: /api/errors/0952df32b58c1a22. Report an issue: GitHub.