gatsbyjs/gatsby · error
Node mutation detection is enabled. Remember to disable it a
Error message
Node mutation detection is enabled. Remember to disable it after you are finished with diagnostic as it will cause build performance degradation.
What it means
Advisory warning emitted by enableNodeMutationsDetection (called from initialize when GATSBY_DETECT_NODE_MUTATIONS is set): node proxies are now active, which adds per-access overhead. It fires once at startup purely to remind the user the diagnostic flag degrades build performance and should be removed afterwards.
Source
Thrown at packages/gatsby/src/utils/detect-node-mutations.ts:133
if (typeof value === `object` && value !== null) {
return memoizedProxy(value, genericProxy)
}
return value
}
return {
get,
set,
}
}
let shouldWrapNodesInProxies = !!process.env.GATSBY_DETECT_NODE_MUTATIONS
export function enableNodeMutationsDetection(): void {
shouldWrapNodesInProxies = true
reporter.warn(
`Node mutation detection is enabled. Remember to disable it after you are finished with diagnostic as it will cause build performance degradation.`
)
}
export function wrapNode<T extends IGatsbyNode | undefined>(node: T): T {
if (node && shouldWrapNodesInProxies) {
return memoizedProxy(node, nodeProxy)
} else {
return node
}
}
export function wrapNodes<T extends Array<IGatsbyNode> | undefined>(
nodes: T
): T {
if (nodes && shouldWrapNodesInProxies && nodes.length > 0) {
return nodes.map(node => memoizedProxy(node, nodeProxy)) as T
} else {View on GitHub (pinned to e85d62f177)
Solutions
- Unset GATSBY_DETECT_NODE_MUTATIONS when done diagnosing node mutations
- Run it only in short diagnostic builds, not production builds
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at packages/gatsby/src/utils/detect-node-mutations.ts:133 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/69d1387eb0e43fe3.
Report an issue: GitHub.