For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
Timeouts
Verified Code examples on this page have been automatically tested and verified.Set request and backend timeouts to prevent long-running requests.
llm or mcp modes, the examples on this page show each option in tabs. For more information, see Routing-based configuration.Request timeoutsTimeoutA time limit for how long agentgateway will wait for a response from a backend before considering the request failed. Timeouts can be configured at the request or backend level. allow returning an error for requests that take too long to complete.
Route Timeouts
You can configure two types of timeouts on a route.
| Timeout | Description |
|---|---|
requestTimeout | The time from the start of an incoming request, until the end of the response headers is received. Note if there are retries, this includes the total time across retries. |
backendRequestTimeout | The time from the start of a request to a backend, until the end of the response headers are completed. Note this is per-request, so with retries this is a per-retry timeout. |
# yaml-language-server: $schema=https://agentgateway.dev/schema/config
mcp:
port: 3000
policies:
timeout:
requestTimeout: 1s
targets:
- name: everything
stdio:
cmd: npx
args: ["@modelcontextprotocol/server-everything"]Backend Timeouts
In addition to route level timeouts, you can configure per-backend timeouts within the backend configuration section.
| Timeout | Description |
|---|---|
requestTimeout | The time from the start of an HTTP request to a backend until the response headers are completed. |
connectTimeout | The time from the start of a TCP connection to a backend until the connection is established. |
# yaml-language-server: $schema=https://agentgateway.dev/schema/config
binds:
- port: 3000
listeners:
- routes:
- backends:
- host: localhost:8080
policies:
http:
requestTimeout: 1s
tcp:
connectTimeout:
secs: 10
nanos: 0
# Required when setting tcp connection options; {} keeps keepalive defaults
keepalives: {}