paperclipai/paperclip · error · HttpError
RESPONSIBLE_USER_UNAVAILABLE
RESPONSIBLE_USER_UNAVAILABLE
Error message
Responsible user is unavailable for this company
What it means
Responsible-user authorization sentinel (code RESPONSIBLE_USER_UNAVAILABLE) raised from assertCompanyAccess: an agent acting on behalf of a user could not be matched to a usable responsible-user identity for this company — the backing user record/lookup is unavailable. In enforce mode it throws (denies company access); in shadow mode it only logs the would-be deny.
Solutions
- Assign an active responsible user for the company, then retry the operation.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/authz.ts:23 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/aa2db8ac26053ade.
Report an issue: GitHub.
Appendix: source
Thrown at server/src/routes/authz.ts:23
import { responsibleUserAuthzShadowMode } from "../services/authorization.js";
function throwOrShadowResponsibleUserCompanyAccessDeny(
req: Request,
companyId: string,
code: "RESPONSIBLE_USER_UNAUTHORIZED" | "RESPONSIBLE_USER_UNAVAILABLE",
message: string,
) {
logger.warn({
authzMode: responsibleUserAuthzShadowMode() ? "shadow" : "enforce",
code,
action: "company_access",
companyId,
actorAgentId: req.actor.agentId ?? null,
responsibleUserId: req.actor.onBehalfOfUserId ?? null,
method: req.method,
}, "responsible-user company access intersection denied");
if (responsibleUserAuthzShadowMode()) return;
throw new HttpError(403, message, { code });
}
export function assertAuthenticated(req: Request) {
if (req.actor.type === "none") {
throw unauthorized();
}
}
export function assertBoard(req: Request) {
if (req.actor.type !== "board") {
throw forbidden("Board access required");
}
}
export function hasBoardOrgAccess(req: Request) {
if (req.actor.type !== "board") {
return false;
}View on GitHub (pinned to 120ae5428f)