paperclipai/paperclip · error

Failed to install adapter: ${message}

Error message

Failed to install adapter: ${message}

What it means

Wrapped failure in the adapter install route's catch block: the install error is not npm-flavored, so it is classified as an adapter load/registration failure (the package installed but importing or registering the adapter module failed) and returned as a 500 with the underlying message.

Source

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

      logger.info(
        { type: adapterModule.type, packageName: canonicalName },
        "External adapter installed and registered",
      );

      res.status(201).json({
        type: adapterModule.type,
        packageName: canonicalName,
        version: installedVersion ?? explicitVersion,
        installedAt: record.installedAt,
        requiresRestart: isReinstall,
      });
    } catch (err) {
      const message = err instanceof Error ? err.message : String(err);
      logger.error({ err, packageName }, "Failed to install external adapter");

      // Distinguish npm errors from load errors
      if (message.includes("npm") || message.includes("ERR!")) {
        res.status(500).json({ error: `npm install failed: ${message}` });
      } else {
        res.status(500).json({ error: `Failed to install adapter: ${message}` });
      }
    }
  });

  router.get("/adapters/:type", async (req, res) => {
    assertBoardOrgAccess(req);

    const adapterType = req.params.type;
    const adapter = findServerAdapter(adapterType);
    if (!adapter) {
      res.status(404).json({ error: `Adapter "${adapterType}" is not registered.` });
      return;
    }

    const externalRecord = getAdapterPluginByType(adapterType);
    const disabledSet = new Set(getDisabledAdapterTypes());

View on GitHub (pinned to 5716fe907e)

Solutions

  1. Read the failure message, fix the adapter package or environment issue, and retry the install.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at server/src/routes/adapters.ts:370 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/4bd33fc2cbc6e4da. Report an issue: GitHub.