paperclipai/paperclip · error

Failed to activate plugin ${loadResult.plugin.pluginKey}

Error message

Failed to activate plugin ${loadResult.plugin.pluginKey}

What it means

Activation failure wrapper in activateReadyPlugin: loading the plugin's runtime bundle via pluginLoaderInstance.loadSingle failed (or returned no result), so the ready plugin could not be moved into active service. This is a contextual wrapper around a lower-level load error; the plugin's runtime bundle or its dependencies are at fault.

Source

Thrown at server/src/services/plugin-lifecycle.ts:427

    } catch (err) {
      log.warn(
        { pluginId, pluginKey, err: err instanceof Error ? err.message : String(err) },
        "plugin lifecycle: failed to stop worker (best-effort)",
      );
    }
  }

  async function activateReadyPlugin(pluginId: string): Promise<void> {
    const supportsRuntimeActivation =
      typeof pluginLoaderInstance.hasRuntimeServices === "function"
      && typeof pluginLoaderInstance.loadSingle === "function";
    if (!supportsRuntimeActivation || !pluginLoaderInstance.hasRuntimeServices()) {
      return;
    }

    const loadResult = await pluginLoaderInstance.loadSingle(pluginId);
    if (!loadResult.success) {
      throw new Error(
        loadResult.error
        ?? `Failed to activate plugin ${loadResult.plugin.pluginKey}`,
      );
    }
  }

  async function deactivatePluginRuntime(
    pluginId: string,
    pluginKey: string,
  ): Promise<void> {
    const supportsRuntimeDeactivation =
      typeof pluginLoaderInstance.hasRuntimeServices === "function"
      && typeof pluginLoaderInstance.unloadSingle === "function";

    if (supportsRuntimeDeactivation && pluginLoaderInstance.hasRuntimeServices()) {
      await pluginLoaderInstance.unloadSingle(pluginId, pluginKey);
      return;
    }

View on GitHub (pinned to 120ae5428f)

Solutions

  1. Inspect the plugin's activation error in server logs (worker start, manifest, or capability issues), fix the underlying cause, and retry activation.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at server/src/services/plugin-lifecycle.ts:427 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/1a59ca862a08bb3a. Report an issue: GitHub.