Permistry

Paper and Spigot plugin.yml errors

"version is not defined" (also "name is not defined", "main is not defined")

Server log
org.bukkit.plugin.InvalidDescriptionException: version is not defined

What it means

One of the three required keys is missing, so the server cannot load the plugin. The message names the missing key.

What causes it

plugin.yml has no version (or name, or main). It also happens when the key is there but misspelled or indented under another key.

How to fix it

Before

name: MyPlugin
main: com.example.myplugin.MyPlugin
api-version: '26.3'

After

name: MyPlugin
version: '1.0.0'
main: com.example.myplugin.MyPlugin
api-version: '26.3'

If you use version: '${version}', make sure Gradle (processResources with expand) or Maven (resource filtering) replaces it in the built jar.

Check the whole file. Paste your plugin.yml or drop the plugin jar into Permistry. It finds this and about 40 other problems, and explains each one in plain words. It runs in your browser and nothing is uploaded.

Open the checker