> ## Documentation Index
> Fetch the complete documentation index at: https://usefused.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Server configuration reference

> Server defaults and configuration properties.

Use the [server configuration guide](https://usefused.com/docs/harnest/runtime/serving/server-configuration.md) to change defaults, enable WebSockets, and configure limits. Author these settings under `server:` in project `config.yaml`; compiled launchers read their generated `server.yaml`.

## Server properties

All property paths below are relative to `server` in `config.yaml`.

| Property | Controls | Default |
| - | - | - |
| `live` | Enable WebSocket connections | `false` |
| `agui` | Expose `POST /agui` and advertise the AG-UI transport | `true` |
| `openapi` | Expose API documentation and JSON/YAML spec resources | `true` |
| `agentPrincipal` | Require runtime grants for built-in and custom agent invocations | `optional` |
| `http.host` | Bind host | `127.0.0.1` |
| `http.port` | Bind port | `1907` |
| `http.allowRemote` | Consent for a non-loopback bind | `false` |
| `http.requestTimeoutSeconds` | Request timeout in seconds | `300` |
| `http.maxConcurrentRequests` | Active in-process requests (`1`–`100000`) | `8` |
| `limits.maxRequestBytes` | HTTP body and WebSocket frame size | `1MiB` |
| `playground.enabled` | Allow the UI supplied by local `harnest serve`; does not add UI to deployments | `true` |

Unknown fields, invalid types, and out-of-range values fail during compilation. Omit a field to inherit its default; `null` does not mean “use the default.”

When you set `agentPrincipal: required`, custom HTTP routes must pass `agent_principal=` to [`AgentInvoker`](https://usefused.com/docs/harnest/reference/api/http#agentinvoker). To keep using `/responses`, live, AG-UI, or A2A, define [`@lifecycle.http.agent_principal`](https://usefused.com/docs/harnest/runtime/agent-runtime-principals#grant-permissions-on-built-in-routes) before enabling the setting. Without that hook these routes refuse new invocations.

In advanced ADK mode, native clients can still invoke the agent through `/run`, `/run_sse`, and (when live is enabled) `/run_live`. These endpoints bypass Harnest’s grant hook even with `agentPrincipal: required`. Enforce any permission policy for native clients separately.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.