earendil-works/pi · error · Error
Model catalog refresh timed out.
Error message
Model catalog refresh timed out.
What it means
Error "Model catalog refresh timed out." thrown in earendil-works/pi.
Source
Thrown at packages/coding-agent/src/package-manager-cli.ts:599
}
async function refreshModelCatalogs(agentDir: string): Promise<void> {
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 15_000);
try {
const modelRuntime = await ModelRuntime.create({
authPath: join(agentDir, "auth.json"),
modelsPath: join(agentDir, "models.json"),
allowModelNetwork: false,
signal: controller.signal,
});
const result = await modelRuntime.refresh({
allowNetwork: true,
force: true,
signal: controller.signal,
});
if (result.aborted) {
throw new Error("Model catalog refresh timed out.");
}
if (result.errors.size > 0) {
const details = Array.from(result.errors, ([provider, error]) => `${provider}: ${error.message}`).join("; ");
throw new Error(`Could not refresh model catalogs: ${details}`);
}
} finally {
clearTimeout(timeout);
}
console.log(chalk.green("Model catalogs refreshed"));
}
function printSelfUpdateUnavailable(
npmCommand?: string[],
updatePackageTarget: SelfUpdatePackageTarget = PACKAGE_NAME,
): void {
console.error(`error: ${APP_NAME} cannot self-update this installation.`);
console.error(getSelfUpdateUnavailableInstruction(PACKAGE_NAME, npmCommand, updatePackageTarget));
View on GitHub (pinned to 4af9d21d3b)
When it happens
Trigger: Thrown at packages/coding-agent/src/package-manager-cli.ts:599 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/86eb0bad81d59a3a.
Report an issue: GitHub.