earendil-works/pi · error · Error
OAuth callback did not complete.
Error message
OAuth callback did not complete.
What it means
Error "OAuth callback did not complete." thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/auth/oauth/radius.ts:253
handoff: "url",
state,
}).toString();
const callbackServer = await startOAuthCallbackServer(state, interaction.signal);
interaction.notify({ type: "progress", message: `Listening for OAuth callback on ${REDIRECT_URI}` });
interaction.notify({
type: "auth_url",
url: authorizeUrl.toString(),
instructions: "Continue in your browser.",
});
try {
const code = await callbackServer.waitForCode();
if (!code) {
if (interaction.signal.aborted) {
throw new Error("Login cancelled");
}
throw new Error("OAuth callback did not complete.");
}
return await requestOAuthToken(
gateway,
new URLSearchParams({
grant_type: "authorization_code",
client_id: OAUTH_CLIENT_ID,
redirect_uri: REDIRECT_URI,
code,
code_verifier: verifier,
}),
interaction.signal,
);
} finally {
callbackServer.close();
}
}
async function requestDeviceAuthorization(gateway: string, signal: AbortSignal): Promise<DeviceAuthorizationResponse> {View on GitHub (pinned to 4af9d21d3b)
Solutions
- Repeat the login; complete the browser callback flow.
When it happens
Trigger: Thrown at packages/ai/src/auth/oauth/radius.ts:253 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/006e181ade47a670.
Report an issue: GitHub.