agentc
GitHubagentc-sh/agentc
agentc
GitHubagentc-sh/agentc
›Introduction
Get started›Concepts in 5 minutes›Build your first agent›Add your first tool›Serve and connect
Concepts›Architecture overview›The manifest›The compilation pipeline›Archetypes›The graph›Tools and capabilities›Runtime libraries›Skills›Agents and prompts›Serving and protocols›Observability
Guides›Author a manifest›Write a tool›Give your agent a filesystem›Control network egress›Connect external tools via MCP›Connect agents via A2A›Use the bash tool›Control tool access with capabilities›Write templated prompts›Manage prompts with Langfuse›Pass context from the client›Configure a model provider›Connect a CopilotKit frontend›Deploy a standalone binary›Deploy with Docker and PostgreSQL›Instrument with OpenTelemetry›Extend code generation with blocks
Reference
Manifest
›build›locals›runtime›filesystem›network
providers
›agent›graph›tool›skill›http_server
Runtime
›Observability

network

The network block declares the egress policy and limits for outbound requests.

The network block declares what the agent's outbound HTTP client may do.

agent.acl
network {
  user_agent = runtime("NETWORK_USER_AGENT", "my-agent/1.0")

  headers = {
    "X-Env" = "production"
  }

  limits {
    request_timeout_ms = runtime("NETWORK_REQUEST_TIMEOUT_MS", 5000)
  }

  policy {
    allow = [
      {
        protocol = "https"
        hostname = "api.example.com"
      }
    ]
  }
}

Fields

FieldTypeRequiredruntime()DefaultDescription
user_agentstringnoyesunsetThe User-Agent header sent with every request.
headersmap of string to stringnoyesemptyAdditional headers sent with every request.
limitsblocknodefaults belowConnection, timeout, and size limits.
policyblocknodefaults belowThe egress policy applied to every request.

limits

FieldTypeDefault
connect_timeout_msnumberunset
read_timeout_msnumberunset
request_timeout_msnumberunset
max_redirectsnumber5
max_response_bytesnumberunset
concurrency_limitnumberunset
  • connect_timeout_ms is the time allowed to establish a connection.
  • read_timeout_ms is the time allowed between response body chunks.
  • request_timeout_ms is the deadline for the whole request.
  • max_redirects is how many redirects one request may follow.
  • max_response_bytes is how many response body bytes are accepted.
  • concurrency_limit is how many requests may be in flight at once.

An unset limit is not enforced.

policy

The policy block contains addresses, methods, and allow.

addresses

FieldDefault
allow_loopbackfalse
allow_privatefalse
allow_link_localfalse

These permit categories of destination address. The checks apply to every address a host name resolves to. The link-local category is the one covering the cloud instance metadata address.

methods

methods is a set of HTTP method names. When it is unset, methods are unrestricted.

allow

allow is a list of WHATWG URLPattern objects. An empty list means URL patterns are unrestricted. Each pattern uses the protocol, hostname, port, and pathname components. An omitted component matches anything.

ComponentMatches
protocolThe URL scheme, for example https.
hostnameThe host name.
portThe port.
pathnameThe path.

Host name patterns

Host name matching follows URLPattern hostname semantics, which are label-aware rather than plain substring matches.

  • *.acme.com matches any number of leading labels.
  • :sub.acme.com matches exactly one leading label.
  • api.acme.com matches both patterns.
  • deep.api.acme.com matches *.acme.com, but not :sub.acme.com.
  • evilacme.com matches neither pattern, because acme.com is not a separate host label there.

See agentc:http for what component code sees and Control network egress for the step-by-step recipe.

← PreviousfilesystemNext →providers

© 2026 pogue.dev. All rights reserved.

Creative CommonsCC BY 4.0
On this pageFieldslimitspolicyaddressesmethodsallowHost name patterns

Search docs

Search the agentc documentation