sandbox-stable
Build or maintain Cloudflare Sandbox apps on the stable @cloudflare/sandbox package. Use sandbox-next for preview apps and sandbox-migrate-to-next for stable-to-preview migrations.
- 0
- Installs
- —
- Rating
- —
- Success rate
- 1
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 d2166ce55447b212… — 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 — stable package
Isolated Linux environments on Cloudflare Containers, driven from Workers.
Prefer the main Sandbox docs and installed stable types over memory. This skill is a gate, a contract, and a retrieval map—not a full manual.
This line is the current stable default npm package. The main Sandbox documentation describes it. Existing apps can stay here and keep shipping.
We recommend new projects on @cloudflare/sandbox@next with sandbox-next. When you can, plan a move with sandbox-migrate-to-next so you are ready when 1.0 becomes the stable release. Do not force that port unless the user asks.
1. Gate — confirm the package line
Before writing code, inspect the app:
| Check | Must match |
|---|---|
| npm dependency | Default @cloudflare/sandbox (not @next / preview tags) |
| Container image | Matching stable image (not cloudflare/sandbox:next) |
| If you find… | Action |
|---|---|
@cloudflare/sandbox@next or a next image | Stop. Load sandbox-next. |
User wants to port to 1.0 / @next | Stop. Load sandbox-migrate-to-next. Do not half-apply preview APIs on a stable package. |
| Only cleaning deprecated stable APIs | Stay here; use the 2026 deprecation guide. That is not a move to @next. |
Never mix a stable Worker package with an @next container image (or the reverse).
Skills install: Agent setup · cloudflare/skills
2. Contract — non-negotiables
await sandbox.exec(command)takes a command string and resolves when the command finishes, with bufferedstdout/stderr/exitCode(and related fields).- Long-running and streaming work use the stable command APIs (
startProcess,execStream, and related helpers)—not the@nextsingle-handle model. Open the Commands docs; do not invent@nextoutput()handles on stable. - Sessions can preserve working directory and environment across commands (default session /
enableDefaultSession,createSession). See Sessions docs when state must carry across calls. - Interactive browser terminals often use
sandbox.terminal(request)and session/xterm helpers on stable—not previewcreateTerminalunless the package is@next. - Prefer RPC transport when using tunnels or large/binary streaming. HTTP/WebSocket transports are deprecated (cleanup guide below).
- Files, mounts, ports, tunnels, backups, lifecycle, and interpreter: use main docs for signatures; trust installed stable types.
- Non-secret config in sandbox env; live credentials in the Worker. Use outbound handlers when processes call external APIs.
- Production preview hostnames need wildcard DNS on a custom domain when using those URL patterns.
- Do not apply
@nextargv/process.output()APIs while the dependency is still stable. - Self-deployed bridge stays on the stable package and image. Bridge
Minimal shape:
import { getSandbox, proxyToSandbox, Sandbox } from "@cloudflare/sandbox";
export { Sandbox };
const sandbox = getSandbox(env.Sandbox, "user-123");
const result = await sandbox.exec('python3 -c "print(2 + 2)"');
// result.stdout, result.exitCode, result.success
3. Retrieve — open the doc for the task
Fetch the page before implementing. Installed stable types win over guesses.
| You need to… | Open |
|---|---|
| Orient | Sandbox overview |
| First Worker, template, Docker | Get started |
exec, streaming, background processes | Commands API · Execute commands · Background processes · Streaming output |
| Sessions / shell state across commands | Sessions concept · Sessions API |
getSandbox options, sleep, destroy | Lifecycle API · Sandbox options |
| Env vars | Environment variables |
| Files | Files API · Manage files · File watching |
| Buckets / mounts | Storage API · Mount buckets |
| Backups | Backups API · Backup and restore |
| Ports, preview URLs, expose | Ports API · Expose services |
| Tunnels | Tunnels API |
| Proxy / Workers connections | Proxy requests · Workers connections |
| Browser / PTY terminal | Terminal API · Terminal concept · Browser terminals |
| Code interpreter | Interpreter API · Code execution |
| Git in the sandbox | Git workflows |
| Secrets / egress | Outbound traffic |
| WebSockets | WebSocket connections |
| Docker-in-Docker | Docker in Docker |
| Production deploy | Production deployment |
| Containers concept | Containers |
| How-to index | Guides |
| API index | API reference |
| Deprecated APIs while staying on stable | 2026 deprecation guide |
| Self-deployed bridge | Bridge · Bridge HTTP API |
Examples (stable/main) | examples on GitHub |
| New work on 1.0 preview | sandbox-next · 1.0 preview |
Port existing app to @next | sandbox-migrate-to-next · Migrate |
Deprecated-API cleanup (stay on stable)
Update package + matching image first, then follow the guide. Typical search:
rg 'SANDBOX_TRANSPORT|transport:|exposePort\(|enableDefaultSession|execStream\(|readFileStream|writeFileStream'
This path does not switch you to @next.
4. Before you ship
- Worker package and container image on the same stable line
- Typecheck against installed stable types
- No live secrets in sandbox env
- If using deprecated transports/helpers, finish or track 2026 deprecation cleanup
- When the team is ready for 1.0, use
sandbox-migrate-to-next—do not force cutover unprompted
Files
1- SKILL.md
490dc8b20d9.1 KB
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