ahmetb/kubectx · error
can't use '.' as the no active context is set
Error message
can't use '.' as the no active context is set
What it means
Validation error in deleteContext: the user passed '.' (meaning 'delete the current context'), but GetCurrentContext() returned an empty string, so there is no active context to resolve '.' against. The sentinel guard fires because '.' is only meaningful when current-context is set in the kubeconfig.
Source
Thrown at cmd/kubectx/delete.go:68
}
// deleteContext deletes a context entry by NAME or current-context
// indicated by ".".
func deleteContext(name string) (deleteName string, wasActiveContext bool, err error) {
kc := new(kubeconfig.Kubeconfig).WithLoader(kubeconfig.DefaultLoader)
defer kc.Close()
if err := kc.Parse(); err != nil {
return deleteName, false, fmt.Errorf("kubeconfig error: %w", err)
}
cur, err := kc.GetCurrentContext()
if err != nil {
return deleteName, false, fmt.Errorf("failed to get current context: %w", err)
}
// resolve "." to a real name
if name == "." {
if cur == "" {
return deleteName, false, errors.New("can't use '.' as the no active context is set")
}
wasActiveContext = true
name = cur
}
exists, err := kc.ContextExists(name)
if err != nil {
return name, false, fmt.Errorf("failed to check context: %w", err)
}
if !exists {
return name, false, errors.New("context does not exist")
}
if err := kc.DeleteContextEntry(name); err != nil {
return name, false, fmt.Errorf("failed to modify yaml doc: %w", err)
}
if err := kc.Save(); err != nil {
return name, wasActiveContext, fmt.Errorf("failed to save modified kubeconfig file: %w", err)View on GitHub (pinned to 12ad6fb22e)
Solutions
- Set a current context with `kubectx <NAME>` before using `kubectx -d .`
- Delete the target context by its explicit name instead of '.'
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cmd/kubectx/delete.go:68 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/859ed02401b039fb.
Report an issue: GitHub.