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

# Hosts & Agents

> Referencing your sandbox hosts and agents in scenario.json

In the runner, hosts and agents always reference existing records in your 2501 deployment. You provide their IDs: the runner looks them up, flushes the agent's memory before execution to ensure a clean slate, and leaves the records untouched after the run.

***

## Basic Setup

```json theme={null}
"hosts": [
  { "host_id": "hst_abc123" }
],
"agents": [
  {
    "agent_id": "agt_xyz789",
    "host_id": "hst_abc123"
  }
]
```

That's all that's needed for a standard scenario. `host_id` and `agent_id` are the IDs from your 2501 deployment: you can find them in the Command Center or via the API.

***

## Multiple Hosts

Link each agent to its host via `host_id`:

```json theme={null}
"hosts": [
  { "host_id": "hst_web01" },
  { "host_id": "hst_db01" }
],
"agents": [
  { "agent_id": "agt_web", "host_id": "hst_web01" },
  { "agent_id": "agt_db",  "host_id": "hst_db01" }
]
```

***

## Entry Point Constraints

* **`--from task`**: Requires exactly one agent with a valid `agent_id`.
* **`--from gateway` / `--from ticket`**: The engine selects agents automatically. Use `allowedAgents` in `validation` to enforce which agent is used. See [Validation](/0.3.0/scenario-runner/validation).
