---
title: "PUT /code-interpreters"
method: PUT
path: "/code-interpreters"
---

# PUT /code-interpreters

`PUT /code-interpreters`

Creates a custom code interpreter.

## Request body

- object
  - `name` string, required — The name of the code interpreter. The name must be unique within your account.
  - `description` string, password — The description of the code interpreter.
  - `executionRoleArn` string — The Amazon Resource Name (ARN) of the IAM role that provides permissions for the code interpreter to access Amazon Web Services services.
  - `networkConfiguration` object, required — The network configuration for a code interpreter. This structure defines how the code interpreter connects to the network.
    - `networkMode` 'PUBLIC' | 'SANDBOX' | 'VPC' — The network mode for the code interpreter. This field specifies how the code interpreter connects to the network.
    - `vpcConfig` object — The VPC configuration for the code interpreter. This configuration is required when the network mode is set to <code>VPC</code>.
      - `securityGroups` SecurityGroupId[], required — The security groups associated with the VPC configuration.
      - `subnets` SubnetId[], required — The subnets associated with the VPC configuration.
      - `requireServiceS3Endpoint` boolean — <p><note> <p>This field applies only to Agent Runtimes. It is not applicable to Browsers or Code Interpreters.</p> </note> <p>Controls whether a service-managed Amazon S3 gateway endpoint is provisioned in the VPC network topology for the agent runtime. This gateway is used by Amazon Bedrock AgentCore Runtime to download code and container images during agent startup.</p> <p>Starting May 5, 2026, Amazon Bedrock AgentCore Runtime is gradually rolling out a change to how network isolation is configured for VPC mode agents. Agent runtimes created on or after this rollout will no longer include the service-managed Amazon S3 gateway. Instead, all network access, including to Amazon S3, is governed exclusively by your VPC configuration. This field cannot be set on agent runtimes created after the rollout. Passing this field in an <code>UpdateAgentRuntime</code> request for these agent runtimes returns a <code>ValidationException</code>.</p> <p>Agent runtimes created before the rollout are not affected and continue to operate with the service-managed Amazon S3 gateway. To enforce full VPC network isolation on these existing agent runtimes, set this field to <code>false</code> via the <code>UpdateAgentRuntime</code> API. Before opting out, ensure your VPC provides the Amazon S3 access required for agent startup. If this field is not specified or is set to <code>true</code>, the service-managed Amazon S3 gateway remains provisioned.</p> <p>This field is only supported in the <code>UpdateAgentRuntime</code> API for pre-rollout agent runtimes. Passing this field in a <code>CreateAgentRuntime</code> request returns a <code>ValidationException</code>.</p></p>
  - `certificates` Certificate[] — A list of certificates to install in the code interpreter.
    - `location` object, required — The location of the certificate.
      - `secretsManager` object — The Amazon Web Services Secrets Manager location of the certificate.
        - `secretArn` string, required — The ARN of the Amazon Web Services Secrets Manager secret containing the certificate.
  - `clientToken` string — A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Bedrock AgentCore ignores the request but does not return an error.
  - `tags` object — A map of tag keys and values to assign to the code interpreter. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.

## Response `202`

Success

- CreateCodeInterpreterResponse
  - `codeInterpreterId` string, required — The unique identifier of the created code interpreter.
  - `codeInterpreterArn` string, required — The Amazon Resource Name (ARN) of the created code interpreter.
  - `createdAt` string, date-time, required — The timestamp when the code interpreter was created.
  - `status` 'CREATING' | 'CREATE_FAILED' | 'READY' | 'DELETING' | 'DELETE_FAILED' | 'DELETED', required — The current status of the code interpreter.

## Other responses

- `480` — ServiceQuotaExceededException
- `481` — AccessDeniedException
- `482` — ConflictException
- `483` — ValidationException
- `484` — ThrottlingException
- `485` — InternalServerException

---

[API](https://skmtc.net/aws/apis/bedrock-agentcore-control.md) · [All operations](https://skmtc.net/aws/apis/bedrock-agentcore-control/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/bedrock-agentcore-control/versions/0ebde766792b/schema)
