musistudio/claude-code-router · warning

[plugin-marketplace] Failed to load marketplace entry: ${for

Error message

[plugin-marketplace] Failed to load marketplace entry: ${formatError(error)}

What it means

Warned per-entry by normalizeMarketplaceManifest when normalizing a single marketplace entry (normalizeMarketplaceEntry) throws — e.g. the entry lacks required fields, has an invalid id/version/source URL, or its type fails validation. The entry is skipped with continue and the rest of the manifest loads normally.

Source

Thrown at packages/core/src/plugins/marketplace.ts:97

    return [];
  }
}

async function normalizeMarketplaceManifest(
  value: unknown,
  manifestUrl: string,
  options: { offline?: boolean } = {}
): Promise<PluginMarketplaceEntry[]> {
  const items = marketplaceItems(value);
  const entries: PluginMarketplaceEntry[] = [];
  const seen = new Set<string>();

  for (const item of items) {
    let entry: PluginMarketplaceEntry | undefined;
    try {
      entry = await normalizeMarketplaceEntry(item, manifestUrl, options);
    } catch (error) {
      console.warn(`[plugin-marketplace] Failed to load marketplace entry: ${formatError(error)}`);
      continue;
    }
    if (!entry || seen.has(entry.id)) {
      continue;
    }
    seen.add(entry.id);
    entries.push(entry);
  }

  return entries;
}

function marketplaceItems(value: unknown): unknown[] {
  if (Array.isArray(value)) {
    return value;
  }
  if (!isRecord(value)) {
    return [];

View on GitHub (pinned to 99f24806c6)

Solutions

  1. Read the per-entry error to identify which entry is invalid, then ignore it — the rest of the marketplace still works.
  2. If you publish the marketplace, fix or remove the offending entry.
  3. Upgrade the core package so newer entry schemas are recognized.
Defensive patterns

Strategy: validation

Validate before calling

null

Type guard

null

Try / catch

null

Prevention

When it happens

Trigger: A marketplace manifest containing one malformed entry (missing id, bad URL, wrong plugin kind), or an entry format the current package version does not understand.

Common situations: Marketplace authors publish an entry with a typo; schema evolution adds required fields that old entries lack; the installed core version is older than the manifest schema.

Related errors


AI-assisted analysis of musistudio/claude-code-router@99f24806c6 (2026-08-27). Data as JSON: /api/errors/6cd0edcc50ca75e6. Report an issue: GitHub.