earendil-works/pi · error · Error
Failed to extract ${assetName}: ${failures.join("; ")}
Error message
Failed to extract ${assetName}: ${failures.join("; ")} What it means
Error "Failed to extract ${assetName}: ${failures.join("; ")}" thrown in earendil-works/pi.
Source
Thrown at packages/coding-agent/src/utils/tools-manager.ts:238
"Bypass",
"-Command",
script,
archivePath,
extractDir,
]);
if (!powershellFailure) return;
failures.push(powershellFailure);
} else {
const unzipFailure = runExtractionCommand("unzip", ["-q", archivePath, "-d", extractDir]);
if (!unzipFailure) return;
failures.push(unzipFailure);
const tarFailure = runExtractionCommand("tar", ["xf", archivePath, "-C", extractDir]);
if (!tarFailure) return;
failures.push(tarFailure);
}
throw new Error(`Failed to extract ${assetName}: ${failures.join("; ")}`);
}
// Download and install a tool
async function downloadTool(tool: "fd" | "rg"): Promise<string> {
const config = TOOLS[tool];
if (!config) throw new Error(`Unknown tool: ${tool}`);
const plat = platform();
const architecture = arch();
// Get latest version
let version = await getLatestVersion(config.repo);
if (tool === "fd" && plat === "darwin" && architecture === "x64") {
version = "10.3.0";
}
// Get asset name for this platform
const assetName = config.getAssetName(version, plat, architecture);View on GitHub (pinned to 4af9d21d3b)
When it happens
Trigger: Thrown at packages/coding-agent/src/utils/tools-manager.ts:238 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/ea847e93c2bc75ec.
Report an issue: GitHub.