ruvnet/ruflo · error

[IPFS] Pinata unpin failed: ${error}

Error message

[IPFS] Pinata unpin failed: ${error}

What it means

Log warning in unpinContent: the DELETE call to Pinata's unpin endpoint threw or returned non-OK, so the CID remains pinned; the function continues to its demo/no-op path instead of failing.

Source

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

  // Real unpinning with Pinata
  if (pinataKey) {
    try {
      const pinataSecret = process.env.PINATA_API_SECRET;
      const response = await fetch(`https://api.pinata.cloud/pinning/unpin/${cid}`, {
        method: 'DELETE',
        headers: {
          'pinata_api_key': pinataKey,
          'pinata_secret_api_key': pinataSecret || '',
        },
      });

      if (response.ok) {
        console.log(`[IPFS] Unpinned ${cid} from Pinata`);
        return { success: true };
      }
    } catch (error) {
      console.warn(`[IPFS] Pinata unpin failed: ${error}`);
    }
  }

  // Demo mode
  console.log(`[IPFS] Demo unpinning ${cid}...`);
  await new Promise(resolve => setTimeout(resolve, 200));
  console.log(`[IPFS] Demo unpinned`);

  return { success: true };
}

/**
 * Check if content exists on IPFS
 */
export async function checkContent(
  cid: string,
  gateway: string = 'https://w3s.link'
): Promise<{ exists: boolean; size?: number }> {

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Verify the Pinata credentials and that the CID is currently pinned before unpinning.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at v3/@claude-flow/cli/src/transfer/ipfs/upload.ts:360 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/a74c311f13cc4471. Report an issue: GitHub.