{"record":{"id":"fba8de6f1cd73553","repo":"paperclipai/paperclip","slug":"cannot-execute-tool-namespacedname-worker-f","errorCode":null,"errorMessage":"Cannot execute tool \"${namespacedName}\" — worker for plugin \"${pluginId}\" is not running.","messagePattern":"Cannot execute tool \"(.+?)\" — worker for plugin \"(.+?)\" is not running\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/services/plugin-tool-registry.ts","lineNumber":419,"sourceCode":"      if (!tool) {\n        throw new Error(\n          `Tool \"${namespacedName}\" is not registered. ` +\n          `The plugin may not be installed or its worker may not be running.`,\n        );\n      }\n\n      // 3. Verify the worker manager is available\n      if (!workerManager) {\n        throw new Error(\n          `Cannot execute tool \"${namespacedName}\" — no worker manager configured. ` +\n          `Tool execution requires a PluginWorkerManager.`,\n        );\n      }\n\n      // 4. Verify the plugin worker is running (use DB UUID for worker lookup)\n      const dbId = tool.pluginDbId;\n      if (!workerManager.isRunning(dbId)) {\n        throw new Error(\n          `Cannot execute tool \"${namespacedName}\" — ` +\n          `worker for plugin \"${pluginId}\" is not running.`,\n        );\n      }\n\n      // 5. Dispatch the executeTool RPC call to the worker\n      log.debug(\n        { pluginId, pluginDbId: dbId, toolName, namespacedName, agentId: runContext.agentId, runId: runContext.runId },\n        \"executing tool via plugin worker\",\n      );\n\n      const rpcParams: ExecuteToolParams = {\n        toolName,\n        parameters,\n        runContext,\n      };\n\n      const result = await workerManager.call(dbId, \"executeTool\", rpcParams);","sourceCodeStart":401,"sourceCodeEnd":437,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/server/src/services/plugin-tool-registry.ts#L401-L437","documentation":"Execution precondition guard in executeTool: either no worker manager is configured, or the owning plugin's worker is not running, so the tool call cannot be dispatched over the worker channel. The stopped/unconfigured worker is at fault.","triggerScenarios":"Thrown at server/src/services/plugin-tool-registry.ts:419 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Start the plugin's worker before executing its tools; check worker status and restart the plugin if it crashed."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}