davila7/claude-code-templates · warning

Warning: Error loading plugins from marketplace ${marketplac

Error message

Warning: Error loading plugins from marketplace ${marketplaceName}

What it means

This warning is emitted by the plugin dashboard's loadPluginsFromMarketplace when any unexpected error escapes the per-plugin processing loop while loading a Claude Code plugin marketplace (parsing .claude-plugin/marketplace.json, reading plugin definitions, or resolving plugin paths). It is a catch-all console.warn, not a thrown exception — the function still returns whatever plugins were collected before the failure. It usually indicates the marketplace JSON is malformed or a plugin entry references a missing/unreadable path.

Source

Thrown at cli-tool/src/plugin-dashboard.js:300

            name: pluginDef.name,
            version: pluginDef.version || '1.0.0',
            description: pluginDef.description || 'No description',
            marketplace: marketplaceName,
            path: pluginSourcePath,
            components,
            author: pluginDef.author,
            homepage: pluginDef.homepage,
            license: pluginDef.license,
            keywords: pluginDef.keywords || [],
            category: pluginDef.category,
            enabled
          });
        } catch (error) {
          console.warn(chalk.yellow(`Warning: Error processing plugin ${pluginDef.name}`), error.message);
        }
      }
    } catch (error) {
      console.warn(chalk.yellow(`Warning: Error loading plugins from marketplace ${marketplaceName}`), error.message);
    }

    return plugins;
  }

  async isPluginEnabled(pluginName, marketplace) {
    // Check if plugin is enabled in settings.json
    // Plugins are stored as "plugin-name@marketplace-name": true
    const pluginKey = `${pluginName}@${marketplace}`;
    return this.enabledPlugins && this.enabledPlugins.has(pluginKey);
  }

  async countPluginComponents(pluginPath) {
    const components = {
      agents: 0,
      commands: 0,
      hooks: 0,
      mcps: 0

View on GitHub (pinned to a0851ed10c)

Solutions

  1. Validate the marketplace's .claude-plugin/marketplace.json with a JSON linter (e.g. `npx ajv validate` or `jq . marketplace.json`)
  2. Check that every plugin entry's source/path resolves to an existing directory under the marketplace root
  3. Re-clone or restore the marketplace from its canonical source to eliminate partial downloads / uninitialized submodules
  4. If the schema changed, update the marketplace to the format expected by the current CLI version

Example fix

// before
"plugins": [
  { "name": "my-plugin", "source": "./plugins/my-plugin" }
]
// after (ensure referenced dir exists and JSON is valid)
mkdir -p plugins/my-plugin
echo '{"name":"my-plugin"}' > plugins/my-plugin/.claude-plugin/plugin.json
npx jq . .claude-plugin/marketplace.json > /dev/null && echo OK
Defensive patterns

Strategy: validation

Validate before calling

const fs = require('fs-extra');
async function marketplaceLooksValid(dir) {
  const mf = path.join(dir, '.claude-plugin', 'marketplace.json');
  if (!(await fs.pathExists(mf))) return false;
  try {
    const data = JSON.parse(await fs.readFile(mf, 'utf8'));
    return Array.isArray(data.plugins);
  } catch { return false; }
}

Try / catch

catch (error) {
  console.warn(`Skipping marketplace ${marketplaceName}: ${error.message}`);
  return []; // treat as empty marketplace, don't crash the dashboard
}

Prevention

When it happens

Trigger: Calling loadPluginsFromMarketplace (or the marketplacePlugins getter) against a marketplace whose .claude-plugin/marketplace.json is invalid JSON, has an unexpected schema (missing plugins array, wrong field names), or contains plugin entries pointing at directories that do not exist or cannot be read (permissions, symlink loops).

Common situations: Hand-edited marketplace.json with trailing commas or comments; marketplace schema changed between Claude Code versions; cloned marketplace repo with submodules not initialized; plugin entries with relative source paths that don't resolve from the marketplace root.

Related errors


AI-assisted analysis of davila7/claude-code-templates@a0851ed10c (2026-08-28). Data as JSON: /api/errors/8355d5bda5949d56. Report an issue: GitHub.