paperclipai/paperclip · error · Error
This decision must be completed from its detail view.
Error message
This decision must be completed from its detail view.
What it means
Error "This decision must be completed from its detail view." thrown in paperclipai/paperclip.
Source
Thrown at ui/src/components/AttentionQueueRow.tsx:509
const decision = useMutation<unknown, Error, CompactDecisionAction>({
mutationFn: (action: CompactDecisionAction) => {
if (item.sourceKind === "approval") {
if (action === "approve") return approvalsApi.approve(item.subject.id);
if (action === "reject") return approvalsApi.reject(item.subject.id);
return approvalsApi.requestRevision(item.subject.id);
}
if (item.sourceKind === "join_request") {
return action === "approve"
? accessApi.approveJoinRequest(companyId, item.subject.id)
: accessApi.rejectJoinRequest(companyId, item.subject.id);
}
if (item.sourceKind === "issue_thread_interaction") {
const issueId = item.subject.metadata?.issueId;
if (typeof issueId !== "string") throw new Error("Missing issue reference for this decision.");
if (action === "accept") return issuesApi.acceptInteraction(issueId, item.subject.id);
return issuesApi.rejectInteraction(issueId, item.subject.id);
}
throw new Error("This decision must be completed from its detail view.");
},
onSuccess: (_result, action) => {
queryClient.invalidateQueries({ queryKey: queryKeys.attention(companyId) });
if (item.sourceKind === "approval") {
queryClient.invalidateQueries({ queryKey: queryKeys.approvals.list(companyId) });
} else {
queryClient.invalidateQueries({ queryKey: queryKeys.access.joinRequests(companyId) });
}
pushToast({
title: compactDecisionSuccessLabel(item.sourceKind, action),
tone: "success",
});
},
onError: (error, action) => {
// A policy denial is permanent, so it keeps the server's reason and names
// the real responder instead of asking for a retry that will fail again.
pushToast({
title: `Could not ${decisionLabel(action)}`,View on GitHub (pinned to 120ae5428f)
Solutions
- Open the decision's detail view and complete it there.
When it happens
Trigger: Thrown at ui/src/components/AttentionQueueRow.tsx:509 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/4cde3a4fc20f4429.
Report an issue: GitHub.