Troubleshooting
This page covers exit codes, check results, and common errors for kinder env and kinder doctor.
kinder env
Section titled “kinder env”Exit codes
Section titled “Exit codes”| Exit code | Meaning |
|---|---|
| 0 | Success — provider detected, output written |
| 1 | Error — unsupported output format or provider detection failure |
Common errors
Section titled “Common errors”Unknown output format
- Symptom:
kinder env --output yamlreturns an error. - Cause: Only
jsonand the default text format are supported.yaml,table, and other formats are not recognized. - Fix: Use
kinder env(default text) orkinder env --output json.
Wrong cluster name in output
- Symptom:
kinder envshowsKIND_CLUSTER_NAME=kindbut your cluster has a different name. - Cause: The
--nameflag defaults to"kind". If you created a cluster with--name my-cluster, you must also pass--name my-clustertokinder env. - Fix:
kinder env --name my-cluster
Shell integration
Section titled “Shell integration”kinder doctor
Section titled “kinder doctor”Exit codes
Section titled “Exit codes”| Exit code | Meaning |
|---|---|
| 0 | All checks passed |
| 1 | One or more checks failed |
| 2 | One or more checks warned (no failures) |
If both failures and warnings exist, exit code 1 takes priority over exit code 2.
Check results
Section titled “Check results”| Check name | What it checks | Possible statuses |
|---|---|---|
docker / podman / nerdctl | Container runtime binary found and daemon responding | ok, warn, fail |
container-runtime | Fallback name when no runtime binary is found at all | fail |
kubectl | kubectl binary found and kubectl version --client succeeds | ok, warn |
Common scenarios
Section titled “Common scenarios”No container runtime found
- Symptom: Exit code 1. JSON output shows
{"name":"container-runtime","status":"fail","message":"no container runtime found..."}. - Cause: None of
docker,podman, ornerdctlis installed or in PATH. - Fix: Install Docker, Podman, or nerdctl. Then re-run
kinder doctor.
Docker found but not responding
- Symptom: Exit code 2. JSON shows
{"name":"docker","status":"warn","message":"docker found but not responding..."}. - Cause: The
dockerbinary is on PATH but the Docker daemon is not running. - Fix: Start the Docker daemon (
systemctl start dockeron Linux, open Docker Desktop on macOS/Windows), then re-runkinder doctor.
kubectl not found
- Symptom: Exit code 1 (if combined with a runtime fail) or exit code 2 (if runtime is ok but kubectl warns). JSON shows
{"name":"kubectl","status":"warn"}or{"name":"kubectl","status":"fail"}. - Cause:
kubectlis not installed or not in PATH. - Fix: Install kubectl: https://kubernetes.io/docs/tasks/tools/. Then re-run
kinder doctor.
All checks pass but cluster still fails
- Symptom:
kinder doctorreturns exit code 0 butkinder create clusterfails. - Cause:
kinder doctorchecks prerequisites (runtime and kubectl), not cluster state. Issues like insufficient disk space, port conflicts, or Docker resource limits are not checked. - Fix: Check Docker resource settings (memory, disk), ensure no port conflicts on the host, and review the
kinder create clustererror output.