What
The self-hosted gateway is the server bundled in the CLI. It logs 'upstream requests' limits and serves /readyz, the address an orchestrator or load balancer checks to decide whether a copy of the server is ready for traffic. Before this release, /readyz returned 503 "store unavailable" whenever its check of Postgres (the gateway's database) failed, and it logged nothing. This release adds:
store.readiness_grace_seconds: a new config key taking a whole number from 0 to 3600, default 0. When it is above 0,/readyzkeeps reporting ready for that many seconds after Postgres stops answering, then returns 503. During that time the gateway logs what happens to inference, which depends onenforcement.fail_closed_on_error(default false).- A warning at the default of 0:
/readyzstill returns 503 immediately, but now logs a warning recommending the new key. load_test_mode: a new config block withenabled,reply_tokens(default 750) andreply_seconds(default 9.5). It serves canned replies instead of calling the upstream.
Why
To keep the gateway reporting ready through a short outage such as a database failover, set store.readiness_grace_seconds to more seconds than the outage lasts, up to 3600. Otherwise one Postgres blip can make every replica report not ready at once, and the load balancer or orchestrator may pull them all. Check enforcement.fail_closed_on_error to know how requests are treated during the grace period. The load-test mode lets you exercise the gateway without sending requests upstream.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Fail-open only helps while your load balancer or orchestrator still routes traffic to the gateway. See [Outage behavior](/docs/en/claude-apps-gateway-deploy#outage-behavior) for `store.readiness_grace_seconds`, which keeps replicas passing…claude-apps-gateway-spend-limits see the edit
To keep signed-in developers working through a short Postgres outage such as a database failover, set [`store.readiness_grace_seconds`](/docs/en/claude-apps-gateway-config#store) to longer than the failover takes, for example `300`. With s…claude-apps-gateway-deploy see the edit
The gateway serves `GET /healthz` as a liveness probe and `GET /readyz` as a readiness probe. `/readyz` verifies the store is reachable. If you set [`store.readiness_grace_seconds`](/docs/en/claude-apps-gateway-config#store), `/readyz` kee…claude-apps-gateway-deploy see the edit
Anthropic's documentation has since written up store.readiness_grace_seconds, on Claude apps gateway deployment and operations.
Added store.readiness_grace_seconds to the Claude apps gateway so /readyz can stay ready through a short Postgres outage such as a database…