{"record":{"id":"6cd0edcc50ca75e6","repo":"musistudio/claude-code-router","slug":"plugin-marketplace-failed-to-load-marketplace-en","errorCode":null,"errorMessage":"[plugin-marketplace] Failed to load marketplace entry: ${formatError(error)}","messagePattern":"\\[plugin-marketplace\\] Failed to load marketplace entry: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/core/src/plugins/marketplace.ts","lineNumber":97,"sourceCode":"    return [];\n  }\n}\n\nasync function normalizeMarketplaceManifest(\n  value: unknown,\n  manifestUrl: string,\n  options: { offline?: boolean } = {}\n): Promise<PluginMarketplaceEntry[]> {\n  const items = marketplaceItems(value);\n  const entries: PluginMarketplaceEntry[] = [];\n  const seen = new Set<string>();\n\n  for (const item of items) {\n    let entry: PluginMarketplaceEntry | undefined;\n    try {\n      entry = await normalizeMarketplaceEntry(item, manifestUrl, options);\n    } catch (error) {\n      console.warn(`[plugin-marketplace] Failed to load marketplace entry: ${formatError(error)}`);\n      continue;\n    }\n    if (!entry || seen.has(entry.id)) {\n      continue;\n    }\n    seen.add(entry.id);\n    entries.push(entry);\n  }\n\n  return entries;\n}\n\nfunction marketplaceItems(value: unknown): unknown[] {\n  if (Array.isArray(value)) {\n    return value;\n  }\n  if (!isRecord(value)) {\n    return [];","sourceCodeStart":79,"sourceCodeEnd":115,"githubUrl":"https://github.com/musistudio/claude-code-router/blob/99f24806c6a2c660b16e53e95211c517448a6c90/packages/core/src/plugins/marketplace.ts#L79-L115","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Read the per-entry error to identify which entry is invalid, then ignore it — the rest of the marketplace still works.","If you publish the marketplace, fix or remove the offending entry.","Upgrade the core package so newer entry schemas are recognized."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"null","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Expect individual bad entries to be skipped automatically","Keep core package updated for new entry schemas","Validate entries if you author a marketplace manifest"],"tags":["marketplace","validation","manifest","plugins"],"backgroundTag":"manifest-entry-invalid","analyzedSha":"99f24806c6a2c660b16e53e95211c517448a6c90","analyzedAt":"2026-08-27T04:11:01.184Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}