Skip to main content


This plugin intercepts all local links that have not been created in React using gatsby-link, and replaces their behaviour with that of the gatsby-link navigate. This avoids the browser having to refresh the whole page when navigating between local pages, preserving the Single Page Application (SPA) feel.

Example use cases:

  • A markdown file with relative links (transformed to a tags by gatsby-transformer-remark)
  • An a tag that has been created by a Content Management System (CMS) WYSIWYG editor


npm install --save gatsby-plugin-catch-links

How to use

// In your gatsby-config.js
plugins: [`gatsby-plugin-catch-links`]


  • Check out this live example Using Remark to see this plugin in action. The full source code for this example can be found here here.

edit this page on GitHub