halo-dev/halo · error · PluginRuntimeException

Cannot find '{}' path

Error message

Cannot find '{}' path

What it means

Error "Cannot find '{}' path" thrown in halo-dev/halo.

Source

Thrown at application/src/main/java/run/halo/app/plugin/YamlPluginFinder.java:86

            pluginStatus.setPhase(Plugin.Phase.PENDING);
            pluginStatus.setLoadLocation(pluginPath.toUri());
            plugin.setStatus(pluginStatus);
        }
        MetadataUtil.nullSafeAnnotations(plugin).put(PluginConst.PLUGIN_PATH, pluginPath.toString());
        return plugin;
    }

    protected Plugin readPluginDescriptor(Path pluginPath) {
        Path propertiesPath = null;
        try {
            propertiesPath = getManifestPath(pluginPath, propertiesFileName);
            if (propertiesPath == null) {
                throw new PluginRuntimeException("Cannot find the plugin manifest path");
            }

            log.debug("Lookup plugin descriptor in '{}'", propertiesPath);
            if (Files.notExists(propertiesPath)) {
                throw new PluginRuntimeException("Cannot find '{}' path", propertiesPath);
            }
            Resource propertyResource = new FileSystemResource(propertiesPath);
            return unstructuredToPlugin(propertyResource);
        } finally {
            FileUtils.closePath(propertiesPath);
        }
    }

    protected Plugin unstructuredToPlugin(Resource propertyResource) {
        YamlUnstructuredLoader yamlUnstructuredLoader = new YamlUnstructuredLoader(propertyResource);
        List<Unstructured> unstructuredList = yamlUnstructuredLoader.load();
        if (unstructuredList.size() != 1) {
            throw new PluginRuntimeException("Unable to find plugin descriptor file '{}'", propertiesFileName);
        }
        Unstructured unstructured = unstructuredList.get(0);
        return Unstructured.OBJECT_MAPPER.convertValue(unstructured, Plugin.class);
    }

View on GitHub (pinned to d2f5165f9c)

Solutions

  1. Check that the path shown in the error exists on disk and is readable by the Halo process.
  2. Verify the plugin file was fully uploaded/copied before installation.
  3. Correct any typo in the configured plugin path or re-upload the plugin.

When it happens

Trigger: Thrown at application/src/main/java/run/halo/app/plugin/YamlPluginFinder.java:86 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of halo-dev/halo@d2f5165f9c (2026-08-14). Data as JSON: /api/errors/5f3b3847ed981db0. Report an issue: GitHub.