{"record":{"id":"f9e8299b097e59fa","repo":"ruvnet/ruflo","slug":"ipfs-local-ipfs-upload-failed-error","errorCode":null,"errorMessage":"[IPFS] Local IPFS upload failed: ${error}","messagePattern":"\\[IPFS\\] Local IPFS upload failed: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/transfer/ipfs/upload.ts","lineNumber":234,"sourceCode":"    name = 'pattern',\n  } = options;\n\n  // Check environment variables\n  const localIPFS = process.env.IPFS_API_URL;\n  const web3Token = getWeb3StorageToken();\n  const pinataKey = process.env.PINATA_API_KEY;\n\n  // 1. Try local/custom IPFS node first (FREE - your own node)\n  if (localIPFS || pinningService === 'local') {\n    try {\n      const isAvailable = await checkLocalIPFSNode();\n      if (isAvailable) {\n        return await uploadToLocalIPFS(content, options);\n      } else {\n        console.warn(`[IPFS] Local node at ${localIPFS || 'localhost:5001'} not available`);\n      }\n    } catch (error) {\n      console.warn(`[IPFS] Local IPFS upload failed: ${error}`);\n    }\n  }\n\n  // 2. Try Pinata\n  if (pinningService === 'pinata' || (pinataKey && !web3Token)) {\n    try {\n      return await uploadToPinata(content, options);\n    } catch (error) {\n      console.warn(`[IPFS] Pinata upload failed: ${error}`);\n    }\n  }\n\n  // 3. Try Web3.storage\n  if (web3Token || pinningService === 'web3storage') {\n    try {\n      return await uploadToWeb3Storage(content, options);\n    } catch (error) {\n      console.warn(`[IPFS] Web3.storage upload failed: ${error}`);","sourceCodeStart":216,"sourceCodeEnd":252,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/transfer/ipfs/upload.ts#L216-L252","documentation":"Log warning in uploadToIPFS: the attempt to upload via the local/custom IPFS node (uploadToLocalIPFS) threw; the upload chain moves on to the next pinning strategy (Pinata, Web3.storage).","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/transfer/ipfs/upload.ts:234 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure a local IPFS daemon is running and IPFS_API_URL points to it, or configure Pinata/Web3.storage credentials instead."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}