earendil-works/pi · error · Error
Anthropic token refresh request failed. url=${TOKEN_URL}; de
Error message
Anthropic token refresh request failed. url=${TOKEN_URL}; details=${formatErrorDetails(error)} What it means
Error "Anthropic token refresh request failed. url=${TOKEN_URL}; details=${formatErrorDetails(error)}" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/auth/oauth/anthropic.ts:330
}
/**
* Refresh Anthropic OAuth token
*/
async function refreshAnthropicToken(refreshToken: string, signal: AbortSignal): Promise<OAuthCredential> {
let responseBody: string;
try {
responseBody = await postJson(
TOKEN_URL,
{
grant_type: "refresh_token",
client_id: CLIENT_ID,
refresh_token: refreshToken,
},
signal,
);
} catch (error) {
throw new Error(`Anthropic token refresh request failed. url=${TOKEN_URL}; details=${formatErrorDetails(error)}`);
}
let data: { access_token: string; refresh_token: string; expires_in: number; scope?: string };
try {
data = JSON.parse(responseBody) as {
access_token: string;
refresh_token: string;
expires_in: number;
scope?: string;
};
} catch (error) {
throw new Error(
`Anthropic token refresh returned invalid JSON. url=${TOKEN_URL}; body=${responseBody}; details=${formatErrorDetails(error)}`,
);
}
return {
type: "oauth",View on GitHub (pinned to 4af9d21d3b)
Solutions
- Re-login; the token refresh request failed per the embedded details.
When it happens
Trigger: Thrown at packages/ai/src/auth/oauth/anthropic.ts:330 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/b2fc59598dab1e62.
Report an issue: GitHub.