What You Need to Know
Before this release, monitoring a containerized OpenClaw gateway required custom health check scripts or relying on process-level liveness detection. If the gateway process was running but the AI pipeline was stalled, Docker would report the container as healthy when it was actually unable to process messages.
The new endpoints differentiate between liveness and readiness. /health and /healthz confirm the gateway process is alive and responsive. /ready and /readyz confirm the gateway has fully initialized, loaded workspace files, connected to channels, and is actively processing messages. This distinction is critical for Kubernetes deployments where you want rolling updates to wait until a new pod is fully operational before receiving traffic.
For Docker Compose deployments, add a healthcheck to your service definition: healthcheck: { test: ["CMD", "curl", "-f", "http://localhost:18789/healthz"], interval: 30s, timeout: 5s, retries: 3 }. This ensures Docker restarts the container if the gateway becomes unresponsive, and dependent services wait for it to be ready.
In Kubernetes, configure liveness and readiness probes separately. Point livenessProbe at /healthz with a generous initialDelaySeconds (the gateway needs time to load workspace files and connect channels on startup). Point readinessProbe at /readyz so the service only routes traffic to pods that are fully operational.
These endpoints also work for external monitoring tools like Uptime Robot, Healthchecks.io, or Prometheus. A simple HTTP check against /health gives you instant visibility into gateway status across all your deployments without custom scripting.