paperclipai/paperclip · error
Plugin ${packageName}: ${String(err)}
Error message
Plugin ${packageName}: ${String(err)} What it means
Discovery wrapper: loadManifestFromPath threw while discovering a candidate plugin package; the error is rethrown prefixed with the package name so callers can aggregate per-package failures into their errors array. The underlying manifest problem is at fault.
Source
Thrown at server/src/services/plugin-loader.ts:1447
packageName,
version,
source,
manifest: null,
};
}
try {
const manifest = await loadManifestFromPath(manifestPath);
return {
packagePath,
packageName,
version,
source,
manifest,
};
} catch (err) {
// Rethrow with context — callers catch and route to the errors array
throw new Error(
`Plugin ${packageName}: ${String(err)}`,
);
}
}
// -------------------------------------------------------------------------
// Public API
// -------------------------------------------------------------------------
return {
// -----------------------------------------------------------------------
// discoverAll
// -----------------------------------------------------------------------
async discoverAll(npmSearchDirs?: string[]): Promise<PluginDiscoveryResult> {
const allDiscovered: DiscoveredPlugin[] = [];
const allErrors: Array<{ packagePath: string; packageName: string; error: string }> = [];
const sources: PluginSource[] = [];View on GitHub (pinned to 120ae5428f)
Solutions
- Investigate the wrapped error for the named plugin (build, install, or load failure), fix the root cause, and retry the operation.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at server/src/services/plugin-loader.ts:1447 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/e16b18b083f9a2de.
Report an issue: GitHub.