Claude Platform Docs
Managed AgentsConfigurar el entorno del agente

Configuración del entorno en la nube

Personaliza los sandboxes en la nube para tus sesiones.

Los entornos definen la configuración del sandbox donde se ejecuta tu agente. Creas un entorno una vez y luego haces referencia a su ID cada vez que inicias una sesión. Varias sesiones pueden compartir el mismo entorno, pero cada sesión obtiene su propio sandbox aislado (un contenedor Linux nuevo).

Esta página cubre los entornos type: cloud. Para ejecutar sandboxes en tu propia infraestructura, consulta Sandboxes autoalojados.

Crear un entorno

ant apply environment.yaml
environment.yaml
# yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
name: python-dev
config:
  type: cloud
  networking:
    type: limited
    allow_package_managers: true

ant apply crea el entorno a partir de environment.yaml, imprime su ID y lo registra en claude-lock.json. Haz commit de claude-lock.json para que el siguiente ant apply actualice este entorno en lugar de intentar crearlo de nuevo.

Usa un name único y descriptivo para poder distinguir los entornos entre sí.

Usar el entorno en una sesión

Pasa el ID del entorno como una cadena al crear una sesión.

session = client.beta.sessions.create(
    agent=agent.id,
    environment_id=environment.id,
)

Opciones de configuración

Paquetes

El campo packages preinstala paquetes en el sandbox antes de que el agente se inicie. Los paquetes se instalan mediante sus respectivos gestores de paquetes y se almacenan en caché entre las sesiones que comparten el mismo entorno. Cuando se especifican varios gestores de paquetes, se ejecutan en orden alfabético (apt, cargo, gem, go, npm, pip). Opcionalmente puedes fijar versiones específicas. Los paquetes sin versión fijada instalan la versión más reciente. Si el entorno usa redes en modo limited, establece también networking.allow_package_managers en true; de lo contrario, la solicitud se rechaza con un error 400.

ant apply environment.yaml
environment.yaml
# yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
name: data-analysis
config:
  type: cloud
  packages:
    pip:
      - pandas
      - numpy
      - scikit-learn
    npm:
      - express
  networking:
    type: unrestricted

Gestores de paquetes compatibles:

CampoGestor de paquetesEjemplo
aptPaquetes del sistema (apt-get)"graphviz"
cargoRust (cargo)"hyperfine@1.18.0"
gemRuby (gem)"rails:7.1.0"
goMódulos de Go"golang.org/x/tools/cmd/goimports@latest"
npmNode.js (npm)"express@4.18.0"
pipPython (pip)"sqlalchemy==2.0.30"

Redes

El campo networking controla el acceso de red saliente del sandbox. No afecta a las herramientas web_search ni web_fetch, que se ejecutan en los servidores de Anthropic; para restringir los sitios a los que esas herramientas pueden acceder, establece allowed_domains o blocked_domains en la entrada de la herramienta dentro del conjunto de herramientas del agente. Consulta Restringir los dominios de búsqueda web y obtención web.

ModoDescripción
unrestrictedAcceso de red saliente completo, excepto por una lista de bloqueo general de seguridad. Este es el valor predeterminado.
limitedRestringe el acceso de red del sandbox a los hosts en allowed_hosts. Establece allow_package_managers y allow_mcp_servers en true para permitir acceso adicional.

El siguiente ejemplo crea un entorno con redes en modo limited:

ant apply environment.yaml
environment.yaml
# yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
name: api-access
config:
  type: cloud
  networking:
    type: limited
    allowed_hosts:
      - api.example.com
    allow_mcp_servers: true
    allow_package_managers: true

Al usar redes en modo limited:

  • allowed_hosts especifica los dominios a los que el sandbox puede acceder. Especifica nombres de host simples o patrones con comodines (como *.example.com). No incluyas un esquema de URL, puerto ni ruta.
  • allow_mcp_servers permite el acceso saliente a los endpoints de servidores MCP configurados en el agente, además de los que figuran en el arreglo allowed_hosts. El valor predeterminado es false.
  • allow_package_managers permite el acceso saliente a un conjunto de registros de paquetes públicos y servicios de alojamiento de código, además de los que figuran en el arreglo allowed_hosts. Consulta Hosts de gestores de paquetes para ver la lista. El valor predeterminado es false. Establécelo en true siempre que el entorno especifique packages; de lo contrario, la solicitud se rechaza con un error 400, incluso si los hosts del registro figuran en allowed_hosts.

Hosts de gestores de paquetes

Cuando allow_package_managers es true, el sandbox puede acceder a los siguientes hosts además de los que están en allowed_hosts. Anthropic mantiene esta lista y puede cambiarla.

EcosistemaHosts
Alojamiento de códigogithub.com, api.github.com, codeload.github.com, raw.githubusercontent.com, objects.githubusercontent.com, release-assets.githubusercontent.com, gitlab.com, bitbucket.org
Node.jsregistry.npmjs.org, registry.yarnpkg.com, nodejs.org
Pythonpypi.org, files.pythonhosted.org
Rustcrates.io, index.crates.io, static.crates.io, static.rust-lang.org
Goproxy.golang.org, sum.golang.org
Javarepo1.maven.org, repo.maven.apache.org, services.gradle.org, plugins.gradle.org, plugins-artifacts.gradle.org
Rubyrubygems.org, index.rubygems.org
PHPpackagist.org, repo.packagist.org
Ubuntu (apt)archive.ubuntu.com, security.ubuntu.com, ppa.launchpad.net
Contenedoresregistry-1.docker.io, auth.docker.io, production.cloudflare.docker.com, download.docker.com, ghcr.io

Ciclo de vida del entorno

  • Los entornos persisten hasta que se archivan o eliminan explícitamente.
  • Cada sesión obtiene su propia instancia de sandbox, incluso cuando varias sesiones hacen referencia al mismo entorno. Las sesiones no comparten el estado del sistema de archivos.
  • Los entornos no tienen versiones. Si actualizas un entorno con frecuencia, mantén tu propio registro de los cambios para poder saber qué configuración usó cada sesión.

Administrar entornos

# List environments
environments = client.beta.environments.list()

# Retrieve a specific environment
env = client.beta.environments.retrieve(environment.id)

# Archive an environment (read-only, existing sessions continue)
client.beta.environments.archive(environment.id)

# Delete an environment (only if no sessions reference it)
client.beta.environments.delete(environment.id)

Entornos de ejecución preinstalados

Los sandboxes en la nube incluyen de forma predeterminada entornos de ejecución de lenguajes comunes, bases de datos y herramientas de línea de comandos. Consulta la Referencia de sandboxes en la nube para ver la lista completa.

Próximos pasos

Paquetes preinstalados, bases de datos y utilidades disponibles en los sandboxes en la nube.

Crea una sesión para ejecutar tu agente y comenzar a ejecutar tareas.

Was this page helpful?