{"record":{"id":"79125a86f75b2522","repo":"getgrav/grav","slug":"failed-to-load-console-commands-for-plugin-name","errorCode":null,"errorMessage":"Failed to load console commands for plugin {$name}","messagePattern":"Failed to load console commands for plugin (.+?)","errorType":"console","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"system/src/Grav/Console/Application/CommandLoader/PluginCommandLoader.php","lineNumber":44,"sourceCode":"    /** @var array */\n    private $commands;\n\n    /**\n     * PluginCommandLoader constructor.\n     *\n     * @param string $name\n     */\n    public function __construct(string $name)\n    {\n        $this->commands = [];\n\n        try {\n            $path = \"plugins://{$name}/cli\";\n            $pattern = '([A-Z]\\w+Command\\.php)';\n\n            $commands = is_dir($path) ? Folder::all($path, ['compare' => 'Filename', 'pattern' => '/' . $pattern . '$/usm', 'levels' => 1]) : [];\n        } catch (RuntimeException $e) {\n            throw new RuntimeException(\"Failed to load console commands for plugin {$name}\");\n        }\n\n        $grav = Grav::instance();\n\n        /** @var UniformResourceLocator $locator */\n        $locator = $grav['locator'];\n        foreach ($commands as $command_path) {\n            $full_path = $locator->findResource(\"plugins://{$name}/cli/{$command_path}\");\n            require_once $full_path;\n\n            $command_class = 'Grav\\Plugin\\Console\\\\' . preg_replace('/.php$/', '', (string) $command_path);\n            if (class_exists($command_class)) {\n                $command = new $command_class();\n                if ($command instanceof Command) {\n                    $this->commands[$command->getName()] = $command;\n\n                    // If the command has an alias, add that as a possible command name.\n                    $aliases = $this->commands[$command->getName()]->getAliases();","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/getgrav/grav/blob/6040efed04efa69b8209448ed81308e7c24147c2/system/src/Grav/Console/Application/CommandLoader/PluginCommandLoader.php#L26-L62","documentation":"Error \"Failed to load console commands for plugin {$name}\" thrown in getgrav/grav.","triggerScenarios":"Thrown at system/src/Grav/Console/Application/CommandLoader/PluginCommandLoader.php:44 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6040efed04efa69b8209448ed81308e7c24147c2","analyzedAt":"2026-08-17T05:07:31.593Z","schemaVersion":2},"datasetVersion":"2026-08-17T09:17:11.063Z"}