earendil-works/pi · error · ModelsError
auth
auth
Error message
Credential store modify failed for ${providerId} What it means
Error "Credential store modify failed for ${providerId}" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/auth/resolve.ts:162
providerId,
async (current) => {
if (current?.type !== "oauth") return undefined; // logged out meanwhile
if (!expiresSoon(current)) return undefined; // another process/request refreshed
try {
const refreshSignal = AbortSignal.any([
signal,
AbortSignal.timeout(DEFAULT_OAUTH_REFRESH_TIMEOUT_MS),
]);
return await oauth.refresh(current, refreshSignal);
} catch (error) {
throw new ModelsError("oauth", `OAuth refresh failed for ${providerId}`, { cause: error });
}
},
{ signal },
);
} catch (error) {
if (error instanceof ModelsError) throw error;
throw new ModelsError("auth", `Credential store modify failed for ${providerId}`, { cause: error });
}
if (post?.type !== "oauth") return undefined; // logged out meanwhile
credential = post;
// The normal five-minute window triggers a refresh but does not impose a
// provider contract. Explicit callers (such as bearer-token export) do
// require the requested minimum after the refresh.
if (minOAuthValidityMs !== undefined && expiresSoon(credential)) {
throw new ModelsError("oauth", `OAuth refresh returned a token that expires too soon for ${providerId}`);
}
}
try {
return { auth: await oauth.toAuth(credential), source: "OAuth" };
} catch (error) {
throw new ModelsError("oauth", `OAuth auth derivation failed for ${providerId}`, { cause: error });
}
}
View on GitHub (pinned to 4af9d21d3b)
Solutions
- Check the credential store backend and its permissions; retry the modify operation.
When it happens
Trigger: Thrown at packages/ai/src/auth/resolve.ts:162 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/0c1102f7240302d3.
Report an issue: GitHub.