paperclipai/paperclip · error

Upgrade for "${pluginId}" introduces new capabilities that r

Error message

Upgrade for "${pluginId}" introduces new capabilities that require approval: ${escalated.join(", ")}. The previous version declared [${[...oldCaps].join(", ")}]. Please review and approve the capability escalation before upgrading.

What it means

Error "Upgrade for "${pluginId}" introduces new capabilities that require approval: ${escalated.join(", ")}. The previous version declared [${[...oldCaps].join(", ")}]. Please review and approve the capability escalation before upgrading." thrown in paperclipai/paperclip.

Source

Thrown at server/src/services/plugin-loader.ts:1832

      // 2. Validate it's the same plugin ID
      if (newManifest.id !== oldManifest.id) {
        throw new Error(
          `Upgrade failed: new manifest ID '${newManifest.id}' does not match existing plugin ID '${oldManifest.id}'`,
        );
      }

      // 3. Detect capability escalation — new capabilities not in the old manifest
      const oldCaps = new Set(oldManifest.capabilities ?? []);
      const newCaps = newManifest.capabilities ?? [];
      const escalated = newCaps.filter((c) => !oldCaps.has(c));

      if (escalated.length > 0) {
        log.warn(
          { pluginId, escalated, oldVersion: oldManifest.version, newVersion: newManifest.version },
          "plugin-loader: upgrade introduces new capabilities — requires admin approval",
        );
        throw new Error(
          `Upgrade for "${pluginId}" introduces new capabilities that require approval: ${escalated.join(", ")}. ` +
            `The previous version declared [${[...oldCaps].join(", ")}]. ` +
            `Please review and approve the capability escalation before upgrading.`,
        );
      }

      // 4. Update the existing record
      await registry.update(pluginId, {
        packageName: discovered.packageName,
        version: discovered.version,
        manifest: newManifest,
      });

      return {
        oldManifest,
        newManifest,
        discovered,
      };

View on GitHub (pinned to 120ae5428f)

Solutions

  1. Review the new capabilities listed in the error and approve the capability escalation, then retry the upgrade. If the escalation is unexpected, do not upgrade and check the package provenance.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/services/plugin-loader.ts:1832 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/6336a691b8cc6b57. Report an issue: GitHub.