sandbox-next

À utiliser lors de la création ou modification d'applications Cloudflare Sandbox avec @cloudflare/sandbox@next (aperçu Sandbox SDK 1.0) — exécution de code, runners IA, interpréteurs, type CI…

npx skills add https://github.com/cloudflare/skills --skill sandbox-next

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

Plus de skills de cloudflare

dependabot-review
cloudflare
Analyse une PR Dependabot pour déterminer ce qui a réellement changé dans chaque package mis à jour et si ces changements affectent ce dépôt. Signale les API/méthodes modifiées,…
module-registry
cloudflare
Charger lorsque vous travaillez avec le registre de modules dans workerd — lecture, modification, débogage ou révision de la résolution, compilation, évaluation ou enregistrement de modules…
reproduce
cloudflare
Reproduire un problème GitHub cloudflare/agents en créant un projet minimal Agents/Worker et en le déployant sur un compte Cloudflare temporaire, puis signaler…
local-explorer
cloudflare
Comment ajouter des produits/ressources à l'explorateur local ou à l'API locale. À utiliser lors de l'implémentation de nouvelles API locales ou de routes d'interface utilisateur sous…
open-pr
cloudflare
Prenez un problème GitHub cloudflare/agents ainsi que les résultats de reproduction, et générez en une seule fois un correctif sous forme de PR — branche, modification, test, push, et ouverture de la PR liée au problème.
write-endpoints
cloudflare
Guide complet pour construire des endpoints OpenAPI avec chanfana - définition de schéma, validation des requêtes, opérations CRUD, intégration de base de données D1, et…
agents-sdk
cloudflare
Construisez des agents IA sur Cloudflare Workers en utilisant le SDK Agents. Chargez lors de la création d'agents avec état, de workflows durables, d'applications WebSocket en temps réel, de tâches planifiées,…
changelog
cloudflare
Crée, met à jour et révise les entrées du changelog produit pour le site de documentation Cloudflare. Charger lors de la génération de fichiers MDX de changelog, de la modification de fichiers existants…