Skip to main content


Publish custom extensions to help teammates or other Foxglove users leverage your contribution in their own workflows.

Defining metadata

Set your extension's metadata fields in the package.json file:

  • name
  • publisher
  • version
  • description

Packaging your extension

When you're ready to distribute your extension, run npm run package to produce a ZIP archive with a .foxe extension that contains your extension manifest and compiled code — e.g. myExtensionName-0.0.0.foxe.

Sharing with your team

Publish your extension with the foxglove CLI for the rest of your organization to use in Foxglove:

$ foxglove extensions publish ./my-extension.1.0.0.foxe

All extensions are installed automatically to every organization member's Foxglove instance, and any existing extensions that are no longer listed in the organization registry are uninstalled.

Only admins can view an organization's extensions in your Foxglove account or via the foxglove CLI.

$ foxglove extensions list

Admins can also un-publish an extension from the web interface or via the CLI. Unpublished extensions are removed from Foxglove installations.

$ foxglove extensions unpublish [ID]

Sharing publicly

Share your extension with all Foxglove users by adding it to the extension registry (installing extensions via the registry is only supported on the desktop app).

Publish your .foxe file somewhere public – we recommend GitHub releases alongside your code. Then, open a PR in the repo to update extensions.json and this README's "Extensions" section with your extension information.

Once we merge your PR, your extension will be available for anyone to install in Foxglove's Settings.