Skip to content

The plugin registry

The plugin registry is the supported catalog for sandboxed plugins. It lets administrators browse and install plugins from the EmDash admin panel. Review the publisher, selected version, and requested permissions before installing a plugin.

When experimental.registry is configured, the admin panel displays a Registry section for browsing and installing plugins.

Every registry plugin has a public name made from its publisher’s current Atmosphere account handle and its package slug. For example, a package with the slug my-gallery published by example.com appears as @example.com/my-gallery.

The public name appears in registry results and under Plugins after installation. Select it to open the plugin detail page, or paste the complete name into registry search to find that exact package. EmDash resolves the handle to the publisher’s stable account identifier before loading the package.

If the handle conclusively stops resolving back to the publisher, EmDash displays INVALID HANDLE and prevents new installation from the package detail page. Existing installations remain in their current state so an identity lookup cannot disable a running site. Review the installed plugin and contact its publisher before updating it. A temporary lookup failure displays the stable publisher identifier with Handle unavailable instead of reporting an invalid handle.

To install plugins from the registry, configure storage and an available sandbox runner. Complete the platform-specific plugin sandbox setup first.

Add the hosted registry and Cloudflare sandbox runner to the emdash() configuration in astro.config.mjs:

astro.config.mjs
import { defineConfig } from "astro/config";
import { sandbox } from "@emdash-cms/cloudflare";
import emdash from "emdash/astro";
export default defineConfig({
integrations: [
emdash({
sandboxRunner: sandbox(),
experimental: {
registry: "https://registry.emdashcms.com",
},
}),
],
});

Use the bare hosted registry URL for the normal setup. See the experimental.registry configuration reference for custom registry settings.

  1. Open Registry in the admin panel.
  2. Search by title, description, or a complete public name such as @example.com/my-gallery, then open the plugin’s detail page.
  3. Select a release and review its publisher, metadata, requested permissions, and verification status.
  4. Select Install.
  5. Review the verification status and permissions in the consent dialog, then confirm.

Before showing the consent dialog, EmDash checks the downloaded bundle’s checksum, name, version, and permissions. If the publisher requires build provenance, EmDash verifies that evidence too. Installation stops if a check fails. The consent dialog shows the verification status and exact permissions before installation.

Registry updates repeat these checks. An update waits for confirmation when it adds permissions or MCP tools, or changes a route from authenticated to public. Uninstalling removes the bundle and preserves plugin storage data unless you select Also delete plugin storage data. See Installing plugins for the shared update and uninstall steps.