paperclipai/paperclip · error
companyId and message are required
Error message
companyId and message are required
What it means
Error "companyId and message are required" thrown in paperclipai/paperclip.
Source
Thrown at server/src/routes/board-chat.ts:130
// IS the machine operator: local_trusted is loopback-only single-operator
// by construction (see server/src/index.ts boot guards). Refuse everywhere
// else rather than lending the server's shell to remote users.
if (opts.deploymentMode !== "local_trusted") {
res.status(403).json({
error: "Board chat is only available on local single-operator instances",
code: "DEPLOYMENT_MODE_UNSUPPORTED",
});
return;
}
const { companyId, message, taskId } = req.body as {
companyId?: string;
message?: string;
taskId?: string;
};
if (!companyId || !message) {
res.status(400).json({ error: "companyId and message are required" });
return;
}
// The body-supplied companyId must belong to the authenticated actor —
// it scopes issue reads/writes below and is exported to the subprocess.
assertCompanyAccess(req, companyId);
// Back-pressure: each request holds a subprocess + SSE stream for up to
// 2 minutes; cap simultaneous spawns instead of forking without bound.
if (liveBoardChats >= MAX_CONCURRENT_BOARD_CHATS) {
res.status(429).json({
error: "Too many concurrent board chats — retry shortly",
code: "BOARD_CHAT_BUSY",
});
return;
}
const issueSvc = issueService(db);View on GitHub (pinned to 120ae5428f)
Solutions
- Include the required field(s) in the request path, query, or body as named by the error message, then retry.
- Check the API contract in packages/shared validators for the exact required shape of this endpoint.
When it happens
Trigger: Thrown at server/src/routes/board-chat.ts:130 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/a85b806c2c43e157.
Report an issue: GitHub.