ipfs/kubo · error

provider: %w

Error message

provider: %w

What it means

fx wiring error at node startup: the configured Provide.Strategy value does not parse as a valid strategy (config.ParseProvideStrategy failed). The wrapped error names the invalid value; the node refuses to start with an unknown provide strategy.

Source

Thrown at core/node/provider.go:1165

						return true
					}
				}
			}
		}
	}
	return false
}

// OnlineProviders groups units managing provide routing records online
func OnlineProviders(provide bool, cfg *config.Config) fx.Option {
	if !provide {
		return OfflineProviders()
	}

	providerStrategy := cfg.Provide.Strategy.WithDefault(config.DefaultProvideStrategy)

	if _, err := config.ParseProvideStrategy(providerStrategy); err != nil {
		return fx.Error(fmt.Errorf("provider: %w", err))
	}

	bloomFPRate := uint(cfg.Provide.BloomFPRate.WithDefault(config.DefaultProvideBloomFPRate))

	opts := []fx.Option{
		fx.Provide(setReproviderKeyProvider(providerStrategy, bloomFPRate)),
	}

	sweepEnabled := cfg.Provide.DHT.SweepEnabled.WithDefault(config.DefaultProvideDHTSweepEnabled)
	dhtAvailable := hasDHTRouting(cfg)

	// Use SweepingProvider only when both sweep is enabled AND DHT is available.
	// For HTTP-only routing (e.g., Routing.Type="custom" with only HTTP routers),
	// fall back to LegacyProvider which works with ProvideManyRouter.
	// See https://github.com/ipfs/kubo/issues/11089
	if sweepEnabled && dhtAvailable {
		opts = append(opts, SweepingProviderOpt(cfg))
	} else {

View on GitHub (pinned to 329838acdf)

Solutions

  1. Set Provide.Strategy to a valid value ('all' or 'pinned') in the config
  2. Remove the key to fall back to the default strategy
  3. Reference: docs/config.md Provide section
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at core/node/provider.go:1165 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03). Data as JSON: /api/errors/e0a42cd3ae601b32. Report an issue: GitHub.