sandbox-next
Build or maintain Cloudflare Sandbox apps on @cloudflare/sandbox@next (SDK 1.0 preview). Use sandbox-migrate-to-next when porting a stable app.
- 0
- Installs
- —
- Rating
- —
- Success rate
- 3
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 a5234afdcef06a11… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
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:
| Check | Must match |
|---|---|
| npm dependency | @cloudflare/sandbox@next (or another preview tag) |
| Container image | Same 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 → @next | Stop. Load sandbox-migrate-to-next. |
| Self-deployed bridge only | Bridge 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/exportin oneexecis not visible to the next. Passcwdandenvper launch, or one shell script. - Process handles have no stdin. Interactive use → terminals (
createTerminal+connect). - Local wait
timeout/AbortSignalcancel the wait only. They do not kill the process. Usekillorexec’s remotetimeout. getProcess/listProcesses/getTerminal/listTerminalsdo not start a container; they returnnull/[]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/ launchenv. Live credentials stay in the Worker; use outbound handlers when the sandbox calls external APIs. - Do not invent removed stable APIs (
gitCheckouton core, string-execcompletion, 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 preview | 1.0 preview overview |
| First Worker, wrangler, Dockerfile | Get started |
exec, handles, readiness, durability | Process execution |
| Process API signatures | Processes API |
| Sandbox ID vs container vs sleep/destroy | Lifecycle |
cwd / env / setEnvVars | Environment |
| Interactive PTY / browser terminal | Terminals · Terminals API |
| Python/JS code interpreter | Interpreter · Interpreter API |
| Extensions model | Extensions |
| Error classes and recovery | Errors · Errors API |
| Common failures | Troubleshooting |
| API hub | API reference |
Files, mounts, backups, ports, tunnels, proxyToSandbox | Main docs for shared surfaces (ignore stable-only session/transport/sandbox.terminal): Files · Storage / mounts · Ports · Tunnels · Backups · Outbound traffic · Expose services · Production |
| Example apps | examples on next |
| Still on stable package | sandbox-stable · Main Sandbox docs |
| Porting an existing stable app | sandbox-migrate-to-next · Migrate |
4. Before you ship
- Lockfile and Dockerfile on the same
@nextline - Typecheck against installed
@nexttypes - No live secrets in sandbox env
- Production preview hostnames need wildcard DNS on a custom domain when using those URL patterns
Files
3- SKILL.md
12715f89556.6 KB - references/api-quick-ref.md
b1f2c78d262.3 KB - references/examples.md
08d1e6776e526 B
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from cloudflare/skills8
Build, debug, or review Cloudflare Agents SDK applications using the agents package.
Build and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL. Use for streaming data into R2 Iceberg tables, managing catalogs, or querying those tables; also use for requests using the former Data Platform, Pipelines, R2 Data Catalog, or R2 SQL name
Discover and choose Cloudflare products for apps, APIs, AI agents, storage, networking, and security. Use for architecture and product selection, including when the user describes a need without naming a Cloudflare product; then find the relevant skill or documentation.
Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.
Design, configure, troubleshoot, or review Cloudflare One Zero Trust and SASE deployments. Use cloudflare-one-migrations for migration planning from other vendors.
Assess and plan migrations from existing VPN, SWG, or SASE platforms to Cloudflare One, including policy mapping, parity gaps, and rollout.
Build, debug, or review Cloudflare Durable Objects code for persistent state and coordination.
Build and troubleshoot Cloudflare K2 or K2 Streams durable logs. Use for stream setup, producing from Workers or HTTP, configuring retention and inputs, and consuming through subscriptions.
Related devops skillsscan passed
Use this skill to monitor and verify a deployed URL after releases — checks HTTP endpoints, SSE streams, static assets, console errors, and performance regressions after deploys, merges, or dependency upgrades. Smoke / canary / post-deploy verification.
Post-deploy canary monitoring. (gstack)
Deploy tRPC on WinterCG-compliant edge runtimes with fetchRequestHandler() from @trpc/server/adapters/fetch. Supports Cloudflare Workers, Deno Deploy, Vercel Edge Runtime, Astro, Remix, SolidStart. FetchCreateContextFnOptions provides req (Request) and resHeaders (Headers) for context creation. The
Prepares production launches. Use when preparing to deploy to production, or when asking what needs to be in place before shipping. Use when you need a pre-launch checklist, when setting up monitoring, when planning a staged rollout, or when you need a rollback strategy.
Deploys and configures classic Firebase Hosting for static websites, single-page apps (SPAs), and microservices. Use when deploying static sites/SPAs, setting up custom domains, configuring firebase.json hosting settings (redirects, rewrites, headers, multi-site), or managing preview channels. Don't
Use when creating new skills, editing existing skills, or verifying skills work before deployment