earendil-works/pi · error · Error
Kimi Code device authorization failed with status ${response
Error message
Kimi Code device authorization failed with status ${response.status}${text ? `: ${text}` : ""} What it means
Error "Kimi Code device authorization failed with status ${response.status}${text ? `: ${text}` : ""}" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/auth/oauth/kimi-coding.ts:83
} catch {
return null;
}
}
async function startDeviceAuthorization(oauthHost: string, signal: AbortSignal): Promise<DeviceAuthorization> {
const response = await fetch(`${oauthHost}/api/oauth/device_authorization`, {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
Accept: "application/json",
},
body: formUrlEncode({ client_id: CLIENT_ID }),
signal: requestSignal(signal),
});
if (!response.ok) {
const text = await response.text().catch(() => "");
throw new Error(`Kimi Code device authorization failed with status ${response.status}${text ? `: ${text}` : ""}`);
}
const json = await readJson(response);
const deviceCode = json?.device_code;
const userCode = json?.user_code;
const verificationUri = json?.verification_uri;
const verificationUriComplete = json?.verification_uri_complete;
if (
typeof deviceCode !== "string" ||
typeof userCode !== "string" ||
typeof verificationUri !== "string" ||
typeof verificationUriComplete !== "string" ||
!trustedHttpUrl(verificationUriComplete) ||
!trustedHttpUrl(verificationUri)
) {
throw new Error(`Invalid Kimi Code device authorization response: ${JSON.stringify(json)}`);
}
View on GitHub (pinned to 4af9d21d3b)
Solutions
- Check the status and body; verify the device authorization endpoint and client configuration.
When it happens
Trigger: Thrown at packages/ai/src/auth/oauth/kimi-coding.ts:83 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/93bad23414e7bfdc.
Report an issue: GitHub.