paperclipai/paperclip · error

Failed to reload adapter: ${message}

Error message

Failed to reload adapter: ${message}

What it means

Wrapped failure in the reload route's catch block: re-importing/re-registering the external adapter module threw (bad module code, missing export, filesystem error), so the runtime reload is aborted and the underlying message is returned with a 500.

Source

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

      unregisterServerAdapter(type);
      registerWithSessionManagement(newModule);
      configSchemaCache.delete(type);

      // Sync store.version from package.json (store may be missing version for local installs).
      const record = getAdapterPluginByType(type);
      let newVersion: string | undefined;
      if (record) {
        newVersion = readAdapterPackageVersionFromDisk(record);
        if (newVersion) {
          addAdapterPlugin({ ...record, version: newVersion });
        }
      }

      logger.info({ type, version: newVersion }, "External adapter reloaded at runtime");

      res.json({ type, version: newVersion, reloaded: true });
    } catch (err) {
      const message = err instanceof Error ? err.message : String(err);
      logger.error({ err, type }, "Failed to reload external adapter");
      res.status(500).json({ error: `Failed to reload adapter: ${message}` });
    }
  });

  // ── POST /api/adapters/:type/reinstall ──────────────────────────────────
  // Reinstall an npm-sourced external adapter (pulls latest from registry).
  // Local-path adapters cannot be reinstalled — use Reload instead.
  //
  // This is a convenience shortcut for remove + install with the same
  // package name, but without the risk of losing the store record.
  router.post("/adapters/:type/reinstall", async (req, res) => {
    assertInstanceAdmin(req);
    assertAdapterCodeInstallAllowed();
    assertAdapterManagementVisible();

    const type = req.params.type;

View on GitHub (pinned to 5716fe907e)

Solutions

  1. Read the failure message, fix the adapter code or installation, and reload again.
Defensive patterns

Strategy: try-catch

When it happens

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