{"record":{"id":"3720fdaf6ed201fd","repo":"paperclipai/paperclip","slug":"company-company-name-has-no-agents-to-connect","errorCode":null,"errorMessage":"Company '${company.name}' has no agents to connect.","messagePattern":"Company '(.+?)' has no agents to connect\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"cli/src/commands/client/connect.ts","lineNumber":128,"sourceCode":"    setCurrentProfile(profileName, opts.context);\n    p.outro(pc.green(`Connected profile '${profileName}' as board.`));\n    return {\n      ok: true,\n      profile: profileName,\n      persona: \"board\",\n      apiBase,\n      companyId: company?.id ?? null,\n      key: publicKeyResult(key),\n      exports: buildExports({ apiBase, companyId: company?.id, agentId: undefined, envName: apiKeyEnvVarName, token: key.token }),\n    };\n  }\n\n  const company = await chooseCompany(companies, opts.companyId ?? resolvedProfile.profile.companyId, {\n    optional: false,\n  });\n  if (!company) throw new Error(\"Company is required for agent profiles\");\n  const agents = (await boardApi.get<Agent[]>(apiPath`/api/companies/${company.id}/agents`)) ?? [];\n  if (agents.length === 0) throw new Error(`Company '${company.name}' has no agents to connect.`);\n  const agent = await chooseAgent(agents, resolvedProfile.profile.agentId);\n  const tokenName = opts.tokenName?.trim() || `cli-agent-${new Date().toISOString()}`;\n  const key = await boardApi.post<CreatedAgentKey>(apiPath`/api/agents/${agent.id}/keys`, createAgentKeySchema.parse({ name: tokenName }));\n  if (!key) throw new Error(\"Failed to create agent token\");\n  upsertProfile(profileName, {\n    apiBase,\n    companyId: company.id,\n    persona: \"agent\",\n    agentId: agent.id,\n    agentName: agent.name,\n    apiKeyEnvVarName,\n    tokenName: key.name,\n    tokenId: key.id,\n    tokenCreatedAt: key.createdAt,\n  }, opts.context);\n  setCurrentProfile(profileName, opts.context);\n  p.outro(pc.green(`Connected profile '${profileName}' as ${agent.name}.`));\n  return {","sourceCodeStart":110,"sourceCodeEnd":146,"githubUrl":"https://github.com/paperclipai/paperclip/blob/67001ec6eb96ae601aa27bc91d9b2415d665334a/cli/src/commands/client/connect.ts#L110-L146","documentation":"Thrown when the chosen company exists but has no agents to bind a profile to. The flow calls GET /api/companies/{company.id}/agents and aborts when the resulting array is empty.","triggerScenarios":"Running `paperclipai connect` for an agent profile against a company whose GET /api/companies/{companyId}/agents returns [].","commonSituations":"Freshly created company with no agents yet; all agents deleted; wrong company auto-selected because only one exists.","solutions":["Create at least one agent in the company (board UI or POST /api/companies/{id}/agents) and re-run connect.","Confirm you connected against the intended company; switch profile or pass --company-id.","Re-run connect and explicitly choose a company that has agents."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"const agents = (await boardApi.get(`/api/companies/${companyId}/agents`)) ?? [];\nif (agents.length === 0) {\n  throw new Error(`Create an agent in company ${companyId} before connecting.`);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Provision agents in the company before running agent-profile connect.","In onboarding scripts, create the company then an agent before invoking connect."],"tags":["cli","connect","agents","empty-state"],"backgroundTag":null,"analyzedSha":"67001ec6eb96ae601aa27bc91d9b2415d665334a","analyzedAt":"2026-08-12T12:05:45.408Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}