paperclipai/paperclip · error · Error

Pipeline not found by key or id: ${pipeline}

Error message

Pipeline not found by key or id: ${pipeline}

What it means

Error "Pipeline not found by key or id: ${pipeline}" thrown in paperclipai/paperclip.

Source

Thrown at cli/src/commands/pipelines.ts:647

        const ctx = resolvePipelineContext(opts);
        printOutput(await ctx.api.post(apiPath`/api/cases/${caseId}/open-conversation`, {}), { json: ctx.json });
      })),
  );
}

function addPipelineOptions(command: Command): Command {
  return addCommonClientOptions(command, { includeCompany: true });
}

function resolvePipelineContext(opts: PipelineOptions): ResolvedClientContext & { companyId: string } {
  return resolveCommandContext(opts, { requireCompany: true }) as ResolvedClientContext & { companyId: string };
}

async function resolvePipelineId(ctx: ResolvedClientContext & { companyId: string }, pipeline: string): Promise<string> {
  if (looksLikeUuid(pipeline)) return pipeline;
  const rows = await ctx.api.get<PipelineSummary[]>(apiPath`/api/companies/${ctx.companyId}/pipelines`) ?? [];
  const match = rows.find((row) => row.key === pipeline || row.id === pipeline);
  if (!match) throw new Error(`Pipeline not found by key or id: ${pipeline}`);
  return match.id;
}

async function getPipeline(ctx: ResolvedClientContext & { companyId: string }, pipeline: string): Promise<PipelineDetail> {
  const pipelineId = await resolvePipelineId(ctx, pipeline);
  const detail = await ctx.api.get<PipelineDetail>(apiPath`/api/pipelines/${pipelineId}`);
  if (!detail) throw new Error(`Pipeline not found: ${pipeline}`);
  return detail;
}

async function buildIngestBody(opts: IngestOptions): Promise<JsonObject> {
  const body: JsonObject = { title: opts.title };
  setIfDefined(body, "caseKey", opts.caseKey);
  setIfDefined(body, "summary", opts.summary);
  setIfDefined(body, "stageKey", opts.stage);
  setIfDefined(body, "parentCaseId", opts.parentCase);
  if (opts.fieldsJson || opts.fieldsFile) body.fields = await readJsonFromOptions(opts.fieldsJson, opts.fieldsFile);
  if (opts.workspaceRefJson) body.workspaceRef = parseJson(opts.workspaceRefJson);

View on GitHub (pinned to 67001ec6eb)

When it happens

Trigger: Thrown at cli/src/commands/pipelines.ts:647 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@67001ec6eb (2026-08-12). Data as JSON: /api/errors/d71e884eb49f7369. Report an issue: GitHub.