Unclear It is unclear how much of the verifier is new and how much already existed and is only now used here.
What
A gateway is a server an organization sets up for Claude traffic to pass through. Checking whether a gateway address is trusted used to be only a local comparison against forceLoginGatewayUrl or gatewayInternalNetworks. Now:
- For an https gateway host that is not on the built-in list (
claude.fedstart.com,claude.palantirfedstart.com) and fails the normal checks, Claude Code asks the host at/gateway-api/gateway-hosts/checkwhich deployment serves it. - It then confirms with that deployment using a client certificate. The host is accepted only if the deployment lists it and reports that DNS (the system that turns names into addresses) points at it. Accepted hosts are logged as "accepted: vouched for by".
- A host that
forceLoginGatewayUrldoes not name is refused unless it is vouched for. - The check sends the session's login token (
Bearerplus the session JWT) and the managed login pins (hostLoginPins). - The check can run through a proxy, handling a proxy login request (HTTP 407) with
proxyAuthHelper. It has timeouts, with messages such as "could not be confirmed as a recognized Claude gateway host within", and each failure has its own message, for example when the gateway address carries a query, fragment or user name.
Why
Organizations can reach Claude gateways at hostnames beyond the two built in, without listing every address in settings. If a host is refused, the message says which step of the check failed.
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.
* **Declared block**: if your internal network uses public IPv4 space your organization owns, list the block in the `gatewayInternalNetworks` managed setting. The gateway and the user's machine must both be in that block. See [Allow a gate…claude-apps-gateway-deploy see the edit
Some organizations number their internal network from a public IPv4 block they own, such as a carrier's own address space or a legacy `/8`, so their gateway has no private address. List those blocks in the `gatewayInternalNetworks` managed…claude-apps-gateway see the edit
* **A gateway sign-in's URL**: the session stays under `"gateway"`, and [`forceLoginGatewayUrl`](#forcelogingatewayurl) also counts as the pinsettings-reference see the edit
To stop developers from bypassing the gateway with a cloud provider variable or an `ANTHROPIC_BASE_URL` of their own, add `"allowedProviders": ["gateway"]` to the same file. Claude Code then refuses every session on the machine that isn't …claude-apps-gateway-config see the edit
It is unclear how much of the verifier is new and how much already existed and is only now used here.
A small documentation edit on Claude apps gateway configuration touched a line naming forceLoginGatewayUrl after this was published.