Plugins FAQ

From MoodleDocs

What is a plugin?

A plugin (previously known as an add-on, contributed code, or "contrib" for short) is code that adds extra features and functionality to Moodle. Some plugins come standard with Moodle; others are available separately and need to be downloaded and installed.

Where do I find plugins for my Moodle site now?

Plugins and integrations are now found in Moodle Marketplace, which has replaced the old Moodle Plugins Directory. Moodle Marketplace is where you can search and browse plugins, view compatibility, screenshots and support information, and download free plugins or purchase paid ones.

Old Plugins Directory links redirect to Moodle Marketplace where possible, though some may land on a related page rather than the exact one you had bookmarked. If you can't find a plugin this way, search for it directly in Moodle Marketplace.

Are all plugins still free?

No. Moodle Marketplace supports both free and paid plugins and integrations. Some listings that were free in the Plugins Directory may now also offer a paid tier. If you're downloading a paid plugin, you're purchasing it directly from the seller (provider), and the seller (not Moodle) is responsible for support, licensing, refunds and any additional paid services tied to it. Review the seller's Terms of Sale before purchasing.

What happened to the plugin data and provider account I had in the Plugins Directory?

Existing Plugins Directory data (plugin name, description, versions, compatibility, screenshots, awards, usage statistics, maintainer information) was migrated to Moodle Marketplace. Some providers chose not to migrate their plugins.

If you previously managed plugins in the Plugins Directory, sign in to Moodle Marketplace using the same email address as your Moodle.org account so your migrated plugins can be linked to your new account. If you can't access a plugin you used to maintain, first double-check the email address, then raise a support request with your Moodle Marketplace account email, the plugin name, the frankenstyle component name, and (if different) the email you used in the Plugins Directory.

What if a plugin I use wasn't migrated to Moodle Marketplace?

A number of plugins were not migrated because their providers chose not to bring them across. These remain available temporarily through the Update API (https://download.moodle.org/api/1.3/pluglist.php, no authentication required) until 31 August 2026. After that date, any of these plugins that haven't been published by their provider on Moodle Marketplace will no longer be available through the API.

If your site uses one of the affected plugins, use the time before the cut-off to check whether the provider plans to publish it on Moodle Marketplace, contact the provider about an alternative download source, download any versions you might need, or plan to replace/remove the plugin.

Installing plugins

How do I install a plugin?

  1. Find and download the plugin as a ZIP file from Moodle Marketplace (free plugins download immediately; paid plugins download after purchase).
  2. In your Moodle site, go to Site administration ▸ Plugins ▸ Install plugins.
  3. Upload and install the ZIP file.
  4. Visit the admin Notifications page (/admin/index.php) to complete the installation.

See Installing plugins for full instructions and troubleshooting (note: some of that page is being updated to reflect the Moodle Marketplace change).

Can I still install a plugin directly from my site without downloading it first?

No, not currently. Previously, some sites could install a plugin directly from the old Plugins Directory using the "Install plugin" flow in Site administration, which relied on the Directory's own "Sites" functionality and required the Moodle code directory to be writable. This flow was built specifically for the Plugins Directory and hasn't been carried over to Moodle Marketplace.

Two other reasons this changed:

  • Moodle Marketplace now supports paid plugins, which need authentication to confirm you're entitled to download them, existing Moodle sites don't yet support that authentication flow.
  • Requiring the code directory to be web-writable is no longer recommended for security reasons.

For now, download the ZIP from Moodle Marketplace and install it manually via Site administration ▸ Plugins ▸ Install plugins. A more integrated (and possibly Composer-based) installation experience is expected in future Moodle releases.

Why doesn't my newly installed plugin show up in the list of plugins?

This is usually caused by one of two things:

  • You haven't visited the admin Notifications page (/admin/index.php) yet to complete the installation, the plugin's files being present isn't enough on its own.
  • The plugin files were extracted to the wrong location, or the plugin folder is nested one level too deep (e.g. a pluginname-master/pluginname/ structure instead of just pluginname/) inside its plugin-type folder.

How do I apply a patch?

See Git for developers on the developer documentation site.

I can't find/use a plugin I need, what are my options?

Check that the plugin supports your Moodle version and that you have permission from your organisation to install it. If it's a paid plugin, make sure any purchase or invoice has been completed, downloads only become available once payment is confirmed. If it's an older plugin that wasn't migrated to Moodle Marketplace, see the question above about non-migrated plugins.

Contributing and developing plugins

How do I contribute code to Moodle?

See Guidelines for contributed code on the Moodle developer site.

How do I submit my own plugin to Moodle Marketplace?

  1. Sign in to Moodle Marketplace using the same email as your Moodle.org account if you're an existing contributor. Choose Submit a plugin.
  2. Decide whether it will be free or paid, and upload the plugin ZIP with a valid, unique Frankenstyle component name.
  3. Add the plugin details, documentation, installation/setup instructions and screenshots, then complete the automated checks (archive validation and Moodle plugin CI tests).
  4. Your plugin enters the review queue via a Jira Service Management ticket. Free plugins are reviewed once, with no guaranteed timeframe; paid plugins are reviewed on submission and annually thereafter, typically taking 2–4 weeks.
  5. Address any changes requested by the reviewer and resubmit if needed.
  6. Once review passes, review/complete your plugin page and publish it yourself, plugins are not published automatically after passing review.

See Plugin submission guidelines and Quick guide to listing a plugin on Moodle Marketplace before you start.

Is there any information on creating a new plugin?

Yes. see Plugin types on the Moodle developer site. It covers the full list of supported plugin types (there are over 60, including activity modules, blocks, themes, enrolment methods, authentication methods, question types, filters, repositories, course formats and admin tools), the naming rules for a plugin's machine (Frankenstyle) name, and the common files every plugin type needs.

Also useful when preparing a plugin for submission:

Can I automate my plugin releases with the API, like before?

Not at the moment. Uploading new plugin versions to Moodle Marketplace through the API isn't available yet, so publishing workflows (including GitHub Actions-based ones) that relied on the old Plugins Directory API can't currently push new versions to Moodle Marketplace. For now, upload new versions manually from your plugin's dashboard. Restoring automated API uploads is stated as the Marketplace team's top priority after launch. Check Launch limitations and upcoming functionality for the latest status.

Downloading (as opposed to uploading) is unaffected: free plugins can still be downloaded through the Update API without authentication; paid plugins require a Moodle Marketplace API token. See Download plugin versions through the API.

See also