earendil-works/pi · error · Error
Invalid OpenAI Codex device code response: ${JSON.stringify(
Error message
Invalid OpenAI Codex device code response: ${JSON.stringify(json)} What it means
Error "Invalid OpenAI Codex device code response: ${JSON.stringify(json)}" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/auth/oauth/openai-codex.ts:225
`OpenAI Codex device code request failed with status ${response.status}${responseBody ? `: ${responseBody}` : ""}`,
);
}
const rawJson = await response.json();
const json = rawJson as {
device_auth_id?: string;
user_code?: string;
interval?: number | string;
} | null;
const intervalSeconds = typeof json?.interval === "string" ? Number(json.interval.trim()) : json?.interval;
if (
!json?.device_auth_id ||
!json.user_code ||
typeof intervalSeconds !== "number" ||
!Number.isFinite(intervalSeconds) ||
intervalSeconds < 0
) {
throw new Error(`Invalid OpenAI Codex device code response: ${JSON.stringify(json)}`);
}
return {
deviceAuthId: json.device_auth_id,
userCode: json.user_code,
intervalSeconds,
};
}
async function pollOpenAICodexDeviceAuth(device: DeviceAuthInfo, signal: AbortSignal): Promise<DeviceTokenSuccess> {
return pollOAuthDeviceCodeFlow<DeviceTokenSuccess>({
intervalSeconds: device.intervalSeconds,
expiresInSeconds: DEVICE_CODE_TIMEOUT_SECONDS,
signal,
poll: async () => {
const response = await fetchWithLoginCancellation(DEVICE_TOKEN_URL, {
method: "POST",
headers: { "Content-Type": "application/json" },View on GitHub (pinned to 4af9d21d3b)
Solutions
- Inspect the JSON payload in the message; retry or update parsing.
When it happens
Trigger: Thrown at packages/ai/src/auth/oauth/openai-codex.ts:225 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/40c3bc081480c98b.
Report an issue: GitHub.