paperclipai/paperclip · error
Adapter "${adapterType}" is not an externally installed adap
Error message
Adapter "${adapterType}" is not an externally installed adapter. What it means
Registry lookup failure on DELETE /api/adapters/:type: an external-record lookup found the adapter in the registry but not in the external-adapter plugin store, meaning it is not an externally installed adapter and cannot be removed through this uninstall route. Returns 404.
Source
Thrown at server/src/routes/adapters.ts:548
// currently backed by an external adapter plugin override.
if (BUILTIN_ADAPTER_TYPES.has(adapterType) && !getAdapterPluginByType(adapterType)) {
res.status(403).json({
error: `Cannot remove built-in adapter "${adapterType}".`,
});
return;
}
// Check that the adapter exists in the registry
const existing = findServerAdapter(adapterType);
if (!existing) {
res.status(404).json({
error: `Adapter "${adapterType}" is not registered.`,
});
return;
}
// Check that it's an external adapter
const externalRecord = getAdapterPluginByType(adapterType);
if (!externalRecord) {
res.status(404).json({
error: `Adapter "${adapterType}" is not an externally installed adapter.`,
});
return;
}
// If installed via npm (has packageName but no localPath), run npm uninstall
if (externalRecord.packageName && !externalRecord.localPath) {
try {
const pluginsDir = getAdapterPluginsDir();
await execFileAsync("npm", ["uninstall", externalRecord.packageName], {
cwd: pluginsDir,
timeout: 60_000,
});
logger.info(
{ type: adapterType, packageName: externalRecord.packageName },
"npm uninstall completed for external adapter",View on GitHub (pinned to 5716fe907e)
Solutions
- Only externally installed adapters can be removed; verify the adapter type and use the correct operation.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/adapters.ts:492 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@5716fe907e (2026-08-18).
Data as JSON: /api/errors/5207fe557fae0ab2.
Report an issue: GitHub.