{"record":{"id":"6991a8d7657055a3","repo":"paperclipai/paperclip","slug":"type-adaptertype-is-not-a-builtin-adapter","errorCode":null,"errorMessage":"Type \"${adapterType}\" is not a builtin adapter.","messagePattern":"Type \"(.+?)\" is not a builtin adapter\\.","errorType":"http","errorClass":null,"httpStatus":400,"severity":"error","filePath":"server/src/routes/adapters.ts","lineNumber":500,"sourceCode":"   *\n   * Pause or resume an external adapter's override of a builtin type.\n   * When paused, the server returns the builtin adapter for all new requests\n   * (execute, listModels, config schema, etc.).  Already-running sessions\n   * keep the adapter they started with.\n   */\n  router.patch(\"/adapters/:type/override\", async (req, res) => {\n    assertInstanceAdmin(req);\n\n    assertAdapterManagementVisible();\n\n    const adapterType = req.params.type;\n    const { paused } = req.body as { paused?: boolean };\n\n    if (typeof paused !== \"boolean\") {\n      res.status(400).json({ error: \"\\\"paused\\\" (boolean) is required in request body.\" });\n      return;\n    }\n\n    if (!BUILTIN_ADAPTER_TYPES.has(adapterType)) {\n      res.status(400).json({ error: `Type \"${adapterType}\" is not a builtin adapter.` });\n      return;\n    }\n\n    const changed = setOverridePaused(adapterType, paused);\n\n    logger.info({ type: adapterType, paused, changed }, \"Adapter override toggle\");\n\n    res.json({ type: adapterType, paused, changed });\n  });\n\n  /**\n   * DELETE /api/adapters/:type\n   *\n   * Unregister an external adapter. Built-in adapters cannot be removed.\n   */\n  router.delete(\"/adapters/:type\", async (req, res) => {","sourceCodeStart":482,"sourceCodeEnd":518,"githubUrl":"https://github.com/paperclipai/paperclip/blob/5716fe907e596ce73501408fc6efdb19fb61edf2/server/src/routes/adapters.ts#L482-L518","documentation":"Type guard on the override-pause route: the requested :type names a builtin adapter type that has no external plugin override installed, so there is no external override to pause/resume and the route returns 400.","triggerScenarios":"Thrown at server/src/routes/adapters.ts:445 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a builtin adapter type for this operation, or install the adapter externally first."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5716fe907e596ce73501408fc6efdb19fb61edf2","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}