earendil-works/pi · error · Error
Radius OAuth device authorization response is missing requir
Error message
Radius OAuth device authorization response is missing required fields
What it means
Error "Radius OAuth device authorization response is missing required fields" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/auth/oauth/radius.ts:293
method: "POST",
headers: { accept: "application/json", "content-type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({ client_id: OAUTH_CLIENT_ID, scope: OAUTH_SCOPE }),
signal,
});
} catch (error) {
if (signal.aborted) {
throw new Error("Login cancelled");
}
throw error;
}
if (!response.ok) {
throw await readOAuthResponseError(response, "Radius OAuth device authorization failed");
}
const data = (await response.json()) as Partial<DeviceAuthorizationResponse>;
if (!data.device_code || !data.user_code || !data.verification_uri || !data.expires_in) {
throw new Error("Radius OAuth device authorization response is missing required fields");
}
return {
device_code: data.device_code,
user_code: data.user_code,
verification_uri: data.verification_uri,
expires_in: data.expires_in,
interval: data.interval,
};
}
async function loginWithDeviceCode(gateway: string, interaction: ProviderAuthInteraction): Promise<OAuthCredential> {
const device = await requestDeviceAuthorization(gateway, interaction.signal);
interaction.notify({
type: "device_code",
userCode: device.user_code,
verificationUri: device.verification_uri,
intervalSeconds: device.interval,View on GitHub (pinned to 4af9d21d3b)
Solutions
- Retry the device authorization; inspect the payload for the missing fields.
When it happens
Trigger: Thrown at packages/ai/src/auth/oauth/radius.ts:293 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/39816e4b017ad9ab.
Report an issue: GitHub.