paperclipai/paperclip · error · ToolGatewayHttpError

action_issue_closed

action_issue_closed

Error message

The issue for this tool action is closed; the approval has expired

What it means

Post-claim recheck in approved-action execution: the issue tied to the invocation is done or cancelled (or missing), so the claimed approval is expired and marked as such. This closes the race where a claim committed just before terminal-issue expiry revocation, ensuring governed side effects never run for closed issues.

Source

Thrown at server/src/services/tool-gateway.ts:4278

        mcpMethod: "tools/call",
        requestId,
        upstreamToolName: entry.toolName,
        dispatched: true,
      },
    };
    const controller = new AbortController();
    const timer = setTimeout(() => controller.abort(), ms);
    timer.unref?.();
    try {
      const dispatchRemote = (target: string, init: RequestInit) => options.remoteHttpRequest
        ? options.remoteHttpRequest(target, init)
        : guardedRemoteHttpFetch(target, init, {
            ...remoteHttpFetchOptions(),
            // This call site owns a caller-set budget that can exceed the
            // transport's default response deadline, so hand it down rather than
            // letting the tighter default cut a legitimately slow tool short.
            responseTimeoutMs: ms,
          });
      let requestHeaders = headers;
      if (connection.config.mcpSessionRequired === true) {
        requestHeaders = await initializeMcpHttpSession({
          send: (init) => dispatchRemote(endpoint, {
            ...init,
            redirect: "manual",
            signal: controller.signal,
          }),
          headers,
          requestId,
        });
      }
      // The guard runs inside this call and the connection is pinned to the
      // address it approved, so an operator-supplied hostname cannot be rebound
      // onto a loopback or metadata address between validation and dispatch
      // (PAP-17098).
      const requestInit: RequestInit = {
        method: "POST",

View on GitHub (pinned to 01ad858492)

Solutions

  1. The issue was closed, expiring the approval. Reopen/use another issue and request a new approval.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/services/tool-gateway.ts:4137 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/a55b50e59067d86f. Report an issue: GitHub.