gatsbyjs/gatsby · error

There was a problem loading plugin "${pluginName}". Perhaps

Error message

There was a problem loading plugin "${pluginName}". Perhaps you need to install its package?
Use --verbose to see actual error.

What it means

resolvePlugin failed while resolving a plugin's package (require.resolve of package.json, JSON parse, or version parsing). The non-verbose message hides the raw error and suggests the package may not be installed; --verbose reveals the actual cause via panicOnBuild.

Source

Thrown at packages/gatsby/src/bootstrap/load-plugins/resolve-plugin.ts:91

    const packageJSON = JSON.parse(
      fs.readFileSync(`${resolvedPath}/package.json`, `utf-8`)
    )
    warnOnIncompatiblePeerDependency(packageJSON.name, packageJSON)

    return {
      resolve: resolvedPath,
      id: createPluginId(packageJSON.name),
      name: packageJSON.name,
      version: packageJSON.version,
    }
  } catch (err) {
    if (process.env.gatsby_log_level === `verbose`) {
      reporter.panicOnBuild(
        `plugin "${pluginName} threw the following error:\n`,
        err
      )
    } else {
      reporter.panicOnBuild(
        `There was a problem loading plugin "${pluginName}". Perhaps you need to install its package?\nUse --verbose to see actual error.`
      )
    }
    throw new Error(`unreachable`)
  }
}

View on GitHub (pinned to e85d62f177)

Solutions

  1. Install the missing plugin package (npm install)
  2. Run gatsby with --verbose to see the underlying error
  3. Fix typos in the plugin's resolve/name in gatsby-config
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at packages/gatsby/src/bootstrap/load-plugins/resolve-plugin.ts:91 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/e99d6be73c32524e. Report an issue: GitHub.