Claude Platform Docs

Environments

Create Environment
client.Beta.Environments.New(ctx, params) (*BetaEnvironment, error)
POST/v1/environments

Create a new environment with the specified configuration.

List Environments
client.Beta.Environments.List(ctx, params) (*PageCursor[BetaEnvironment], error)
GET/v1/environments

List environments with pagination support.

Get Environment
client.Beta.Environments.Get(ctx, environmentID, query) (*BetaEnvironment, error)
GET/v1/environments/{environment_id}

Retrieve a specific environment by ID.

Update Environment
client.Beta.Environments.Update(ctx, environmentID, params) (*BetaEnvironment, error)
POST/v1/environments/{environment_id}

Update an existing environment's configuration.

Delete Environment
client.Beta.Environments.Delete(ctx, environmentID, body) (*BetaEnvironmentDeleteResponse, error)
DELETE/v1/environments/{environment_id}

Delete an environment by ID. Returns a confirmation of the deletion.

Archive Environment
client.Beta.Environments.Archive(ctx, environmentID, body) (*BetaEnvironment, error)
POST/v1/environments/{environment_id}/archive

Archive an environment by ID. Archived environments cannot be used to create new sessions.

Models
type BetaCloudConfig struct { Type: "cloud"; Networking; Packages }

cloud environment configuration.

type BetaCloudConfigParams struct { Type: "cloud"; Networking; Packages }

Request params for cloud environment configuration.

Fields default to null; on update, omitted fields preserve the existing value.

type BetaEnvironment struct { Type: "environment"; ID; ArchivedAt; /* 7 more */ }

Unified Environment resource for both cloud and self-hosted environments.

type BetaEnvironmentDeleteResponse struct { Type: "environment_deleted"; ID }

Response after deleting an environment.

Type BetaEnvironmentDeleteResponseType

The type of response

defaultenvironment_deleted
ID string

Environment identifier

type BetaLimitedNetwork struct { Type: "limited"; AllowMCPServers; AllowPackageManagers; AllowedHosts }

Limited network access.

Type Limited

Network policy type

AllowMCPServers bool

Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.

AllowPackageManagers bool

Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.

AllowedHosts []string

Specifies domains the container can reach.

type BetaLimitedNetworkParams struct { Type: "limited"; AllowMCPServers; AllowPackageManagers; AllowedHosts }

Limited network request params.

Fields default to null; on update, omitted fields preserve the existing value.

Type Limited

Network policy type

AllowMCPServers bool Optional

Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array. Defaults to false.

AllowPackageManagers bool Optional

Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array. Defaults to false on creation. Must be true when packages are specified.

AllowedHosts []string Optional

Specifies domains the container can reach.

type BetaPackages struct { Type: "packages"; Apt; Cargo; /* 4 more */ }

Packages (and their versions) available in this environment.

Type BetaPackagesType Optional

Package configuration type

defaultpackages
Apt []string

Ubuntu/Debian packages to install

Cargo []string

Rust packages to install

Gem []string

Ruby packages to install

Go []string

Go packages to install

Npm []string

Node.js packages to install

Pip []string

Python packages to install

type BetaPackagesParams struct { Type: "packages"; Apt; Cargo; /* 4 more */ }

Specify packages (and optionally their versions) available in this environment.

When versioning, use the version semantics relevant for the package manager, e.g. for pip use package==1.0.0. You are responsible for validating the package and version exist. Unversioned installs the latest.

Under limited networking, requires networking.allow_package_managers to be true.

Type BetaPackagesParamsType Optional

Package configuration type

defaultpackages
Apt []string Optional

Ubuntu/Debian packages to install

Cargo []string Optional

Rust packages to install

Gem []string Optional

Ruby packages to install

Go []string Optional

Go packages to install

Npm []string Optional

Node.js packages to install

Pip []string Optional

Python packages to install

type BetaSelfHostedConfig struct { Type: "self_hosted" }

Configuration for self-hosted environments.

Type SelfHosted

Environment type

type BetaSelfHostedConfigParams struct { Type: "self_hosted" }

Request params for self_hosted environment configuration.

Type SelfHosted

Environment type

type BetaUnrestrictedNetwork struct { Type: "unrestricted" }

Unrestricted network access.

Type Unrestricted

Network policy type

EnvironmentsWork

Get Work Item
client.Beta.Environments.Work.Get(ctx, workID, params) (*BetaSelfHostedWork, error)
GET/v1/environments/{environment_id}/work/{work_id}

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Poll for Work
client.Beta.Environments.Work.Poll(ctx, environmentID, params) (*BetaSelfHostedWork, error)
GET/v1/environments/{environment_id}/work/poll

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Acknowledge Work
client.Beta.Environments.Work.Ack(ctx, workID, params) (*BetaSelfHostedWork, error)
POST/v1/environments/{environment_id}/work/{work_id}/ack

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Record Heartbeat
client.Beta.Environments.Work.Heartbeat(ctx, workID, params) (*BetaSelfHostedWorkHeartbeatResponse, error)
POST/v1/environments/{environment_id}/work/{work_id}/heartbeat

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Stop Work
client.Beta.Environments.Work.Stop(ctx, workID, params) (*BetaSelfHostedWork, error)
POST/v1/environments/{environment_id}/work/{work_id}/stop

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

List Work Items
client.Beta.Environments.Work.List(ctx, environmentID, params) (*PageCursor[BetaSelfHostedWork], error)
GET/v1/environments/{environment_id}/work

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Update Work Item
client.Beta.Environments.Work.Update(ctx, workID, params) (*BetaSelfHostedWork, error)
POST/v1/environments/{environment_id}/work/{work_id}

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Get Queue Statistics
client.Beta.Environments.Work.Stats(ctx, environmentID, query) (*BetaSelfHostedWorkQueueStats, error)
GET/v1/environments/{environment_id}/work/stats

Get statistics about the work queue for an environment.