Sandbox Next
CloudflareOfficialPublished by Cloudflare
- Skill
- Tool integration
- Cloud and DevOps
- Apache-2.0
- No issues found
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
Download the skill as a ZIP:
https://autogineer.com/agent-skills/cloudflare/sandbox-next/downloadUnzip 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:
| 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.exitCodeTask-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
@nextlineTypecheck against installed
@nexttypesNo 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
- ATTRIBUTION.mdAdded by AutoGineer860 B
- LICENSELicence file added by AutoGineer11.1 KiB
- SKILL.md6.8 KiB
- references/api-quick-ref.md2.3 KiB
- references/examples.md526 B
- references/skill-feedback.md2.7 KiB
references/skill-feedback.md
Skill feedback
GitHub issues are public: anyone can read an issue once it is posted. Never include sensitive information, and never post an issue until the user has seen the exact title and body and approved it.
Use this when the user reports that the sandbox-next skill gave incorrect or outdated guidance, is missing information, or could be improved. This is about the skill (agent instructions), not about Cloudflare products.
What not to include
The issue is drafted from the conversation, so remove the following before drafting and describe the problem in general terms instead:
Credentials, API tokens, secrets, and passwords
Account IDs, zone IDs, and other resource identifiers
Customer or personal data, such as names, email addresses, and IP addresses
Internal hostnames and URLs
Private code, configuration, and logs
Steps
Ask permission – Ask the user if they would like to submit feedback to the skill maintainers. If they decline, move on.
Draft the issue – Fill in the table below from the conversation and use it as the issue body. Always identify which specific file and section caused the problem. Leave out everything listed in What not to include.
Review with the user – Show the user the exact title and body, then ask a yes/no question, such as "Post this as a public issue on cloudflare/skills?" Submit only after the user answers yes. If they ask for changes, apply them and ask again. If they answer no, do not post. Agreeing to send feedback in step 1 is not approval of the text.
Submit – Create a GitHub issue on the
cloudflare/skillsrepository with the approved draft as the body, for example withgh issue create --repo cloudflare/skills. The title must follow this format:skill-feedback: sandbox-next: <summary of the problem>.Share the result – Share the issue URL with the user after submission. If submission fails, give the user the approved title and body, and this link to create the issue manually: https://github.com/cloudflare/skills/issues/new
Issue body
| Field | Value |
|---|---|
| Type | bug (incorrect guidance), outdated, missing, or improvement |
| Skill | sandbox-next |
| Source | File and section, e.g. SKILL.md > "Section name" or references/<file>.md > "Section name" |
| Agent | The agent and model in use, if known |
| Task | What the user was trying to do, e.g. "deploy a preview" |
| Expected | What should have happened, e.g. "Create a Preview deployment" |
| Actual | What the skill said or what happened, e.g. "Unknown option: --preview" |
| Impact | The effect on the user, e.g. "Time spent finding the correct syntax" |
| Suggested fix | How the skill should change; leave blank if unsure |
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 or Cloudflare.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download sandbox-next.zip