paperclipai/paperclip · error · Error

PAPERCLIP_ADAPTERS failed validation: ${result.error.issues.

Error message

PAPERCLIP_ADAPTERS failed validation: ${result.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ")}

What it means

Schema failure in parseAdapterRegistryEnv: the JSON parsed but adapterRegistrySchema.safeParse rejected it. Zod issues are formatted as `path: message` pairs, naming exactly which adapter-registry entries are malformed.

Source

Thrown at server/src/services/adapter-registry-bootstrap.ts:56

    try {
      rawText = fs.readFileSync(filePath as string, "utf-8");
    } catch (err) {
      throw new Error(
        `PAPERCLIP_ADAPTERS_FILE could not be read at "${filePath}": ${(err as Error).message}`,
      );
    }
  }

  let parsed: unknown;
  try {
    parsed = JSON.parse(rawText);
  } catch (err) {
    throw new Error(`PAPERCLIP_ADAPTERS must be valid JSON: ${(err as Error).message}`);
  }

  const result = adapterRegistrySchema.safeParse(parsed);
  if (!result.success) {
    throw new Error(
      `PAPERCLIP_ADAPTERS failed validation: ${result.error.issues
        .map((i) => `${i.path.join(".")}: ${i.message}`)
        .join("; ")}`,
    );
  }
  return result.data;
}

/**
 * Reconcile availability: every known server adapter NOT enabled in the declared
 * registry is disabled; declared+enabled ones are enabled. Throws if a declared
 * adapterType has no installed adapter (cannot offer a harness with no
 * implementation). No-op when `registry` is null.
 */
export function reconcileAdapterAvailability(
  registry: AdapterRegistryEntryParsed[] | null,
): { enabled: string[]; disabled: string[] } {
  if (!registry) return { enabled: [], disabled: [] };

View on GitHub (pinned to 120ae5428f)

Solutions

  1. Correct the fields listed in the validation issues in PAPERCLIP_ADAPTERS.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/services/adapter-registry-bootstrap.ts:56 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18). Data as JSON: /api/errors/618e09c85bcc71e2. Report an issue: GitHub.