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.
Plugin public names
Section titled “Plugin public names”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.
Enable the registry
Section titled “Enable the registry”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:
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.
Install a registry plugin
Section titled “Install a registry plugin”- Open Registry in the admin panel.
- Search by title, description, or a complete public name such as
@example.com/my-gallery, then open the plugin’s detail page. - Select a release and review its publisher, metadata, requested permissions, and verification status.
- Select Install.
- 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.
Related pages
Section titled “Related pages”- Querying the registry documents the experimental read-only discovery client.
- Bundling and publishing covers publishing a sandboxed plugin.
- Capabilities and security describes the sandbox permission model.