{"record":{"id":"45aebabd87225fe9","repo":"paperclipai/paperclip","slug":"plugin-tools-disabled","errorCode":"plugin_tools_disabled","errorMessage":"Plugin tool dispatch is not enabled","messagePattern":"Plugin tool dispatch is not enabled","errorType":"http","errorClass":"ToolGatewayHttpError","httpStatus":501,"severity":"error","filePath":"server/src/services/tool-gateway.ts","lineNumber":10517,"sourceCode":"            durationMs: Date.now() - startedAt,\n            error: message,\n            ...(executionAuditFromError(normalizedError)\n              ? { execution: executionAuditFromError(normalizedError) }\n              : {}),\n          },\n        });\n        if (normalizedError instanceof ToolContentValidationError) {\n          throw new ToolGatewayHttpError(422, message, reasonCode, {\n            findings: normalizedError.findings,\n          });\n        }\n        throw normalizedError;\n      }\n    },\n\n    async executePluginTool(input: ExecutePluginToolInput) {\n      if (!pluginToolDispatcher) {\n        throw new ToolGatewayHttpError(\n          501,\n          \"Plugin tool dispatch is not enabled\",\n          \"plugin_tools_disabled\",\n        );\n      }\n      if (input.actor.type === \"agent\") {\n        if (input.actor.companyId !== input.runContext.companyId) {\n          throw new ToolGatewayHttpError(\n            403,\n            \"Agent key cannot access another company\",\n            \"actor_company_mismatch\",\n          );\n        }\n        if (input.actor.agentId !== input.runContext.agentId) {\n          throw new ToolGatewayHttpError(\n            403,\n            \"Agent cannot execute tools as another agent\",\n            \"actor_agent_mismatch\",","sourceCodeStart":10499,"sourceCodeEnd":10535,"githubUrl":"https://github.com/paperclipai/paperclip/blob/3f1d897a7c018d76563a21c6e39c3c9b03933622/server/src/services/tool-gateway.ts#L10499-L10535","documentation":"executePluginTool guard: the service was constructed without a pluginToolDispatcher, so the plugin tool subsystem is not wired into this deployment. The 501 plugin_tools_disabled signals the capability is intentionally absent (feature flag/build config), not a transient failure; do not retry, enable plugin dispatch instead.","triggerScenarios":"Thrown at server/src/services/tool-gateway.ts:6025 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Enable plugin tool dispatch (plugins feature) for this instance/session before calling plugin-provided tools."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3f1d897a7c018d76563a21c6e39c3c9b03933622","analyzedAt":"2026-09-18T08:03:59.046Z","contentChangedAt":"2026-09-18T08:03:59.046Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}