different-ai/openwork · error
Recovery installer checksum did not match its signed manifes
Error message
Recovery installer checksum did not match its signed manifest.
What it means
Error "Recovery installer checksum did not match its signed manifest." thrown in different-ai/openwork.
Source
Thrown at apps/desktop/electron/recovery.mjs:198
export function recoveryVersionMarkers(installedVersion, persistedState) {
const currentVersion = stableVersion(installedVersion);
const persistedCurrent = stableVersion(persistedState?.currentVersion);
const persistedPrevious = stableVersion(persistedState?.previousVersion);
return {
currentVersion,
previousVersion: persistedCurrent && persistedCurrent !== currentVersion
? persistedCurrent
: persistedPrevious,
};
}
export async function cacheVerifiedRecoveryArtifact({ app, artifact, fetchArtifact }) {
const response = await fetchArtifact(artifact.url);
if (!response.ok) throw new Error(`Recovery download failed with HTTP ${response.status}.`);
const bytes = Buffer.from(await response.arrayBuffer());
const checksum = createHash("sha512").update(bytes).digest("base64");
if (checksum !== artifact.sha512) throw new Error("Recovery installer checksum did not match its signed manifest.");
const cacheDirectory = path.join(app.getPath("userData"), RECOVERY_CACHE_DIRECTORY);
const stagingDirectory = `${cacheDirectory}.staging`;
const backupDirectory = `${cacheDirectory}.backup`;
const fileName = path.basename(new URL(artifact.url).pathname);
await rm(stagingDirectory, { recursive: true, force: true });
await mkdir(stagingDirectory, { recursive: true });
await writeFile(path.join(stagingDirectory, fileName), bytes);
await writeFile(
path.join(stagingDirectory, "metadata.json"),
`${JSON.stringify({ ...artifact, checksum, fileName }, null, 2)}\n`,
"utf8",
);
await rm(backupDirectory, { recursive: true, force: true });
let previousMoved = false;
try {
await rename(cacheDirectory, backupDirectory);
previousMoved = true;
} catch {View on GitHub (pinned to 2b7df46e8a)
When it happens
Trigger: Thrown at apps/desktop/electron/recovery.mjs:198 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of different-ai/openwork@2b7df46e8a (2026-09-01).
Data as JSON: /api/errors/046292f9143146fa.
Report an issue: GitHub.