earendil-works/pi · error · Error
Kimi Code token ${operation} response missing fields: ${JSON
Error message
Kimi Code token ${operation} response missing fields: ${JSON.stringify(json)} What it means
Error "Kimi Code token ${operation} response missing fields: ${JSON.stringify(json)}" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/auth/oauth/kimi-coding.ts:133
? expiresIn
: DEVICE_CODE_TIMEOUT_SECONDS,
};
}
function parseTokenResponse(json: Record<string, unknown> | null, operation: string): TokenResponse {
const accessToken = json?.access_token;
const refreshToken = json?.refresh_token;
const expiresIn = json?.expires_in;
if (
typeof accessToken !== "string" ||
!accessToken ||
typeof refreshToken !== "string" ||
!refreshToken ||
typeof expiresIn !== "number" ||
!Number.isFinite(expiresIn) ||
expiresIn <= 0
) {
throw new Error(`Kimi Code token ${operation} response missing fields: ${JSON.stringify(json)}`);
}
return {
access: accessToken,
refresh: refreshToken,
expires: Date.now() + expiresIn * 1000,
};
}
async function pollForToken(
oauthHost: string,
device: DeviceAuthorization,
signal: AbortSignal,
): Promise<TokenResponse> {
return pollOAuthDeviceCodeFlow<TokenResponse>({
intervalSeconds: device.intervalSeconds,
expiresInSeconds: device.expiresInSeconds,
waitBeforeFirstPoll: true,
signal,View on GitHub (pinned to 4af9d21d3b)
Solutions
- Inspect the payload in the message and retry the token operation.
When it happens
Trigger: Thrown at packages/ai/src/auth/oauth/kimi-coding.ts:133 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/e3a18c56ccd683ac.
Report an issue: GitHub.