paperclipai/paperclip · error
Agent actors cannot cancel issue-thread interactions through
Error message
Agent actors cannot cancel issue-thread interactions through this board-only route
What it means
403 guard on POST /issues/:id/interactions/:interactionId/cancel. Fires when the actor is an agent; cancelling issue-thread interactions (confirmations, questions) is restricted to the board route and agents must use their own run-scoped paths.
Source
Thrown at server/src/routes/issues.ts:12280
assertBoard(req);
if (!req.actor.userId) throw forbidden("Board user context required");
const id = req.params.id as string;
const issue = await getAccessibleResource(req, res, svc.getById(id), "Issue not found");
if (!issue) return;
const actor = getActorInfo(req);
const queue = await db.transaction(async (tx) => {
const locked = await lockQueuedCommentState({
tx,
issue,
actor,
queueId: req.body.queueId,
});
assertQueueMutationTarget({
queue: locked.queue,
queueId: req.body.queueId,
revision: req.body.revision,
});
const currentIds = locked.queue.entries.map((entry) => entry.comment.id);
const orderedIds = req.body.orderedCommentIds as string[];
const orderedSet = new Set(orderedIds);
if (
orderedSet.size !== orderedIds.length
|| orderedIds.length !== currentIds.length
|| currentIds.some((commentId) => !orderedSet.has(commentId))
) {
throw conflict("The queued message order does not match the current queue", {
code: "queued_comment_order_mismatch",
});
}
const now = new Date();
const updatedWake = await tx
.update(agentWakeupRequests)
.set({
payload: withQueuedCommentIdsInWakePayload(locked.wake.payload, orderedIds),
updatedAt: now,
})View on GitHub (pinned to 01ad858492)
Solutions
- This is an authorization rule, not a bug: perform the action with an actor that satisfies the stated constraint (board user, the owning agent, or an in-scope resource).
- If access should be allowed, verify the actor's credentials/company scope and the resource's ownership before retrying.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/issues.ts:11491 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/3dbe025ed0ac0c6f.
Report an issue: GitHub.