#5166·owncast

Feature Request: Plugin Dependencies in Manifest JSON

Author: allykotetsuCreated Sep 8, 2026Updated Sep 14, 2026
Labelsenhancementplugins

Share your bug report, feature request, or comment.

Plugins should be able to list other plugins as a dependency in the plugin manifest json.

For example, say we have a plugin that lets Owncast send emails. This plugin does nothing other than expose custom event hooks for sending email through SMTP and letting admins set up their SMTP server info, as it is made for plugin authors to be able to use. Another plugin that uses this email plugin might rely on having it, and admins might install it without realizing it has a dependency. By letting this plugin list the email plugin as a dependency, users will be prompted to install the email plugin as well when installing this plugin, and it can only be enabled if the email plugin is enabled.

The plugin.manifest.json file would be expanded to include a new field called dependencies. dependencies is an object where the keys are the slugs of the depending plugins, and the values are objects containing more detailed information about the dependency, such as the minVersion required for the dependency. For example, take the following manifest:

json
{
    "dependencies": {
        "email": {
            "minVersion": "0.2.0"
        }
    }
} 

This manifest describes that in order for our plugin to work, email must be installed and it must be at least version 0.2.0.

(Additionally, I don't know if Extism supports this, but if there is a way for plugins that depend on each other to be able to directly call each others' functions that would be extremely useful.)