ipfs/kubo · error
no delegated routers or publishers configured for 'delegated
Error message
no delegated routers or publishers configured for 'delegated' routing mode
What it means
Routing.Type is set to 'delegated' (HTTP-only routing, no DHT) but the config contains no delegated routers and no IPNS delegated publishers to use; there is nothing to route with, so node construction fails.
Source
Thrown at core/node/libp2p/routingopt.go:204
// ConstructDelegatedOnlyRouting returns routers used when Routing.Type is set to "delegated"
// This provides HTTP-only routing without DHT, using only delegated routers and IPNS publishers.
// Useful for environments where DHT connectivity is not available or desired
func ConstructDelegatedOnlyRouting(cfg *config.Config) RoutingOption {
return func(args RoutingOptionArgs) (routing.Routing, error) {
// Use only HTTP routers (includes both read and write capabilities) - no DHT
var routers []*routinghelpers.ParallelRouter
// Add HTTP delegated routers (includes both router and publisher capabilities)
addrFunc := httpRouterAddrFunc(args.Host, cfg.Addresses)
httpRouters, err := constructDefaultHTTPRouters(cfg, addrFunc)
if err != nil {
return nil, err
}
routers = append(routers, httpRouters...)
// Validate that we have at least one router configured
if len(routers) == 0 {
return nil, fmt.Errorf("no delegated routers or publishers configured for 'delegated' routing mode")
}
routing := routinghelpers.NewComposableParallel(routers)
return routing, nil
}
}
// ConstructDefaultRouting returns routers used when Routing.Type is unset or set to "auto"
func ConstructDefaultRouting(cfg *config.Config, routingOpt RoutingOption) RoutingOption {
return func(args RoutingOptionArgs) (routing.Routing, error) {
// Defined routers will be queried in parallel (optimizing for response speed)
// Different trade-offs can be made by setting Routing.Type = "custom" with own Routing.Routers
var routers []*routinghelpers.ParallelRouter
dhtRouting, err := routingOpt(args)
if err != nil {
return nil, err
}View on GitHub (pinned to 329838acdf)
Solutions
- Configure at least one HTTP delegated router under Routing.DelegatedRouters (or Routers) in the config
- Or configure Ipns.DelegatedPublishers if you only need IPNS publish over HTTP
- Or switch Routing.Type back to 'autorb'/'dht' to use the DHT
- Reference: docs/config.md Routing section
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at core/node/libp2p/routingopt.go:204 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/75b2688818cdd38b.
Report an issue: GitHub.