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

# aion serve

> Start agent servers and proxy server from aion.yaml.

`aion serve` reads `aion.yaml`, starts one process per configured agent, and starts a proxy server
for unified routing.

## Usage

```bash theme={null}
aion serve [OPTIONS]
```

## Options

| Option               | Description                                                  |
| -------------------- | ------------------------------------------------------------ |
| `--port`             | Fixed proxy port. Agent ports are allocated after this port. |
| `--port-range-start` | Start of auto-assignment range for proxy and agents.         |
| `--port-range-end`   | End of auto-assignment range for proxy and agents.           |
| `--startup-timeout`  | Seconds to wait for startup confirmation (`0` to skip).      |

## Examples

```bash theme={null}
# Default dynamic ports
aion serve

# Fixed proxy port, sequential agent ports
aion serve --port 10000

# Restrict all services to range
aion serve --port-range-start 7000 --port-range-end 7100

# Skip startup confirmation
aion serve --startup-timeout 0
```

## Startup Behavior

* Validates and loads `aion.yaml`.
* Loads environment variables from system or `.env`.
* Reserves proxy and agent ports.
* Starts agent server processes and proxy process.
* Prints direct and proxy URLs for each agent.
* If control plane credentials are present, attempts deployment metadata lookup,
  platform websocket connection, and manifest registration.
* Without control plane credentials, local direct and proxy A2A endpoints still
  start, but control plane connectivity and automatic registration are
  unavailable.
