paperclipai/paperclip · error · Error
workspace_durable_seed_digest_mismatch
workspace_durable_seed_digest_mismatch
Error message
workspace_durable_seed_digest_mismatch
What it means
Guard in copyDurableSeedArchive: the durable workspace seed archive at sourcePath exists but its SHA-256 digest does not match expectedSha256 from the runtime spec. It fires when the seed tarball was corrupted, truncated, or replaced between when its digest was recorded and when prepareSandboxManagedRuntime copies it.
Source
Thrown at packages/adapter-utils/src/sandbox-managed-runtime.ts:774
stream.on("error", rejectDigest);
stream.on("end", () => resolveDigest(digest.digest("hex")));
});
}
async function copyDurableSeedArchive(input: {
sourcePath: string;
targetPath: string;
expectedSha256?: string | null;
}): Promise<void> {
const source = await fs.lstat(input.sourcePath);
if (source.isSymbolicLink() || !source.isFile()) {
throw new Error("workspace_durable_seed_invalid");
}
if (
input.expectedSha256 &&
(await sha256File(input.sourcePath)) !== input.expectedSha256
) {
throw new Error("workspace_durable_seed_digest_mismatch");
}
await fs.copyFile(input.sourcePath, input.targetPath);
}
async function persistDurableSeedArchive(input: {
sourcePath: string;
targetPath: string;
}): Promise<void> {
const parent = path.dirname(input.targetPath);
await fs.mkdir(parent, { recursive: true, mode: 0o700 });
const parentStat = await fs.lstat(parent);
if (parentStat.isSymbolicLink() || !parentStat.isDirectory()) {
throw new Error("workspace_durable_seed_root_invalid");
}
const temporary = path.join(
parent,
`.${path.basename(input.targetPath)}.${randomUUID()}.tmp`,
);View on GitHub (pinned to 01ad858492)
Solutions
- Rebuild or re-upload the durable workspace seed tarball so its bytes match the recorded digest
- Update the spec's expected SHA-256 if the seed was intentionally regenerated
- Verify disk and transport integrity (checksum after copy) to rule out bit rot or partial writes
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/adapter-utils/src/sandbox-managed-runtime.ts:774 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-09-10).
Data as JSON: /api/errors/658ef84226fdf57b.
Report an issue: GitHub.