gatsbyjs/gatsby · error · Error

Nodes can only be updated by their owner. Node "${node.id}"

Error message

Nodes can only be updated by their owner. Node "${node.id}" is
owned by "${oldNode.internal.owner}" and another plugin "${owner}"
tried to update it.

What it means

typeOwnersReducer CREATE_NODE branch: the node id already exists with a different internal.owner than the plugin now creating it. Gatsby enforces node ownership — only the plugin that created a node may update it — so this cross-plugin update is rejected with both owner names.

Source

Thrown at packages/gatsby/src/redux/reducers/type-owners.ts:115

            The plugin deleting the node:

            ${JSON.stringify(plugin, null, 4)}
        `)
        }
      }

      return typeOwners
    }
    case `CREATE_NODE`: {
      const { plugin, oldNode, payload: node } = action
      const { owner, type } = node.internal

      setTypeOwner(type, plugin, typeOwners, node)

      // If the node has been created in the past, check that
      // the current plugin is the same as the previous.
      if (oldNode && oldNode.internal.owner !== owner) {
        throw new Error(
          stripIndent`
            Nodes can only be updated by their owner. Node "${node.id}" is
            owned by "${oldNode.internal.owner}" and another plugin "${owner}"
            tried to update it.
          `
        )
      }

      return typeOwners
    }

    default:
      return typeOwners
  }
}

View on GitHub (pinned to e85d62f177)

Solutions

  1. Move the createNode/updateNode call into the plugin that owns the node type
  2. Use a distinct node type instead of writing to another plugin's nodes
  3. Check for two sourcing plugins configured to write the same type
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/gatsby/src/redux/reducers/type-owners.ts:115 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/541857b6283a74bb. Report an issue: GitHub.