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