{"record":{"id":"e7ec593769fc70da","repo":"paperclipai/paperclip","slug":"catalog-team-not-found-catalogref","errorCode":null,"errorMessage":"Catalog team not found: ${catalogRef}","messagePattern":"Catalog team not found: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"cli/src/commands/client/teams.ts","lineNumber":328,"sourceCode":"    return buildCatalogTeamStatusRow(team, installedTeam ?? null);\n  });\n\n  for (const installedTeam of installedByCatalogId.values()) {\n    if (installedTeam.present) continue;\n    rows.push(buildMissingInstalledTeamStatusRow(installedTeam));\n  }\n\n  return rows;\n}\n\nasync function getCatalogTeam(ctx: ResolvedClientContext, catalogRef: string): Promise<CatalogTeam> {\n  const ref = catalogRef.trim();\n  if (!ref) {\n    throw new Error(\"Catalog team reference is required.\");\n  }\n  const detail = await ctx.api.get<CatalogTeam>(`/api/teams/catalog/ref?ref=${encodeURIComponent(ref)}`);\n  if (!detail) {\n    throw new Error(`Catalog team not found: ${catalogRef}`);\n  }\n  return detail;\n}\n\nasync function getCatalogTeamFile(\n  ctx: ResolvedClientContext,\n  catalogRef: string,\n  filePath: string,\n): Promise<{ content: string } | null> {\n  const ref = catalogRef.trim();\n  const path = filePath.trim();\n  if (!ref) throw new Error(\"Catalog team reference is required.\");\n  if (!path) throw new Error(\"Catalog team file path is required.\");\n  const params = new URLSearchParams({ ref, path });\n  return ctx.api.get(`/api/teams/catalog/ref/files?${params.toString()}`);\n}\n\nfunction catalogTeamCompanyPath(companyId: string | undefined, catalogRef: string, action: \"preview\" | \"install\") {","sourceCodeStart":310,"sourceCodeEnd":346,"githubUrl":"https://github.com/paperclipai/paperclip/blob/67001ec6eb96ae601aa27bc91d9b2415d665334a/cli/src/commands/client/teams.ts#L310-L346","documentation":"Thrown by getCatalogTeam() when GET /api/teams/catalog/ref?ref=... returns null/undefined for a non-empty ref. The server could not resolve the catalog team identifier (id, key, or slug) in the app-shipped teams catalog.","triggerScenarios":"`paperclipai teams inspect <ref>` with a typo, a ref from a different Paperclip version/deployment, or a value that is actually a skill rather than a team.","commonSituations":"Catalog refresh removed/renamed a team, staging-vs-prod catalog mismatch, or confusing the skills catalog ref with the teams catalog ref.","solutions":["Run `paperclipai teams browse` and copy the exact id/key.","Confirm you are hitting the expected API base.","If the team was renamed, search by category/query (`--query`)."],"exampleFix":"# before\npaperclipai teams inspect old-team-key\n# after\npaperclipai teams browse --query <word>\npaperclipai teams inspect <id-from-browse>","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await run([\"teams\", \"inspect\", ref]);\n} catch (err) {\n  if (err instanceof Error && /Catalog team not found/.test(err.message)) {\n    console.error(`${ref} not in catalog. Run \\`teams browse\\` first.`);\n    process.exit(2);\n  }\n  throw err;\n}","preventionTips":["Verify against `teams browse` before inspect.","Pin the API base to the expected catalog.","Don't confuse skill refs with team refs."],"tags":["cli","not-found","teams","catalog","api"],"backgroundTag":null,"analyzedSha":"67001ec6eb96ae601aa27bc91d9b2415d665334a","analyzedAt":"2026-08-12T12:05:45.408Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}