Troubleshooting
Things will go wrong. Here’s how to fix them.
Installation Issues
“No Kubernetes cluster detected”
The installer can’t reach a cluster. Either you don’t have one, or kubectl isn’t configured.
# Check if kubectl can talk to anything
kubectl cluster-info
# List available contexts
kubectl config get-contextsIf you need a local cluster, see Local Clusters.
Install hangs or times out
The clawmachine install command waits up to 5 minutes for the deployment to roll out. If it times out:
# Check what's happening
kubectl -n claw-machine get pods
kubectl -n claw-machine describe pod <pod-name>
kubectl -n claw-machine logs <pod-name>Common causes:
- ImagePullBackOff — can’t pull the container image. Check your registry access.
- Pending — no node can schedule the pod. Check resource availability.
- CrashLoopBackOff — the container starts and dies. Check logs.
Helm release already exists
Error: cannot re-use a name that is still in useClawMachine is already installed. Either uninstall first or use a different release name:
helm uninstall clawmachine -n claw-machine
# or
clawmachine install --name clawmachine-2Dashboard Issues
Can’t access the dashboard
# Is the pod running?
kubectl -n claw-machine get pods
# Port-forward
kubectl port-forward -n claw-machine svc/clawmachine 8080:80
# Then open http://localhost:8080If using OrbStack, the service is available at http://clawmachine.claw-machine.svc.cluster.local:80 automatically.
Dashboard shows no bots
That’s not a bug — you haven’t installed any yet. Click “Install Bot.”
If you have installed bots and they’re not showing, check the namespace. Bots are installed in the default namespace. If you’re looking in a different namespace, that’s why.
Bot Issues
Bot install fails
Check the Helm error message in the dashboard. Common causes:
- Chart loading error — the embedded chart is corrupted. Rebuild the binary.
- Resource quota exceeded — the namespace has resource limits. Reduce the bot’s resource requests.
- PVC can’t bind — no StorageClass available. Disable persistence or configure a StorageClass.
Bot pod is CrashLoopBackOff
kubectl logs <pod-name> -n claw-machine
kubectl describe pod <pod-name> -n claw-machineFor IronClaw specifically:
- Missing database — IronClaw needs PostgreSQL. Check
database.urlis set correctly. - Invalid auth token — the gateway auth token is empty or wrong.
- LLM provider error — API key is missing or invalid.
Bot health check failing
Each bot has a health endpoint. Test it directly:
# PicoClaw
kubectl port-forward svc/<release-name>-picoclaw 18790:18790
curl http://localhost:18790/health
# IronClaw
kubectl port-forward svc/<release-name>-ironclaw 3000:3000
curl http://localhost:3000/api/healthSecrets Issues
“External Secrets Operator is not installed”
ESO CRDs aren’t in the cluster. Install ClawMachine with the --external-secrets flag:
clawmachine install --external-secretsOr enable it in an existing installation:
helm upgrade clawmachine clawmachine/clawmachine \
-n claw-machine \
--set external-secrets.enabled=trueSecretStore shows “Not Ready”
The 1Password Connect Server is unreachable or the token is invalid.
# Check the SecretStore status
kubectl describe secretstore onepassword-store -n claw-machineVerify:
- The Connect Server URL is correct and reachable from inside the cluster
- The access token is valid
- The vault name matches a vault the token has access to
ExternalSecret stuck in “Pending”
kubectl describe externalsecret <name> -n claw-machineCommon causes:
- SecretStore isn’t ready (fix that first)
- The remote key doesn’t match any 1Password item
- The property name doesn’t match a field in the 1Password item
Network Policy Issues
Can’t reach a bot from another pod
Network policies block traffic by default. Enable ingress:
curl -X PUT http://localhost:8080/bots/my-bot \
-H "Content-Type: application/json" \
-d '{"botType": "picoclaw", "values": {"networkPolicy": {"ingress": true}}}'Network policies aren’t working at all
Your CNI doesn’t support NetworkPolicy enforcement. Kind’s default CNI (kindnet) doesn’t enforce them. Install Cilium:
helm install cilium cilium/cilium --namespace kube-system --set operator.replicas=1 --set hubble.relay.enabled=trueSee Network Security for full Cilium setup.
Still Stuck?
# The nuclear option: full cluster state dump
kubectl -n claw-machine get all
kubectl -n claw-machine get all
kubectl get networkpolicies -A
kubectl get externalsecrets -A
kubectl get secretstores -A
helm list -AIf none of this helps, open an issue.