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
- Install the missing plugin package (npm install)
- Run gatsby with --verbose to see the underlying error
- 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.