paperclipai/paperclip · error · ToolGatewayHttpError
approval_path_missing
approval_path_missing
Error message
Tool action requires approval, but this gateway session is not attached to an issue
What it means
An approval-required tool call arrived over a gateway session with no issueId attached, so there is no task thread to post the approval card on. The invocation is marked denied (approval_path_missing), a call_denied event is written, and the agent is told to re-run the action from a run that has the task checked out.
Source
Thrown at server/src/services/tool-gateway.ts:1567
reasonCode: input.reasonCode ?? null,
matchedPolicyIds: [],
requestHash: input.argumentsSummary?.sha256 ?? null,
requestSummary: input.argumentsSummary ?? null,
resultHash: input.resultSummary?.sha256 ?? null,
resultSummary: input.resultSummary ?? null,
resultSizeBytes: input.resultSummary?.sizeBytes ?? null,
metadata: Object.keys(metadata).length > 0 || input.metadata || input.session.projectId || input.session.identityContextId
? {
...metadata,
identityContextId: input.session.identityContextId ?? null,
gatewayId: input.session.gatewayId ?? null,
gatewayName: input.session.gatewayName ?? null,
projectId: input.session.projectId ?? null,
...(input.metadata ?? {}),
}
: null,
});
}
async function reflectToolActionInteractionLifecycle(input: {
actionRequestId: string;
status: "approved" | "executing" | "executed" | "failed" | "expired" | "cancelled";
errorCode?: string | null;
errorMessage?: string | null;
resultSummary?: string | null;
}): Promise<void> {
const [linked] = await db
.select({
companyId: toolActionRequests.companyId,
interactionId: toolActionRequests.interactionId,
issueId: toolActionRequests.issueId,
})
.from(toolActionRequests)
.where(eq(toolActionRequests.id, input.actionRequestId))
.limit(1);
if (!linked?.interactionId) return;View on GitHub (pinned to 01ad858492)
Solutions
- Attach the gateway session to an issue (issue-scoped session) so approval requests can be routed, or use a tool that does not require approval.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/tool-gateway.ts:1533 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/5973d0ddc954e9c2.
Report an issue: GitHub.