{"record":{"id":"aa6b53fe0cca586e","repo":"gatsbyjs/gatsby","slug":"offloading-of-a-job-failed-as-ipc-could-not-be-det","errorCode":null,"errorMessage":"Offloading of a job failed as IPC could not be detected. Running job locally.","messagePattern":"Offloading of a job failed as IPC could not be detected\\. Running job locally\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby/src/utils/jobs/manager.ts","lineNumber":177,"sourceCode":"  try {\n    return importGatsbyPlugin(plugin, `gatsby-worker`).then(worker => {\n      if (!worker[job.name]) {\n        throw new Error(`No worker function found for ${job.name}`)\n      }\n\n      if (!forceLocal && !job.plugin.isLocal && hasExternalJobsEnabled()) {\n        if (process.send) {\n          if (!isListeningForMessages) {\n            isListeningForMessages = true\n            listenForJobMessages()\n          }\n\n          return runExternalWorker(job)\n        } else {\n          // only show the offloading warning once\n          if (!hasShownIPCDisabledWarning) {\n            hasShownIPCDisabledWarning = true\n            reporter.warn(\n              `Offloading of a job failed as IPC could not be detected. Running job locally.`\n            )\n          }\n        }\n      }\n      return runLocalWorker(worker[job.name], job)\n    })\n  } catch (err) {\n    throw new Error(\n      `We couldn't find a gatsby-worker.js(${plugin.resolve}/gatsby-worker.js) file for ${plugin.name}@${plugin.version}`\n    )\n  }\n}\n\nfunction isInternalJob(job: JobInput | InternalJob): job is InternalJob {\n  return (\n    (job as InternalJob).id !== undefined &&\n    (job as InternalJob).contentDigest !== undefined","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby/src/utils/jobs/manager.ts#L159-L195","documentation":"Guard in runJob: a job from a non-local plugin with external jobs enabled could not be offloaded because process.send is undefined, meaning no IPC channel to a parent process exists. The job is silently run in-process instead; the warning is shown only once per build.","triggerScenarios":"Thrown at packages/gatsby/src/utils/jobs/manager.ts:177 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["No action needed: the job falls back to local execution","If offloading is required, run Gatsby in an environment where worker IPC (process.send) is available","Check that external job workers (hasExternalJobsEnabled) are actually configured for the environment"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e85d62f1779e353eaac1753211629a26d123e26c","analyzedAt":"2026-08-26T17:50:09.662Z","contentChangedAt":"2026-08-26T17:50:09.662Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}