> ## 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.

# Agent Environments

> How agent environments configure behavior resolution, capabilities, and daemon access.

Agent environments are the configured runtime contexts for Aion agents.

An environment is not the behavior implementation and it is not the identity
used to address an agent. It is the project-owned configuration layer that
selects which behavior should run, supplies environment-specific settings, and
optionally binds a daemon identity for direct access.

## What an Environment Stores

At a high level, an agent environment stores:

* A project and display name
* Configuration variables for the runtime
* The deployment and behavior key used to find the behavior lineage
* A runtime selector for stable, beta, or pinned behavior resolution
* Capability configuration for the environment
* An optional daemon identity for direct agent addressability

Environment names are user-maintained labels. They are useful for grouping
projects such as `production`, `staging`, or `dev`, but Aion does not treat an
environment name as an official lifecycle flag.

Aion does use project environment names as a sharing boundary for
organization-shared behavior inclusion and capability discovery. For example,
a production project can discover organization-shared behaviors and
capabilities from other production projects, but not from staging projects.
Globally shared `Aion` behaviors are not constrained by this label.

The deployment reference is used as behavior-resolution scope. It does not
mean the deployment owns the environment. Environments are project-owned, and
the deployment, behavior key, and runtime selector are inputs for choosing the
concrete behavior to run.

## Behavior Resolution

An environment resolves a behavior from three main inputs:

* `deploymentId`, which scopes candidate behaviors to a deployment
* `behaviorKey`, which selects a logical behavior lineage
* `runtimeSelector`, which chooses stable, beta, or pinned resolution

Stable resolution selects the stable release-channel behavior for the
deployment and behavior key. Beta resolution prefers the beta release channel
and falls back to stable when beta is not available. Pinned resolution selects
an explicit behavior id, but that behavior must still match the same
deployment and behavior key.

This lets an environment stay stable while the underlying behavior versions
change over time.

## Configuration And Capabilities

The behavior declares what the implementation can support. The environment
configures what this specific runtime context should actually expose.

Environment configuration includes runtime variables and capability
configuration. For example, a behavior may declare an A2A daemon capability,
but the direct daemon surface only becomes available when the resolved behavior
supports it and the environment enables the matching capability configuration.

## Daemon Identity Binding

An environment may be assigned a daemon identity.

That daemon identity is the address and permission subject for direct access to
the environment. When another agent targets the daemon identity, Aion resolves
the identity back to the bound environment and then resolves the environment to
the behavior that should handle the request.

The binding is constrained: the identity must be an agent identity of type
`Daemon`, and a daemon identity can be bound to only one active environment.

An environment without a daemon identity can still participate in other
configured flows, but it does not expose a direct daemon-addressable agent
surface.

## How Environments Relate To Nodes

Project nodes use environments to turn reusable behavior into configured
runtime participants.

A behavior node combines a behavior with an environment. A distribution node
also has an environment, because the distribution may need behavior
resolution, runtime configuration, and optional daemon access for its internal
component surface.

See [Agent Abstraction](/docs/concepts/agent-abstraction),
[Behaviors](/docs/concepts/behaviors), [Identities](/docs/concepts/identities),
and [Nodes](/docs/concepts/nodes) for the surrounding model.
