error: the server doesn't have a resource type "x"
kubectl doesn’t know the resource name you typed — a typo, a CRD that isn’t installed, or a stale discovery cache.
Seen on:
Kubernetes
Meaning
Resource names come from API discovery. Custom resources appear only after their CRD is installed, and kubectl caches discovery in ~/.kube/cache, so freshly installed CRDs may need a cache refresh.
Common causes
- Typo or wrong short name
- CRD/operator not installed on this cluster
- Stale discovery cache
- Wrong cluster context
⚡ Quick fix
- List types: kubectl api-resources | grep -i name
- Install the CRD/operator
- Clear the cache: rm -rf ~/.kube/cache
Detailed fix by platform
Kubernetes
- bash
kubectl api-resources | grep -i cert rm -rf ~/.kube/cache/discovery
How to diagnose
- Types — kubectl api-resources
- Context — Right cluster?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- AlreadyExists Error from server (AlreadyExists): ... already exists
- Forbidden Error from server (Forbidden): pods is forbidden: User "x" cannot list resource "pods" in API group "" in the namespace
- is waiting to start Error from server (BadRequest): container "x" in pod "y" is waiting to start: ContainerCreating
Most viewed in Kubernetes
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026