paperclipai/paperclip · error · ToolGatewayHttpError
action_execution_in_progress
action_execution_in_progress
Error message
Approved tool action is still executing
What it means
waitForActionRequestExecution polled the executing action request for ~500x25ms without it leaving the executing state (or the row disappeared). The thrown gateway error signals that an approved tool action is stuck executing — the worker may have died mid-execution; investigate the invocation/execution rather than blindly re-approving.
Source
Thrown at server/src/services/tool-gateway.ts:4193
});
}
function normalizeMcpContent(content: unknown): string {
if (!Array.isArray(content)) throw malformedRemoteMcpResponse();
return content.map((item) => {
const record = asRecord(item);
if (!record || typeof record.type !== "string") throw malformedRemoteMcpResponse();
if (record.type === "text") {
if (typeof record.text !== "string") throw malformedRemoteMcpResponse();
return record.text;
}
return JSON.stringify(record);
}).join("\n");
}
function normalizeMcpToolResult(
result: unknown,
transport: "mcp_http" | "local_stdio" = "mcp_http",
spawnedLocalProcess = false,
sourceTemplateKey?: string | null,
) {
const record = asRecord(result);
if (!record) throw malformedRemoteMcpResponse();
const providerContent = normalizeMcpContent(record.content);
const googleWorkspacePermissionDenied = record.isError === true
&& (sourceTemplateKey === "gmail" || sourceTemplateKey?.startsWith("google-") === true)
&& /caller does not have permission/i.test(providerContent);
const content = googleWorkspacePermissionDenied
? "Google rejected this call. Google Workspace MCP is a Developer Preview: enroll the signed-in Workspace account and this OAuth client's Google Cloud project in Google's Developer Preview Program, wait for Google's registration confirmation, then reconnect and try again."
: providerContent;
return {
content,
data: {
content: record.content,
structuredContent: record.structuredContent ?? null,
isError: record.isError === true,View on GitHub (pinned to 01ad858492)
Solutions
- The approved action is already executing; wait for its completion instead of re-triggering.
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at server/src/services/tool-gateway.ts:4052 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/a2a7941457813b64.
Report an issue: GitHub.