ipfs/kubo · error
nothing downloaded by ipfs fetcher
Error message
nothing downloaded by ipfs fetcher
What it means
addMigrationPaths is given the list of paths the ipfs fetcher downloaded. If that list is empty there is nothing to add to the temporary migration node, so it fails early rather than proceeding with an empty migration.
Source
Thrown at cmd/ipfs/kubo/add_migrations.go:105
return err
}
ipfsPath, err := ufs.Add(ctx, files.NewReaderStatFile(f, fi), options.Unixfs.Pin(pin, ""))
f.Close()
if err != nil {
return err
}
fmt.Printf("Added migration file %q: %s\n", filepath.Base(filePath), ipfsPath)
}
return nil
}
// addMigrationPaths adds the files at paths to IPFS, optionally pinning
// them. This is done after connecting to the peer.
func addMigrationPaths(ctx context.Context, node *core.IpfsNode, peerInfo peer.AddrInfo, paths []path.Path, pin bool) error {
if len(paths) == 0 {
return errors.New("nothing downloaded by ipfs fetcher")
}
if len(peerInfo.Addrs) == 0 {
return errors.New("no local swarm address for migration node")
}
ipfs, err := coreapi.NewCoreAPI(node)
if err != nil {
return err
}
// Connect to temp node
if err := ipfs.Swarm().Connect(ctx, peerInfo); err != nil {
return fmt.Errorf("could not connect to migration peer %q: %s", peerInfo.ID, err)
}
fmt.Printf("connected to migration peer %q\n", peerInfo)
if pin {
pinAPI := ipfs.Pin()View on GitHub (pinned to 329838acdf)
Solutions
- Re-run the daemon with --migrate so the fetch retries and check its output for download errors
- Verify network access to dist.ipfs.tech (or the configured download host) and any proxy settings
- Check disk space and write permissions in the temp dir used for fetched migrations
- Run migrations manually: download the matching fs-repo-migrations release and run `ipfs repo migrate`
Defensive patterns
Strategy: retry
Prevention
- Ensure network reachability to the migration download host before starting the daemon
- Check disk space in the temp download dir
- Prefer running `ipfs repo migrate` manually in flaky-network environments
When it happens
Trigger: addMigrations used the `ipfs fetch`-style fetcher, but the download step produced no file paths (fetch command failed silently, wrote to an unexpected location, or matched no files).
Common situations: Network failure or partial download during `ipfs fetch` of migration binaries; disk full or permission errors dropping the artifact; a mismatch between the fetched filename and the path glob used by addMigrations.
Related errors
- cannot get migrations from unknown fetcher type
- fs-repo requires migration
- ipfs api address could not be found
- no local swarm address for migration node
- could not connect to migration peer %q: %s
AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03).
Data as JSON: /api/errors/b5cc821f4d005f04.
Report an issue: GitHub.