<!-- nornir:class: guide -->
# agent pool — guide
> **Class:** `guide` · how to USE `dwarves agents` + the `AgentPool` RPC.
> What it IS: [agent-pool-design.md](agent-pool-design.md).
List the worker fleet the forge dispatches build/test steps to.
## Fat — the local pool
```sh
dwarves agents
```
```
worker fleet (1 agent(s)):
local-0 group=default caps=[cargo] cores=12 state=idle
```
Shows the local single-machine pool (`agent_bridge::scheduler_with_local_default`) —
the same pool a `dwarves-server` boots with.
## Thin — a running server's live pool
```sh
dwarves --server 127.0.0.1:7900 agents
# or: DWARVES_SERVER=127.0.0.1:7900 dwarves agents
```
Calls the server's `AgentPool` RPC and prints the identical fleet shape. As remote
agents join (`GrpcAgent`, the multi-machine seam) they appear here with no CLI change.
## The columns
| column | meaning |
|---|---|
| id | the agent's unique id (`<host> agent --id …`) |
| group | the worker group it joined (`--group …`; a step targets a group) |
| caps | capability labels it advertises (`cargo`, `cuda`, `linux`, …); a step matches on these |
| cores | its core count (dispatch/capacity hint) |
| state | jera liveness (`idle`/`busy`/…) |
## Register more agents
```sh
dwarves agent --group gpu-farm --caps cargo,cuda --id loki-1
```
registers a local agent (the remote-over-gRPC join is the multi-machine follow-up);
`dwarves agents` then lists whatever the scheduler holds.