Sandboxes
A sandbox is an isolated environment for running agents and tools in the cloud. You can work with your agent through a terminal in the Console.
The kit you select determines the sandbox's base image, agent, and installed tools. Each sandbox has its own filesystem, network settings, and terminal. Choose a compute size to set how much CPU and memory your sandbox has. Check your kit for installed tools such as Docker Engine. For example, the Hermes kit doesn't include it.
The Shell kit opens a Bash shell without a pre-installed agent. It uses the
same environment as sbx run shell
and is useful for working manually or installing your own agent.
Your sandbox keeps running when you leave the Console. It runs until you pause or delete it. When its timer expires, it performs the action you selected.
Choose a platform
In the compute picker, under Platform, choose auto, linux/amd64 (Intel/AMD), or linux/arm64 (Arm). The default, auto, uses the platform provided by the kit's image. An explicit platform choice requires the image to support that platform; otherwise, creation fails.
Source code and files
Each sandbox starts with a fresh filesystem. Your local repositories, directories, and workspaces aren't mounted in it by default.
Files don't sync automatically with your computer or a remote repository. Commit and push any work you want to keep before deleting the sandbox. Files left only in a deleted sandbox won't be available in a later sandbox.
Use GitHub to clone source code into your sandbox and save changes remotely. To clone a private repository or push changes, use the GitHub token control in the launcher. Copilot uses this token for both the agent and GitHub repository access. A custom kit must declare a GitHub credential to offer this option. Make sure your token has the required repository permissions. You can clone public repositories without a token, but pushing to them still requires authentication.
Open a sandbox
After you select Run, the Console shows provisioning progress. When the sandbox is ready, its detail page opens. Use the terminal to work with your agent or shell. Reloading the launch page resumes tracking the launch.
Open Sandboxes to review each sandbox's name, type, status, hourly rate, expiration, and age. Select a sandbox to reopen its detail page and terminal.
The New page also lists Recent sandboxes. Select a sandbox to reopen it, or select See all sandboxes to open the full list.
In a Claude Code sandbox, paste an image from your clipboard or drag an image file onto the terminal to attach it to your prompt. Wait for the upload to finish, type your question, and press Enter to send it.
Open additional shells
Use the + button in the terminal tab bar to open another shell in the same sandbox. Switch tabs to work with multiple shells. The agent remains in its own tab while you run commands in another.
Connect from your computer
If the sandbox detail page shows Connect, open it to find SSH connection options. The panel includes a Docker Sandboxes CLI option and a connect script. For the script, manage your public SSH key under Settings. Follow the instructions in the panel for your chosen connection method.
Access a service by port
To access a web application or development server running in your sandbox:
- Start the service in the sandbox and note its port.
- Open Connect and find Connect via a Port.
- Enter the port and select Open Port.
- Copy the public URL to access the service.
The sandbox must be running. Port 2222 is reserved for SSH and can't be published through this control. To stop exposing a service, use the close action next to its port.
Pause, resume, or delete a sandbox
A sandbox can be running or paused:
- Pause a running sandbox to stop it without deleting its files.
- Resume a paused sandbox to continue working with it. Resuming starts a fresh timer with the original duration.
- Delete a sandbox when you no longer need it.
When you create a sandbox, set a timer from 1 to 24 hours and choose what happens when it expires. Stop stops the sandbox, while Delete deletes the sandbox and its files. If Restart is offered, select it to restart the sandbox automatically when the timer expires. When a sandbox stops, all processes inside it stop too, including background processes.
After launch, you can't change the selected credentials, tools, network policies, or compute size.
You pay for compute by the second while your sandbox runs. Your model provider bills inference separately. For account, usage, and payment information, see Docker Billing.
Account quotas
The following default quotas apply across your cloud sandbox account, whether resources are created through the Console, CLI, or API:
| Resource | Default limit |
|---|---|
| Concurrent sandboxes | 10 |
| Stored sandboxes | 50 |
| Volumes | 100 |
| Secrets | 100 |
| Images being prepared at the same time | 3 |
Your account can have different quotas. Confirm your account's limits with Docker before planning a workload that depends on a particular allowance.
Stopping an ordinary sandbox releases its concurrency slot, but the sandbox still counts toward stored usage. Resuming it needs a concurrency slot. An always-on sandbox retains its concurrency reservation while stopped. Delete sandboxes you no longer need to release stored usage.
If the Console reports a running sandbox limit, stop or delete a sandbox before trying again. If it reports a sandbox storage limit, delete a sandbox; stopping it doesn't free a stored-sandbox slot.
Check sandbox configuration
If your agent cannot reach a service or use a tool:
- Check that the network policies allow access to the service.
- If the sandbox needs an MCP tool, confirm that its server is connected and authorized.
- If the service requires authentication, check that its credential was included when you created the sandbox.