paperclipai/paperclip · error
Missing permission to link approvals
Error message
Missing permission to link approvals
What it means
403 guard in assertCanManageIssueApprovalLinks: the authenticated agent exists in the company but its role (not CEO) lacks the permission required to attach or manage approval links.
Source
Thrown at server/src/routes/issues.ts:3886
companyId: input.issue.companyId,
actorType: input.actor.actorType,
actorId: input.actor.actorId,
agentId: input.actor.agentId,
runId: input.actor.runId,
agentApiKeyId: input.actor.agentApiKeyId,
action: "issue.thread_interaction_expired",
entityType: "issue",
entityId: input.issue.id,
details: {
identifier: input.issue.identifier ?? null,
interactionId: interaction.id,
interactionKind: interaction.kind,
interactionStatus: interaction.status,
source: input.source,
result: interaction.result ?? null,
},
});
}
}
async function queueExpiredInteractionReviewPathRecovery(input: {
issue: IssueRouteSnapshot;
interactions: Array<{ id: string }>;
actor: ReturnType<typeof getActorInfo>;
source: string;
}) {
if (
input.interactions.length === 0
|| input.issue.status !== "in_review"
|| !input.issue.assigneeAgentId
) {
return null;
}
const reviewAttention = await svc
.listReviewAttention(input.issue.companyId, [input.issue])View on GitHub (pinned to 01ad858492)
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.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/issues.ts:3722 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18).
Data as JSON: /api/errors/6878c425e8ad42ac.
Report an issue: GitHub.