paperclipai/paperclip · error
Plugin ${manifest.id} manifest has inconsistent capabilities
Error message
Plugin ${manifest.id} manifest has inconsistent capabilities. Missing required capabilities for declared features: ${capResult.missing.join(", ")} What it means
Capability consistency check in fetchAndValidate: the manifest declares features whose required capabilities are absent (capabilityValidator returned allowed=false with a missing list). Prevents plugins that would silently under-function or mislead users; the inconsistent manifest is at fault.
Source
Thrown at server/src/services/plugin-loader.ts:1299
throw new Error(
`Package ${resolvedPackageName} at ${resolvedPackagePath} does not appear to be a Paperclip plugin (no manifest found).${manualBuildHint}`,
);
}
const manifest = await loadManifestFromPath(manifestPath);
// Step 4: Reject incompatible plugin API versions
if (!manifestValidator.getSupportedVersions().includes(manifest.apiVersion)) {
throw new Error(
`Plugin ${manifest.id} declares apiVersion ${manifest.apiVersion} which is not supported by this host. ` +
`Supported versions: ${manifestValidator.getSupportedVersions().join(", ")}`,
);
}
// Step 5: Validate manifest capabilities are consistent
const capResult = capabilityValidator.validateManifestCapabilities(manifest);
if (!capResult.allowed) {
throw new Error(
`Plugin ${manifest.id} manifest has inconsistent capabilities. ` +
`Missing required capabilities for declared features: ${capResult.missing.join(", ")}`,
);
}
await assertPageRoutePathsAvailable(manifest);
// Step 6: Reject plugins that require a newer host than the running server
const minimumHostVersion = getMinimumHostVersion(manifest);
if (minimumHostVersion && hostVersion) {
if (compareSemver(hostVersion, minimumHostVersion) < 0) {
throw new Error(
`Plugin ${manifest.id} requires host version ${minimumHostVersion} or newer, ` +
`but this server is running ${hostVersion}`,
);
}
}
View on GitHub (pinned to 120ae5428f)
Solutions
- Add the missing capabilities listed in the error to the plugin manifest, or remove the features that require them.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/plugin-loader.ts:1299 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/832c93948dae3c81.
Report an issue: GitHub.