paperclipai/paperclip · error · Error
Board access is required to resolve companies across the…
Error message
Board access is required to resolve companies across the instance. Use a company ID/prefix for your current company, or run with board authentication.
What it means
Company-scoped lookup failed and the fallback GET /api/companies returned 403 'Board access required', so the CLI cannot enumerate companies to resolve the deletion selector; an auth-scope guard.
Solutions
- Use a company ID/prefix for your current company, or authenticate with board credentials.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/src/commands/client/company.ts:1968 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Authentication and authorization failures — expired tokens, bad credentials, and missing scopes.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/625edf9f1074cf73.
Report an issue: GitHub.
Appendix: source
Thrown at cli/src/commands/client/company.ts:1968
if (!target && ctx.companyId) {
const scoped = await ctx.api.get<Company>(apiPath`/api/companies/${ctx.companyId}`, { ignoreNotFound: true });
if (scoped) {
try {
target = resolveCompanyForDeletion([scoped], normalizedSelector, by);
} catch {
// Fallback to board-wide lookup below.
}
}
}
if (!target) {
try {
const companies = (await ctx.api.get<Company[]>("/api/companies")) ?? [];
target = resolveCompanyForDeletion(companies, normalizedSelector, by);
} catch (error) {
if (error instanceof ApiRequestError && error.status === 403 && error.message.includes("Board access required")) {
throw new Error(
"Board access is required to resolve companies across the instance. Use a company ID/prefix for your current company, or run with board authentication.",
);
}
throw error;
}
}
if (!target) {
throw new Error(`No company found for selector '${normalizedSelector}'.`);
}
assertDeleteConfirmation(target, opts);
await ctx.api.delete<{ ok: true }>(apiPath`/api/companies/${target.id}`);
printOutput(
{
ok: true,View on GitHub (pinned to 120ae5428f)