title: Update Environment url: https://platform.claude.com/docs/en/api/beta/environments/update
Update Environment
POST /v1/environments/{environment_id}
Update an existing environment's configuration.
Path parameters
environment_id: string
Headers
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more-
"message-batches-2024-09-24" -
"prompt-caching-2024-07-31" -
"computer-use-2024-10-22" -
"computer-use-2025-01-24" -
"pdfs-2024-09-25" -
"token-counting-2024-11-01" -
"token-efficient-tools-2025-02-19" -
"output-128k-2025-02-19" -
"files-api-2025-04-14" -
"mcp-client-2025-04-04" -
"mcp-client-2025-11-20" -
"dev-full-thinking-2025-05-14" -
"interleaved-thinking-2025-05-14" -
"code-execution-2025-05-22" -
"extended-cache-ttl-2025-04-11" -
"context-1m-2025-08-07" -
"context-management-2025-06-27" -
"model-context-window-exceeded-2025-08-26" -
"skills-2025-10-02" -
"fast-mode-2026-02-01" -
"output-300k-2026-03-24" -
"user-profiles-2026-03-24" -
"user-profiles-2026-08-18" -
"user-profiles-2026-09-04" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07" -
"dreaming-2026-04-21" -
"thinking-token-count-2026-05-13" -
"server-side-fallback-2026-06-01" -
"server-side-fallback-2026-07-01" -
"fallback-credit-2026-06-01" -
"fallback-credit-2026-07-01" -
"agent-memory-2026-07-22" -
"mid-conversation-tool-changes-2026-07-01" -
"compact-2026-01-12" -
"computer-use-2025-11-24" -
"mcp-tunnels-2026-06-22" -
"structured-outputs-2025-11-13" -
"task-budgets-2026-03-13" -
"thinking-display-updates-2026-08-18" -
"ce-user-management-2026-07-13" -
"mid-conversation-output-config-2026-07-01" -
"thinking-binding-controls-2026-08-01" -
"mid-conversation-system-clear-at-2026-08-21" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Body parameters
-
config: optional BetaCloudConfigParams or BetaSelfHostedConfigParams or nullUpdated environment configuration
-
BetaCloudConfigParams objectRequest params for
cloudenvironment configuration.Fields default to null; on update, omitted fields preserve the existing value.
-
type: "cloud"Environment type
-
networking: optional BetaUnrestrictedNetwork or BetaLimitedNetworkParams or nullNetwork configuration policy. Omit on update to preserve the existing value.
-
BetaUnrestrictedNetwork objectUnrestricted network access.
-
type: "unrestricted"Network policy type
-
-
BetaLimitedNetworkParams objectLimited network request params.
Fields default to null; on update, omitted fields preserve the existing value.
-
type: "limited"Network policy type
-
allow_mcp_servers: optional boolean or nullPermits outbound access to MCP server endpoints configured on the agent, beyond those listed in the
allowed_hostsarray. Defaults tofalse. -
allow_package_managers: optional boolean or nullPermits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the
allowed_hostsarray. Defaults tofalseon creation. Must betruewhenpackagesare specified. -
allowed_hosts: optional array of string or nullSpecifies domains the container can reach.
-
-
-
packages: optional BetaPackagesParams or nullSpecify packages (and optionally their versions) available in this environment.
When versioning, use the version semantics relevant for the package manager, e.g. for
pipusepackage==1.0.0. You are responsible for validating the package and version exist. Unversioned installs the latest.Under
limitednetworking, requiresnetworking.allow_package_managersto betrue.-
type: optional "packages"Package configuration type
default: packages
-
apt: optional array of string or nullUbuntu/Debian packages to install
-
cargo: optional array of string or nullRust packages to install
-
gem: optional array of string or nullRuby packages to install
-
go: optional array of string or nullGo packages to install
-
npm: optional array of string or nullNode.js packages to install
-
pip: optional array of string or nullPython packages to install
-
-
-
BetaSelfHostedConfigParams objectRequest params for
self_hostedenvironment configuration.-
type: "self_hosted"Environment type
-
-
-
description: optional string or nullUpdated description of the environment. Omit to preserve; null clears to null; an empty string is stored as an empty string.
maxLength: 1024
-
metadata: optional map[string]User-provided metadata key-value pairs. Set a value to null or empty string to delete the key.
-
name: optional string or nullUpdated name for the environment
maxLength: 256, minLength: 1
-
scope: optional "organization" or "account" or nullThe visibility scope for this environment. 'organization' makes the environment visible to all accounts. 'account' restricts visibility to the owning account only.
-
"organization" -
"account"
-
Returns
-
BetaEnvironment objectUnified Environment resource for both cloud and self-hosted environments.
-
type: "environment"The type of object (always 'environment')
default: environment
-
id: stringEnvironment identifier (e.g., 'env_...')
-
archived_at: string or nullRFC 3339 timestamp when environment was archived, or null if not archived
-
config: BetaCloudConfig or BetaSelfHostedConfigEnvironment configuration (either Anthropic Cloud or self-hosted)
-
BetaCloudConfig objectcloudenvironment configuration.-
type: "cloud"Environment type
-
networking: BetaUnrestrictedNetwork or BetaLimitedNetworkNetwork configuration policy.
-
BetaUnrestrictedNetwork objectUnrestricted network access.
-
type: "unrestricted"Network policy type
-
-
BetaLimitedNetwork objectLimited network access.
-
type: "limited"Network policy type
-
allow_mcp_servers: booleanPermits outbound access to MCP server endpoints configured on the agent, beyond those listed in the
allowed_hostsarray. -
allow_package_managers: booleanPermits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the
allowed_hostsarray. -
allowed_hosts: array of stringSpecifies domains the container can reach.
-
-
-
packages: BetaPackagesPackage manager configuration.
-
type: optional "packages"Package configuration type
default: packages
-
apt: array of stringUbuntu/Debian packages to install
-
cargo: array of stringRust packages to install
-
gem: array of stringRuby packages to install
-
go: array of stringGo packages to install
-
npm: array of stringNode.js packages to install
-
pip: array of stringPython packages to install
-
-
-
BetaSelfHostedConfig objectConfiguration for self-hosted environments.
-
type: "self_hosted"Environment type
-
-
-
created_at: stringRFC 3339 timestamp when environment was created
-
description: string or nullUser-provided description for the environment; null when unset
-
metadata: map[string]User-provided metadata key-value pairs
-
name: stringHuman-readable name for the environment
-
updated_at: stringRFC 3339 timestamp when environment was last updated
-
scope: optional "organization" or "account"The visibility scope for this environment. 'organization' means visible to all accounts. 'account' means visible only to the owning account.
-
"organization" -
"account"
-
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"description": "Python environment with data-analysis packages."
}'Response (200)
{
"id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"archived_at": null,
"config": {
"networking": {
"allow_mcp_servers": false,
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
],
"type": "limited"
},
"packages": {
"apt": [
"string"
],
"cargo": [
"string"
],
"gem": [
"string"
],
"go": [
"string"
],
"npm": [
"string"
],
"pip": [
"pandas",
"numpy"
],
"type": "packages"
},
"type": "cloud"
},
"created_at": "2026-03-15T10:00:00Z",
"description": "Python environment with data-analysis packages.",
"metadata": {},
"name": "python-data-analysis",
"type": "environment",
"updated_at": "2026-03-15T10:00:00Z",
"scope": "organization"
}