paperclipai/paperclip · error
Cannot remove built-in adapter "${adapterType}".
Error message
Cannot remove built-in adapter "${adapterType}". What it means
Protection guard on DELETE /api/adapters/:type: the target type is a builtin adapter with no external plugin override, and builtins cannot be unregistered from the instance, so the route refuses with 403.
Source
Thrown at server/src/routes/adapters.ts:530
/**
* DELETE /api/adapters/:type
*
* Unregister an external adapter. Built-in adapters cannot be removed.
*/
router.delete("/adapters/:type", async (req, res) => {
assertInstanceAdmin(req);
assertAdapterManagementVisible();
const adapterType = req.params.type;
if (!adapterType) {
res.status(400).json({ error: "Adapter type is required." });
return;
}
// Prevent removal of built-in adapters, unless this built-in type is
// 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);View on GitHub (pinned to 5716fe907e)
Solutions
- Built-in adapters cannot be removed; disable the adapter instead.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/adapters.ts:474 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/2a5ad96cabccbf47.
Report an issue: GitHub.