paperclipai/paperclip · error · Error

Provider pack tree contains unsupported entry ${relativePath

Error message

Provider pack tree contains unsupported entry ${relativePath}

What it means

Guard inside the hashing `visit` walk in build-provider-pack.mjs: while walking the built provider-pack tree to hash it, an entry was found that is neither a regular file nor a directory (e.g. a symlink, socket, or fifo at relativePath). The manifest hash only covers deterministic file/directory trees, so such entries abort the build.

Source

Thrown at packages/paperclip-runner/scripts/build-provider-pack.mjs:76

  const hash = createHash("sha256");
  const visit = (directory, prefix = "") => {
    const entries = readdirSync(directory, { withFileTypes: true }).sort(
      (left, right) => left.name.localeCompare(right.name),
    );
    for (const entry of entries) {
      const relativePath = prefix ? `${prefix}/${entry.name}` : entry.name;
      const absolutePath = join(directory, entry.name);
      if (entry.isDirectory()) {
        hash.update(`directory\0${relativePath}\n`);
        visit(absolutePath, relativePath);
      } else if (entry.isFile()) {
        hash.update(`file\0${relativePath}\0${sha256File(absolutePath)}\n`);
      } else if (entry.isSymbolicLink()) {
        hash.update(
          `symlink\0${relativePath}\0${readlinkSync(absolutePath)}\n`,
        );
      } else {
        throw new Error(
          `Provider pack tree contains unsupported entry ${relativePath}`,
        );
      }
    }
  };
  visit(root);
  return `sha256:${hash.digest("hex")}`;
}

function writePortableNodeShim(name, entrypoint) {
  const shimPath = join(temporaryRoot, "node_modules", ".bin", name);
  writeFileSync(
    shimPath,
    [
      "#!/bin/sh",
      "set -eu",
      'basedir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)',
      `exec "$basedir/../node/bin/node" "$basedir/../${entrypoint}" "$@"`,

View on GitHub (pinned to 01ad858492)

Solutions

  1. Find and remove the non-regular entry (often a symlink) at the reported relative path in the pack output
  2. Fix the build step that produced the entry so it emits a regular file or directory
  3. Re-run the pack build after cleaning the output tree
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/paperclip-runner/scripts/build-provider-pack.mjs:76 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/363e20f988acf404. Report an issue: GitHub.