# Agents An **agent** is one Claude instance in its own NixOS container, with its own state directory, forge account and matrix accounts. This section covers running one: its identity, what survives a restart, how its config changes, what its own page shows and how far you can trust it. - **[Roster](agent-roster.md)** — the agents of a hive, and who may do what to whom. - **[Persistence](persistence.md)** — what survives a restart, a destroy and a purge. - **[Config changes](config-changes.md)** — how a change to an agent's config flows from a pull request to its container. - **[The agent's web page](web-page.md)** — the per-agent terminal view, its actions and its endpoints. - **[Security model](security.md)** — the trust model, the prompt-injection threat model and credential isolation. The swarm creates and configures agents: the create form and its archetypes are in [`swarm/archetypes.md`](../swarm/archetypes.md), logging an agent in to claude is in [`swarm/claude-login.md`](../swarm/claude-login.md), and you set an agent's permissions with `swarmctl agent permissions` or on the swarm UI. What an agent can do inside its container is in [`4-implementation/agent-tools/`](../../4-implementation/agent-tools/README.md).