ahmetb/kubectx · error
HOME or USERPROFILE environment variable not set
Error message
HOME or USERPROFILE environment variable not set
What it means
Guard error in kubeconfigPaths: the KUBECONFIG env var is unset and cmdutil.HomeDir() returned an empty string because neither HOME nor USERPROFILE is set, so the default kubeconfig path (~/.kube/config) cannot be derived. The loader has no files to open.
Source
Thrown at internal/kubeconfig/kubeconfigloader.go:82
if err := kf.Truncate(0); err != nil {
return fmt.Errorf("failed to truncate file: %w", err)
}
if _, err := kf.Seek(0, 0); err != nil {
return fmt.Errorf("failed to seek in file: %w", err)
}
return nil
}
func kubeconfigPaths() ([]string, error) {
// KUBECONFIG env var
if v := os.Getenv("KUBECONFIG"); v != "" {
return filepath.SplitList(v), nil
}
// default path
home := cmdutil.HomeDir()
if home == "" {
return nil, errors.New("HOME or USERPROFILE environment variable not set")
}
return []string{filepath.Join(home, ".kube", "config")}, nil
}
View on GitHub (pinned to 12ad6fb22e)
Solutions
- Set KUBECONFIG to the kubeconfig path explicitly
- Set the HOME (or USERPROFILE) environment variable so ~/.kube/config can be resolved
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/kubeconfig/kubeconfigloader.go:82 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ahmetb/kubectx@12ad6fb22e (2026-09-02).
Data as JSON: /api/errors/cbfcd2bb74f63076.
Report an issue: GitHub.