Generated banner for Sandbox Next
Generated logo for Sandbox Next

Sandbox Next

CloudflareOfficialPublished by Cloudflare

  • Skill
  • Tool integration
  • Cloud and DevOps
  • Apache-2.0
  • No issues found

From the author

Build or maintain Cloudflare Sandbox apps on @cloudflare/sandbox@next (SDK 1.0 preview). Use sandbox-migrate-to-next when porting a stable app.
— the description by Cloudflare

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides the necessary framework and operational constraints for developing applications with the @cloudflare/sandbox@next (1.0 preview) SDK. It serves as a gatekeeper to ensure developers use the correct package line, adhere to the non-negotiable API contracts, and follow established patterns for process execution, environment management, and terminal interaction. It emphasizes that APIs in the preview line are subject to change and directs users to rely on installed types and official documentation over memory.

What it does

  • Validates that the project is correctly configured for the @next SDK line.
  • Defines the contract for process execution, including handle-based output collection.
  • Provides guidance on managing sandbox lifecycles, environment variables, and interactive terminals.
  • Outlines error handling and recovery strategies for preview-line applications.
  • Directs users to specific documentation for advanced features like file storage, tunnels, and outbound traffic.
  • Prevents the use of deprecated stable-line APIs in preview environments.

When to use it

  • When starting a new project using the Cloudflare Sandbox 1.0 preview SDK.
  • When maintaining an existing application already running on the @next package line.
  • When implementing process execution or interactive terminals within a Cloudflare Worker.
  • When troubleshooting API usage or lifecycle issues in a preview-line sandbox.

Advantages

  • Ensures architectural alignment with the latest preview features.
  • Reduces integration errors by enforcing strict package and image version matching.
  • Provides a clear mapping to relevant documentation for specific sandbox tasks.
  • Promotes secure practices by keeping credentials in the Worker rather than the sandbox.

Usage examples

“How do I execute a command in a sandbox using the @next SDK?”
The agent will explain using sandbox.exec(argv) to return a process handle, followed by methods like .output() or .waitForExit() to retrieve results.
“Can I use the same sandbox ID for different container images?”
The agent will clarify that process and terminal IDs are bound to the current container instance and advise on storing full job state for durability.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/cloudflare/sandbox-next/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip sandbox-next.zip -d .agents/skills

Documentation by Cloudflare

Sandbox SDK — @next (1.0 preview)

Isolated Linux environments on Cloudflare Containers, driven from Workers.

Prefer preview docs and installed @next types over memory. APIs change; this skill is a gate, a contract, and a retrieval map—not a full manual.

We recommend new projects on this line. Apps still on the default package use sandbox-stable. Port only when asked, via sandbox-migrate-to-next.

1. Gate — confirm the package line

Before writing code, inspect the app:

CheckMust match
npm dependency@cloudflare/sandbox@next (or another preview tag)
Container imageSame line (e.g. cloudflare/sandbox:next, next-python)
If you find…Action
Default @cloudflare/sandbox (no @next)Stop. Load sandbox-stable. Do not apply this skill’s APIs.
User wants to port stable → @nextStop. Load sandbox-migrate-to-next.
Self-deployed bridge onlyBridge is not on the 1.0 preview line yet. Keep bridge on stable package + image. Bridge (stable)

Never mix an @next Worker package with a stable container image (or the reverse).

Skills install: Agent setup · cloudflare/skills

2. Contract — non-negotiables

  • sandbox.exec(argv) takes an argv list and resolves when the process starts. It returns a handle, not a finished command result.

  • Collect results with handle methods: output(), logs(), waitForExit(), waitForPort(), waitForLog(), kill(signal?).

  • No implicit shell. Shell syntax needs an explicit shell, e.g. ["/bin/bash", "-lc", script].

  • Each launch is independent. A cd / export in one exec is not visible to the next. Pass cwd and env per launch, or one shell script.

  • Process handles have no stdin. Interactive use → terminals (createTerminal + connect).

  • Local wait timeout / AbortSignal cancel the wait only. They do not kill the process. Use kill or exec’s remote timeout.

  • getProcess / listProcesses / getTerminal / listTerminals do not start a container; they return null / [] when none is up.

  • Process and terminal IDs belong to the current container, not forever to a sandbox ID. For work that must survive replace, store the full job (argv, cwd, env, app state)—not only an id.

  • Non-secret config only in setEnvVars / launch env. Live credentials stay in the Worker; use outbound handlers when the sandbox calls external APIs.

  • Do not invent removed stable APIs (gitCheckout on core, string-exec completion, session execution, sandbox.terminal(request)).

  • Do not use one retry loop for every error (see Errors docs).

Minimal shape:

import { getSandbox, proxyToSandbox, Sandbox } from "@cloudflare/sandbox";

export { Sandbox };

const sandbox = getSandbox(env.Sandbox, "user-123");
const process = await sandbox.exec(["python3", "-c", "print(2 + 2)"]);
const result = await process.output({ encoding: "utf8" });
// result.stdout, result.exitCode

Task-specific API documentation: references/api-quick-ref.md

Examples index (next branch): references/examples.md

3. Retrieve — open the doc for the task

Fetch the page before implementing. Installed @next types win over guesses.

You need to…Open
Orient / choose preview1.0 preview overview
First Worker, wrangler, DockerfileGet started
exec, handles, readiness, durabilityProcess execution
Process API signaturesProcesses API
Sandbox ID vs container vs sleep/destroyLifecycle
cwd / env / setEnvVarsEnvironment
Interactive PTY / browser terminalTerminals · Terminals API
Python/JS code interpreterInterpreter · Interpreter API
Extensions modelExtensions
Error classes and recoveryErrors · Errors API
Common failuresTroubleshooting
API hubAPI reference
Files, mounts, backups, ports, tunnels, proxyToSandboxMain docs for shared surfaces (ignore stable-only session/transport/sandbox.terminal): Files · Storage / mounts · Ports · Tunnels · Backups · Outbound traffic · Expose services · Production
Example appsexamples on next
Still on stable packagesandbox-stable · Main Sandbox docs
Porting an existing stable appsandbox-migrate-to-next · Migrate

4. Before you ship

  • Lockfile and Dockerfile on the same @next line

  • Typecheck against installed @next types

  • No live secrets in sandbox env

  • Production preview hostnames need wildcard DNS on a custom domain when using those URL patterns

Skill feedback

If the user reports that this skill gave incorrect or outdated guidance, or is missing information, read references/skill-feedback.md.

Files

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Cloudflare
Publisher
Cloudflare (Official)
Source
cloudflare/skills · skills/sandbox-next · commit 6eb6c78
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Cloudflare.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download sandbox-next.zip