gatsbyjs/gatsby · error

Offloading of a job failed as IPC could not be detected. Run

Error message

Offloading of a job failed as IPC could not be detected. Running job locally.

What it means

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.

Source

Thrown at packages/gatsby/src/utils/jobs/manager.ts:177

  try {
    return importGatsbyPlugin(plugin, `gatsby-worker`).then(worker => {
      if (!worker[job.name]) {
        throw new Error(`No worker function found for ${job.name}`)
      }

      if (!forceLocal && !job.plugin.isLocal && hasExternalJobsEnabled()) {
        if (process.send) {
          if (!isListeningForMessages) {
            isListeningForMessages = true
            listenForJobMessages()
          }

          return runExternalWorker(job)
        } else {
          // only show the offloading warning once
          if (!hasShownIPCDisabledWarning) {
            hasShownIPCDisabledWarning = true
            reporter.warn(
              `Offloading of a job failed as IPC could not be detected. Running job locally.`
            )
          }
        }
      }
      return runLocalWorker(worker[job.name], job)
    })
  } catch (err) {
    throw new Error(
      `We couldn't find a gatsby-worker.js(${plugin.resolve}/gatsby-worker.js) file for ${plugin.name}@${plugin.version}`
    )
  }
}

function isInternalJob(job: JobInput | InternalJob): job is InternalJob {
  return (
    (job as InternalJob).id !== undefined &&
    (job as InternalJob).contentDigest !== undefined

View on GitHub (pinned to e85d62f177)

Solutions

  1. No action needed: the job falls back to local execution
  2. If offloading is required, run Gatsby in an environment where worker IPC (process.send) is available
  3. Check that external job workers (hasExternalJobsEnabled) are actually configured for the environment
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at packages/gatsby/src/utils/jobs/manager.ts:177 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gatsbyjs/gatsby@e85d62f177 (2026-08-26). Data as JSON: /api/errors/aa6b53fe0cca586e. Report an issue: GitHub.