{"record":{"id":"03cceee98ad639a6","repo":"ahmetb/kubectx","slug":"failed-to-load-w","errorCode":null,"errorMessage":"failed to load: %w","messagePattern":"failed to load: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/kubeconfig/kubeconfig.go","lineNumber":74,"sourceCode":"func (k *Kubeconfig) WithLoader(l Loader) *Kubeconfig {\n\tk.loader = l\n\treturn k\n}\n\nfunc (k *Kubeconfig) Close() error {\n\tvar firstErr error\n\tfor _, fe := range k.files {\n\t\tif err := fe.f.Close(); err != nil && firstErr == nil {\n\t\t\tfirstErr = err\n\t\t}\n\t}\n\treturn firstErr\n}\n\nfunc (k *Kubeconfig) Parse() error {\n\trwcs, err := k.loader.Load()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to load: %w\", err)\n\t}\n\n\tk.files = make([]fileEntry, 0, len(rwcs))\n\tfor i, f := range rwcs {\n\t\tvar v yaml.Node\n\t\tif err := yaml.NewDecoder(f).Decode(&v); err != nil {\n\t\t\t// Close all file handles on failure to avoid leaks.\n\t\t\tfor _, rf := range rwcs {\n\t\t\t\trf.Close()\n\t\t\t}\n\t\t\treturn fmt.Errorf(\"failed to decode file %d: %w\", i, err)\n\t\t}\n\t\trn := yaml.NewRNode(&v)\n\t\tif rn.YNode().Kind != yaml.MappingNode {\n\t\t\tfor _, rf := range rwcs {\n\t\t\t\trf.Close()\n\t\t\t}\n\t\t\treturn fmt.Errorf(\"kubeconfig file %d is not a map document\", i)","sourceCodeStart":56,"sourceCodeEnd":92,"githubUrl":"https://github.com/ahmetb/kubectx/blob/12ad6fb22e8c546ee2b54e7de38aa51c906832f7/internal/kubeconfig/kubeconfig.go#L56-L92","documentation":"The loader (DefaultLoader, honoring KUBECONFIG or ~/.kube/config) failed to load any files: missing files where at least one is required, permission errors, or unset HOME making the default path underivable. This is the entry guard of Kubeconfig.Parse.","triggerScenarios":"Thrown at internal/kubeconfig/kubeconfig.go:74 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure KUBECONFIG paths exist and are readable (or unset the variable)","Set HOME to a valid directory so ~/.kube/config can be found","Check file permissions on the kubeconfig files"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"12ad6fb22e8c546ee2b54e7de38aa51c906832f7","analyzedAt":"2026-09-02T12:23:10.107Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T16:17:10.729Z"}