paperclipai/paperclip · error · Error

Bridge request body exceeded the configured size limit.

Error message

Bridge request body exceeded the configured size limit.

What it means

Request-size enforcement on the bridge's HTTP readBody: an inbound request body accumulated past the configured maxBodyBytes limit, so it is rejected mid-stream to bound memory use on the host side.

Source

Thrown at packages/adapter-utils/src/sandbox-callback-bridge.ts:2014

  const headerAllowlist = options.headerAllowlist ?? DEFAULT_SANDBOX_CALLBACK_BRIDGE_HEADER_ALLOWLIST;
  const session = http2.connect(`http://${authority}`, {
    createConnection: options.createConnection,
  });
  // A session-level fault fails every in-flight `forwardRequest` call through
  // that stream's own `error`/`aborted` handler. This listener only stops
  // Node from raising an unhandled `error` event for the session itself.
  session.on("error", () => undefined);
  session.on("goaway", (errorCode: number, lastStreamId: number) => {
    options.onGoaway?.({ lastStreamId, errorCode });
  });

  return {
    forwardRequest(request: SandboxHttp2BridgeGatewayRequest): Promise<SandboxHttp2BridgeGatewayResponse> {
      // The gateway check (accepted security fix 4 keeps this as well as the
      // independent host-side check): a request whose token does not match
      // the per-run bridge token never opens a stream.
      if (!compareBridgeTokensConstantTime(options.bridgeToken, request.receivedToken)) {
        return Promise.reject(new Error("Invalid bridge token."));
      }
      return forwardOneHttp2Request(session, {
        bridgeToken: options.bridgeToken,
        method: request.method,
        path: request.path,
        query: request.query,
        headers: sanitizeSandboxCallbackBridgeHeaders(request.headers, headerAllowlist),
        body: request.body,
      });
    },
    close(): Promise<void> {
      return new Promise((resolve) => {
        if (session.closed || session.destroyed) {
          resolve();
          return;
        }
        session.close(() => resolve());
      });

View on GitHub (pinned to 01ad858492)

Solutions

  1. Reduce the bridge request body size.
  2. Raise the configured body size limit if large requests are expected.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/adapter-utils/src/sandbox-callback-bridge.ts:1763 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/c63b283e371e4696. Report an issue: GitHub.