paperclipai/paperclip · error
Plugin installed but manifest is missing
Error message
Plugin installed but manifest is missing
What it means
500 from POST /plugins/install. Fires when loader.installPlugin reports success but the discovered result has no manifest — installation succeeded on disk yet the manifest is absent, which indicates a loader bug rather than user error.
Source
Thrown at server/src/routes/plugins.ts:1213
if (cloudManaged && !(await isWithinBundledPluginRoot(validated.canonicalPath))) {
res.status(403).json({
error:
"cloud-managed instances may only install plugins from the bundled plugin catalog",
});
return;
}
canonicalLocalPath = validated.canonicalPath;
}
try {
const installOptions = canonicalLocalPath !== undefined
? { localPath: canonicalLocalPath }
: { packageName: trimmedPackage, version: version?.trim() };
const discovered = await loader.installPlugin(installOptions);
if (!discovered.manifest) {
res.status(500).json({ error: "Plugin installed but manifest is missing" });
return;
}
// Transition to ready state
const existingPlugin = await registry.getByKey(discovered.manifest.id);
if (existingPlugin) {
await lifecycle.load(existingPlugin.id);
const updated = await registry.getById(existingPlugin.id);
await logPluginMutationActivity(req, "plugin.installed", existingPlugin.id, {
pluginId: existingPlugin.id,
pluginKey: existingPlugin.pluginKey,
packageName: updated?.packageName ?? existingPlugin.packageName,
version: updated?.version ?? existingPlugin.version,
source: isLocalPath ? "local_path" : "npm",
});
publishGlobalLiveEvent({ type: "plugin.ui.updated", payload: { pluginId: existingPlugin.id, action: "installed" } });
res.json(updated);
} else {View on GitHub (pinned to a7e689b3c3)
Solutions
- Include the required field(s) in the request path, query, or body as named by the error message, then retry.
- Check the API contract in packages/shared validators for the exact required shape of this endpoint.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/plugins.ts:1197 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@a7e689b3c3 (2026-08-18).
Data as JSON: /api/errors/ab8b952552b692b8.
Report an issue: GitHub.