ahmetb/kubectx · error
failed to create parent directories: %w
Error message
failed to create parent directories: %w
What it means
Returned by writeLastContext when os.MkdirAll fails to create the missing parent directories of the state-file path (the kubectx state directory under the user config/cache dir). It fires when the directory cannot be created due to permissions, an existing non-directory file at that path, or an unwritable parent — meaning the previous-context value cannot be persisted.
Source
Thrown at cmd/kubectx/state.go:49
return filepath.Join(dir, "kubectx"), nil
}
// readLastContext returns the saved previous context
// if the state file exists, otherwise returns "".
func readLastContext(path string) (string, error) {
b, err := os.ReadFile(path)
if os.IsNotExist(err) {
return "", nil
}
return string(b), err
}
// writeLastContext saves the specified value to the state file.
// It creates missing parent directories.
func writeLastContext(path, value string) error {
dir := filepath.Dir(path)
if err := os.MkdirAll(dir, 0755); err != nil {
return fmt.Errorf("failed to create parent directories: %w", err)
}
return os.WriteFile(path, []byte(value), 0644)
}
View on GitHub (pinned to 12ad6fb22e)
Solutions
- Check write permission on the home directory / state file parent (usually ~/.kube)
- Fix ownership or chmod of the parent directory
- If HOME is unset or points somewhere unwritable (CI, containers), set HOME to a writable path
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at cmd/kubectx/state.go:49 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/a6d14a262b6ab51b.
Report an issue: GitHub.