paperclipai/paperclip · error

Invalid scope " ". Expected a comma-separated list of: .

Error message

Invalid scope "${rawValue}". Expected a comma-separated list of: ${WORKTREE_MERGE_SCOPES.join(", ")}.

What it means

parseWorktreeMergeScopes splits the --scope value on commas and every token failed to match a known scope, so the merge scope list is empty after filtering; a generic scope-enum guard.

Solutions

  1. Pass a comma-separated list from the allowed scopes shown in the error.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cli/src/commands/worktree-merge-history-lib.ts:332 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18). Data as JSON: /api/errors/effc1e0d1e05f561. Report an issue: GitHub.

Appendix: source

Thrown at cli/src/commands/worktree-merge-history-lib.ts:332

    if (createdDelta !== 0) return createdDelta;
    return left.id.localeCompare(right.id);
  });
}

export function parseWorktreeMergeScopes(rawValue: string | undefined): WorktreeMergeScope[] {
  if (!rawValue || rawValue.trim().length === 0) {
    return ["issues", "comments"];
  }

  const parsed = rawValue
    .split(",")
    .map((value) => value.trim().toLowerCase())
    .filter((value): value is WorktreeMergeScope =>
      (WORKTREE_MERGE_SCOPES as readonly string[]).includes(value),
    );

  if (parsed.length === 0) {
    throw new Error(
      `Invalid scope "${rawValue}". Expected a comma-separated list of: ${WORKTREE_MERGE_SCOPES.join(", ")}.`,
    );
  }

  return [...new Set(parsed)];
}

export function buildWorktreeMergePlan(input: {
  companyId: string;
  companyName: string;
  issuePrefix: string;
  previewIssueCounterStart: number;
  scopes: WorktreeMergeScope[];
  sourceIssues: IssueRow[];
  targetIssues: IssueRow[];
  sourceComments: CommentRow[];
  targetComments: CommentRow[];
  sourceProjects?: ProjectRow[];

View on GitHub (pinned to 120ae5428f)