context.api_url) always work; everything else — a public API, your CRM, a database — must be allowed by a rule.
You list what your agent needs in agentos.yaml. Environment admins can add or block hosts live on the agent’s Guardrails tab; see Network guardrails.
Allow hosts in agentos.yaml
agentos.yaml
network has only the allow key; block rules and the log-only switch are for admins, so an agent’s own file can’t switch the checks off. At most 200 rules.
Rule syntax
Some addresses can never be opened by any rule: loopback, link-local (including cloud metadata at
169.254.169.254), the Docker host, the platform’s own services and other agents.
How your code connects
Every agent container gets proxy variables when it is created:
Most HTTP clients follow these on their own: Python’s
requests, httpx, urllib and aiohttp (with trust_env=True), curl, Go, and Node 24+ fetch. A client that ignores them simply reaches nothing outside the platform.
HTTPS goes through as an end-to-end encrypted tunnel: the proxy sees the host and port, never a path, header or body.
When a connection is blocked
The proxy answers403 with a sentence naming the host and why:

