{"record":{"id":"76a790ebe6062bb7","repo":"ipfs/kubo","slug":"unknown-router-type-q","errorCode":null,"errorMessage":"unknown router type %q","messagePattern":"unknown router type %q","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"routing/delegated.go","lineNumber":164,"sourceCode":"\t\tcrp := cfg.Parameters.(*config.ComposableRouterParams)\n\t\tvar sr []*routinghelpers.SequentialRouter\n\t\tfor _, cr := range crp.Routers {\n\t\t\tri, err := parse(visited, createdRouters, cr.RouterName, routersCfg, extraDHT, extraHTTP)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\n\t\t\tsr = append(sr, &routinghelpers.SequentialRouter{\n\t\t\t\tRouter:      ri,\n\t\t\t\tIgnoreError: cr.IgnoreErrors,\n\t\t\t\tTimeout:     cr.Timeout.Duration,\n\t\t\t})\n\n\t\t}\n\n\t\trouter = routinghelpers.NewComposableSequential(sr)\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unknown router type %q\", cfg.Type)\n\t}\n\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tcreatedRouters[routerName] = router\n\n\tlog.Info(\"created router \", routerName, \" with params \", cfg.Parameters)\n\n\treturn router, nil\n}\n\ntype ExtraHTTPParams struct {\n\tPeerID        string\n\tAddrFunc      func() []ma.Multiaddr // dynamic address resolver for provider records\n\tPrivKeyB64    string\n\tHTTPRetrieval bool","sourceCodeStart":146,"sourceCodeEnd":182,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/routing/delegated.go#L146-L182","documentation":"A Routers.<name>.Type value did not match any known router kind (the switch over cfg.Type fell to default); supported types include the HTTP delegated router, DHT router, and the composable sequential/parallel routers.","triggerScenarios":"Thrown at routing/delegated.go:164 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set Type to a supported value (e.g. 'http', 'dht', 'sequential')","Check for typos in Routers.<name>.Type","Reference: docs/config.md Routers section for valid types"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}