{"record":{"id":"2566d2287d20f9f7","repo":"paperclipai/paperclip","slug":"worker-for-plugin-job-pluginid-is-not-running","errorCode":null,"errorMessage":"Worker for plugin \"${job.pluginId}\" is not running — cannot trigger job","messagePattern":"Worker for plugin \"(.+?)\" is not running — cannot trigger job","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/services/plugin-job-scheduler.ts","lineNumber":480,"sourceCode":"    const existingRuns = await db\n      .select()\n      .from(pluginJobRuns)\n      .where(\n        and(\n          eq(pluginJobRuns.jobId, jobId),\n          eq(pluginJobRuns.status, \"running\"),\n        ),\n      );\n\n    if (existingRuns.length > 0) {\n      throw new Error(\n        `Job \"${job.jobKey}\" already has a running execution — cannot trigger while in progress`,\n      );\n    }\n\n    // Check worker availability\n    if (!workerManager.isRunning(job.pluginId)) {\n      throw new Error(\n        `Worker for plugin \"${job.pluginId}\" is not running — cannot trigger job`,\n      );\n    }\n\n    // Create the run and dispatch (non-blocking)\n    const run = await jobStore.createRun({\n      jobId,\n      pluginId: job.pluginId,\n      trigger,\n    });\n\n    // Dispatch in background — don't block the caller\n    void dispatchManualRun(job, run.id, trigger);\n\n    return { runId: run.id, jobId };\n  }\n\n  /**","sourceCodeStart":462,"sourceCodeEnd":498,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/server/src/services/plugin-job-scheduler.ts#L462-L498","documentation":"Dependency guard in triggerJob: workerManager.isRunning reports the plugin's worker process is not up, so the job could not actually execute. Start/restart the plugin worker before triggering; the stopped worker is at fault.","triggerScenarios":"Thrown at server/src/services/plugin-job-scheduler.ts:480 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Start the plugin's worker (load/activate the plugin) before triggering its jobs; check worker status in the plugin manager."],"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"}