earendil-works/pi · error · Error
OpenAI Codex token refresh error: ${error instanceof Error ?
Error message
OpenAI Codex token refresh error: ${error instanceof Error ? error.message : String(error)} What it means
Error "OpenAI Codex token refresh error: ${error instanceof Error ? error.message : String(error)}" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/auth/oauth/openai-codex.ts:185
return readTokenResponse(response, "exchange");
}
async function refreshAccessToken(refreshToken: string, signal: AbortSignal): Promise<OAuthToken> {
let response: Response;
try {
response = await fetch(TOKEN_URL, {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
grant_type: "refresh_token",
refresh_token: refreshToken,
client_id: CLIENT_ID,
}),
signal,
});
} catch (error) {
throw new Error(`OpenAI Codex token refresh error: ${error instanceof Error ? error.message : String(error)}`);
}
return readTokenResponse(response, "refresh");
}
async function startOpenAICodexDeviceAuth(signal: AbortSignal): Promise<DeviceAuthInfo> {
const response = await fetchWithLoginCancellation(DEVICE_USER_CODE_URL, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ client_id: CLIENT_ID }),
signal,
});
if (!response.ok) {
if (response.status === 404) {
throw new Error(
"OpenAI Codex device code login is not enabled for this server. Use browser login or verify the server URL.",
);View on GitHub (pinned to 4af9d21d3b)
Solutions
- Inspect the embedded error; re-login if the refresh token is invalid.
When it happens
Trigger: Thrown at packages/ai/src/auth/oauth/openai-codex.ts:185 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/0aba328e34d1f53e.
Report an issue: GitHub.