paperclipai/paperclip · error
Aborted.
Error message
Aborted.
What it means
The interactive dangerous-action confirmation was answered no (or aborted), so the command stops by user choice; the catch-all for declined confirmation prompts.
Solutions
- Re-run the command and confirm the prompt (or pass --yes where supported).
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at cli/src/commands/client/skills.ts:1019 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/999ec1de78dc558d.
Report an issue: GitHub.
Appendix: source
Thrown at cli/src/commands/client/skills.ts:1019
async function readStdin(): Promise<string> {
const chunks: Buffer[] = [];
for await (const chunk of process.stdin) {
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk)));
}
return Buffer.concat(chunks).toString("utf8");
}
async function confirmDangerousAction(yes: boolean | undefined, message: string): Promise<void> {
if (yes) return;
if (!process.stdin.isTTY || !process.stdout.isTTY) {
throw new Error("This command requires --yes when not running in an interactive terminal.");
}
const rl = createInterface({ input, output });
try {
const answer = (await rl.question(`${message} Type yes to continue: `)).trim().toLowerCase();
if (answer !== "yes") {
throw new Error("Aborted.");
}
} finally {
rl.close();
}
}
View on GitHub (pinned to 120ae5428f)