kubectx is looking at a KUBECONFIG path that does not exist - the env var points at a deleted file, or HOME changed (sudo, containers) and ~/.kube/config is not there. Check echo $KUBECONFIG and ls ~/.kube/config. Point KUBECONFIG at the real file or regenerate the config, and kubectx lists contexts again.

## The error
```text
warning: kubeconfig file not found
```

## What to do
1. Find what kubectx is looking at:
```bash
echo "KUBECONFIG=$KUBECONFIG"
ls -la ~/.kube/config
```
   Expected: Shows a missing file or an env var pointing nowhere.
2. If the file exists elsewhere, point at it:
```bash
export KUBECONFIG=/path/to/config
kubectx
```
   Expected: Contexts list normally.
3. If no kubeconfig exists at all, generate one from your provider (aws eks update-kubeconfig, gcloud container clusters get-credentials, az aks get-credentials).
   Expected: Config written; warning gone.

## When this applies
- the exact warning: kubeconfig file not found message
- sudo or containers where HOME differs
- KUBECONFIG env var pointing at a moved or deleted file

## When it does NOT apply
- context name typos (config exists, name is wrong)
- permission denied reading the file (different error)

## Works with
kubectx (ahmetb/kubectx)

### kubectl errors about missing configuration on the same machine
Same missing-file root cause. Fix the file or the env var once and both tools work.

## Why it happens
kubectx reads the same kubeconfig resolution as kubectl: $KUBECONFIG first, then ~/.kube/config. When neither resolves to a file, listing warns instead of crashing.

## Edge cases
- A KUBECONFIG with several colon-separated paths warns only if none exist; a typo in one path is silently ignored.
- kubectx never creates the file - only provider CLIs or manual setup do.

## Resolved from
gh:nao1215/atago (e2e kubectx behavior spec) - https://github.com/nao1215/atago/blob/HEAD/doc/e2e/kubectx.md