paperclipai/paperclip · error · Error
Applying a company import with --json requires --yes. Use…
Error message
Applying a company import with --json requires --yes. Use --dry-run first to inspect the preview.
What it means
resolveCompanyImportApplyConfirmationMode refuses to apply (non-dry-run) an import when --json is set without --yes, because JSON output mode cannot show the interactive confirmation prompt.
Solutions
- Run with --dry-run first to inspect the preview, then re-run with --yes to apply.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/src/commands/client/company.ts:809 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/1598baa668f506d0.
Report an issue: GitHub.
Appendix: source
Thrown at cli/src/commands/client/company.ts:809
export function buildCompanyDashboardUrl(apiBase: string, issuePrefix: string): string {
const url = new URL(apiBase);
const normalizedPrefix = issuePrefix.trim().replace(/^\/+|\/+$/g, "");
url.pathname = `${url.pathname.replace(/\/+$/, "")}/${normalizedPrefix}/dashboard`;
url.search = "";
url.hash = "";
return url.toString();
}
export function resolveCompanyImportApplyConfirmationMode(input: {
yes?: boolean;
interactive: boolean;
json: boolean;
}): "skip" | "prompt" {
if (input.yes) {
return "skip";
}
if (input.json) {
throw new Error(
"Applying a company import with --json requires --yes. Use --dry-run first to inspect the preview.",
);
}
if (!input.interactive) {
throw new Error(
"Applying a company import from a non-interactive terminal requires --yes. Use --dry-run first to inspect the preview.",
);
}
return "prompt";
}
export function isHttpUrl(input: string): boolean {
return /^https?:\/\//i.test(input.trim());
}
export function looksLikeRepoUrl(input: string): boolean {
try {
const url = new URL(input.trim());View on GitHub (pinned to 120ae5428f)