paperclipai/paperclip · error

Failed to resolve config schema: ${message}

Error message

Failed to resolve config schema: ${message}

What it means

Wrapped failure in the config-schema route's catch block: the adapter's getConfigSchema() threw (dynamic schema resolution hit an error), so the cached entry is not written and the failure is returned as a 500 with the underlying message.

Source

Thrown at server/src/routes/adapters.ts:750

      return;
    }
    if (!adapter.getConfigSchema) {
      res.status(404).json({ error: `Adapter "${type}" does not provide a config schema.` });
      return;
    }

    const cached = configSchemaCache.get(type);
    if (cached && cached.adapter === adapter && Date.now() - cached.fetchedAt < CONFIG_SCHEMA_TTL_MS) {
      res.json(cached.schema);
      return;
    }

    try {
      const schema = await adapter.getConfigSchema();
      configSchemaCache.set(type, { adapter, schema, fetchedAt: Date.now() });
      res.json(schema);
    } catch (err) {
      const message = err instanceof Error ? err.message : String(err);
      logger.error({ err, type }, "Failed to resolve config schema");
      res.status(500).json({ error: `Failed to resolve config schema: ${message}` });
    }
  });

  // ── GET /api/adapters/:type/ui-parser.js ─────────────────────────────────
  // Serve the self-contained UI parser JS for an adapter type.
  // This allows external adapters to provide custom run-log parsing
  // without modifying Paperclip's source code.
  //
  // The adapter package must export a "./ui-parser" entry in package.json
  // pointing to a self-contained ESM module with zero runtime dependencies.
  router.get("/adapters/:type/ui-parser.js", (req, res) => {
    // UI parsers are read-only assets for displaying existing run output.
    // Runtime-changing adapter management routes above require instance admin.
    assertBoardOrgAccess(req);
    const { type } = req.params;
    const source = getOrExtractUiParserSource(type);

View on GitHub (pinned to 5716fe907e)

Solutions

  1. Read the failure message, fix the adapter's schema export, and retry resolving the schema.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at server/src/routes/adapters.ts:692 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@5716fe907e (2026-08-18). Data as JSON: /api/errors/3c8fc3641afe39cb. Report an issue: GitHub.