ruvnet/ruflo · error

[IPFS] Pinata pin failed: ${error}

Error message

[IPFS] Pinata pin failed: ${error}

What it means

Log warning in pinContent: the POST to Pinata's pinByHash endpoint threw (network/API failure or non-OK response), so the CID was not pinned via Pinata despite a successful upload.

Source

Thrown at v3/@claude-flow/cli/src/transfer/ipfs/upload.ts:321

        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'pinata_api_key': pinataKey,
          'pinata_secret_api_key': pinataSecret || '',
        },
        body: JSON.stringify({
          hashToPin: cid,
          pinataMetadata: { name: options.name || cid },
        }),
      });

      if (response.ok) {
        const pinnedAt = new Date().toISOString();
        console.log(`[IPFS] Pinned ${cid} via Pinata at ${pinnedAt}`);
        return { success: true, pinnedAt };
      }
    } catch (error) {
      console.warn(`[IPFS] Pinata pin failed: ${error}`);
    }
  }

  // Demo mode
  const pinnedAt = new Date().toISOString();
  console.log(`[IPFS] Demo pinning ${cid}...`);
  await new Promise(resolve => setTimeout(resolve, 300));
  console.log(`[IPFS] Demo pinned at ${pinnedAt}`);

  return { success: true, pinnedAt };
}

/**
 * Unpin content by CID
 */
export async function unpinContent(
  cid: string,
  options: { service?: PinningService } = {}

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Verify the Pinata credentials and that the CID exists; retry the pin operation.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at v3/@claude-flow/cli/src/transfer/ipfs/upload.ts:321 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/b55ceab1fac62e97. Report an issue: GitHub.