paperclipai/paperclip · error · Error
No companies are accessible with this board credential.
Error message
No companies are accessible with this board credential.
What it means
Thrown by chooseCompany when the companies list is empty and the caller marked the selection as required (optional:false). It means the board credential grants access to zero companies.
Source
Thrown at cli/src/commands/client/connect.ts:195
async function askProfileName(defaultName: string): Promise<string> {
const profile = await p.text({
message: "Profile name",
initialValue: defaultName || "default",
});
assertNotCancelled(profile);
const value = String(profile).trim();
if (!value) throw new Error("Profile name is required");
return value;
}
async function chooseCompany(
companies: Company[],
preferredCompanyId: string | undefined,
opts: { optional: boolean },
): Promise<Company | null> {
if (companies.length === 0) {
if (opts.optional) return null;
throw new Error("No companies are accessible with this board credential.");
}
const preferred = preferredCompanyId ? companies.find((company) => company.id === preferredCompanyId) : null;
if (companies.length === 1 && !opts.optional) return companies[0] ?? null;
const selected = await p.select({
message: opts.optional ? "Default company for this profile" : "Agent company",
initialValue: preferred?.id ?? companies[0]?.id,
options: [
...(opts.optional ? [{ value: "", label: "(none)" }] : []),
...companies.map((company) => ({
value: company.id,
label: company.name,
hint: company.id,
})),
],
});
assertNotCancelled(selected);
if (!selected) return null;
return companies.find((company) => company.id === selected) ?? null;View on GitHub (pinned to 67001ec6eb)
Solutions
- Create a company in the board UI first, then re-run connect.
- Verify the board credential and apiBase are correct (curl GET /api/companies with the token).
- Have an admin grant your board user membership in an existing company.
Defensive patterns
Strategy: validation
Validate before calling
const companies = (await boardApi.get('/api/companies')) ?? [];
if (companies.length === 0) {
throw new Error('No companies accessible; create one in the board UI first.');
} Prevention
- Verify the board credential returns companies before connect.
- Keep the board credential's company memberships up to date.
When it happens
Trigger: GET /api/companies (called with the board token) returns [] during an agent-profile connect that requires a company.
Common situations: Brand-new install with no companies created; revoked company membership; board API key scoped to nothing; apiBase pointing at the wrong instance.
Related errors
- Company '${company.name}' has no agents to connect.
- Request failed: ${response.status}
- CLI auth challenge was cancelled.
- CLI auth challenge expired before approval.
- Environment variable ${envName} is empty or not set.
AI-assisted analysis of paperclipai/paperclip@67001ec6eb (2026-08-12).
Data as JSON: /api/errors/445726c528dcbcfd.
Report an issue: GitHub.