ipfs/kubo · error

config for router with name %q not found

Error message

config for router with name %q not found

What it means

The routing config references a router by name (in Routing.DelegatedRouters or another router's Refs/SubRouters) that has no definition in the Routers section; the named router config is simply missing.

Source

Thrown at routing/delegated.go:115

	extraHTTP *ExtraHTTPParams,
) (routing.Routing, error) {
	// check if we already created it
	r, ok := createdRouters[routerName]
	if ok {
		return r, nil
	}

	// check if we are in a dep loop
	if visited[routerName] {
		return nil, fmt.Errorf("dependency loop creating router with name %q", routerName)
	}

	// set node as visited
	visited[routerName] = true

	cfg, ok := routersCfg[routerName]
	if !ok {
		return nil, fmt.Errorf("config for router with name %q not found", routerName)
	}

	var router routing.Routing
	var err error
	switch cfg.Type {
	case config.RouterTypeHTTP:
		router, err = httpRoutingFromConfig(cfg.Router, extraHTTP)
	case config.RouterTypeDHT:
		router, err = dhtRoutingFromConfig(cfg.Router, extraDHT)
	case config.RouterTypeParallel:
		crp := cfg.Parameters.(*config.ComposableRouterParams)
		var pr []*routinghelpers.ParallelRouter
		for _, cr := range crp.Routers {
			ri, err := parse(visited, createdRouters, cr.RouterName, routersCfg, extraDHT, extraHTTP)
			if err != nil {
				return nil, err
			}

View on GitHub (pinned to 329838acdf)

Solutions

  1. Add a Routers.<name> entry with Type and Parameters for the referenced name
  2. Or fix the typo in the reference so it points at an existing router
  3. Reference: docs/config.md Routers section
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at routing/delegated.go:115 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/15f5e2a80c9f61ba. Report an issue: GitHub.