Skip to content

Launch a sandbox

A sandbox is a running instance of a kit version. The launcher is one page where you read a sentence, change the parts you care about, and press Launch.

  • A ready kit: an agent kit installed by your provider, a platform base kit, or one you built yourself.
  • Your account has a sandbox quota (5 by default, higher if your provider raised it) and needs a positive credit balance if sandbox billing is enabled for your account.

In the user panel go to Sandboxes > Sandboxes, then click Launch.

Sandboxes list

The launcher is a sentence. Each underlined part is a control; click it to change it in a small popover.

Launch [kit] with [secrets]. It’ll run in a sandbox in [location] with [network] and [tools], on [size], and [lifetime]. Using [your GitHub token] for repo access.

Launch sentence

Part What it controls
Kit Which kit to launch. Agent kits are listed at the top, followed by operating systems and your own kits. Search by name, and pick a specific version if you do not want the current one. If your provider has not installed any agent kit yet, the launcher says so and starts with an operating system kit instead.
Secrets The API keys and other values handed to the sandbox as environment variables. See Secrets and API keys.
Location Where the sandbox runs. A location you do not have access to yet shows Awaiting approval after you ask, or Not available when no node can host it.
Network Public internet, VPC network, or Both. Static IP and security groups are under Advanced options. See Networking.
Tools Which MCP servers the agent can call. Shown when your provider has the tools gateway turned on.
Size The plan. Most locations list sizes with their vCPU, memory and price per hour. Some assign the size automatically. Kit default marks the size the kit suggests.
Lifetime How long the sandbox runs and what happens when time is up: Run for 15 minutes, 1 hour, 4 hours, 8 hours or a custom length, then Pause or Stop and delete; or pause after 10 idle minutes; or never stop on its own. See how long a sandbox stays up.
Repo access Your GitHub token, so git inside the sandbox can clone and push to github.com. Shown for every kit. See The GitHub token.

A price chip next to the sentence shows the cost per hour while the sandbox runs. A line below it says what a paused sandbox costs, if anything.

The name is shown under the sentence as Name with a pencil. Click it to rename: 1-63 characters, lowercase letters, digits and hyphens, starting with a letter or digit. It is used for the URL <name>.<your apps domain>.

Click Advanced options under the action row for the rest:

  • Access: turn Web shell on or off (it enables the E2B SDK data plane and the web shell; recommended for interactive use, off for services), and choose SSH keys to add to root on the node before the sandbox boots. Manage your keys from Manage keys.
  • Environment: extra variables, merged with the kit’s defaults. A variable you set here overrides the kit’s value, and also overrides a picked secret with the same name.
  • Network and security: HTTP ingress (Port, Health path, Extra ports, an optional Custom domain that needs a CNAME to the generated hostname beforehand), a static IP, and security groups.
  • Hooks: lifecycle hooks, starting from the kit’s own defaults.
  • Launch starts the sandbox. It opens the sandbox page once it is placed on a node and boots in a few seconds. A sandbox that crashes during boot is reported as failed rather than left silently running.
  • Copy as generates a cURL command, an OpenTofu resource or an E2B SDK (Python) starting point. Check the comments in the copy for settings the format cannot represent. The cURL command includes the selected tool servers; the OpenTofu and E2B copies describe that selection in a comment. The E2B snippet carries the kit name and environment, so configure location, size, network and lifetime separately. Saved secret values are replaced with placeholders; environment values you type into the launcher appear as entered.
  • Save as preset stores the current sentence under a name; saved presets appear as chips under the sentence and apply in one click. A preset never contains a secret value.

Opening a sandbox shows these tabs:

Tab What it shows
Overview Size, lifetime settings, network and ingress, lifecycle hooks, readiness, the current kit version, and a Tools card when the sandbox uses tools.
Runs The history of runs (a new run is created by every deploy, rollback, start or restart), each with its status and start and end time.
Versions Pick a kit version and deploy it as a new run, or roll back to an older version.
Environment Edit environment variables. Values are write-only; the panel never displays a saved value back to you.
Domains Add or remove custom hostnames for HTTP ingress, with certificate status.
Logs A live tail of the guest console log.
Shell An interactive web terminal, when shell ingress is enabled on a kit that includes the shell agent.
Metrics Live CPU, memory, disk and network usage. See Web shell, logs and metrics.

Sandbox page, Overview tab

Environment variables and secrets are written into the sandbox when it is created. Changing them later does not reach a sandbox that is already running; start a new run for the change to take effect. A login shell sees them; a plain non-login command over SSH (ssh host cmd) does not.

Action What it does
Pause Freezes the running sandbox to disk. Resume continues exactly where it left off.
Resume Brings a paused sandbox back to running.
Stop Shuts the sandbox down; the row and its disk stay, and Start deploys a fresh run of the current kit version.
Start Starts a stopped (or errored) sandbox by deploying a new run.
Kill Destroys the running sandbox immediately. The row stays until you delete it.
Delete Removes the sandbox, killing it before removal if it is not already stopped or killed.

Set or change the maximum lifetime at any point from Set timeout on the sandbox page; it replaces the current cap without restarting the sandbox.

  • “No sandbox node currently has capacity for this plan in this location.” Every node in that location is full for the chosen size. Try a smaller size or another location.
  • A launch with secrets or tools is refused because the nodes must be updated. The nodes in that location do not support delivering environment variables or tools yet. Ask your provider to update them, or pick another location. Starting an existing sandbox on such a node is refused for the same reason when it has variables to deliver.
  • A duplicate name is rejected. Sandbox names are unique per account; pick a different one.
  • Shell ingress cannot be enabled. The kit does not include the shell agent. See Create a kit.
  • A VPC network option is missing. VPC networking is not activated for your account in that location, or you have no VPC subnets yet.
  • Networking questions (NAT gateway warning, mapping a static IP, no network selected). See Networking.