A second region: US East
Sandboxes now run in US East (Ashburn, Virginia) as well as EU Central (Helsinki, Finland). New sandboxes go to the region nearest you, or pick one with
regionin the API,sbx new --region us-east, the SDKs, MCP'screate_sandboxor the Daytona API'starget.GET /api/v1/regionslists them, and every sandbox reports itsregion. Forks, and sandboxes made from a snapshot, stay in their source's region; existing sandboxes stay in EU Central.Trial sandboxes can run up to 8 hours
On the free trial, a sandbox can now run for up to 8 hours before it auto-stops, up from 2. Auto-stop is still required on the trial and still defaults to 1 hour; the trial's 25 hours of machine time, 2 sandboxes at once and the small and default sizes are unchanged. Extend a sandbox with
sbx extendor the dashboard's Extend button.billingDocs →Agent cookbook: keep keys out, approve risky commands, isolate MCP servers, and more
New agent cookbook pages answer questions developers asked this week: how long an agent's sandbox can run, keeping an API key out of the sandbox, giving an agent a bigger machine mid-task, running each MCP server in its own sandbox, letting a coding agent check its UI change, a background coding agent that pushes a branch for review, requiring a human's approval before risky commands, and per-team sandbox templates. A decision guide covers running coding agents at home or on a cloud VM. Every command was run on a real sandbox.
docsNew sandboxes start about twice as fast
Each node now keeps a few sandboxes already booted and paused, and a new
smallordefaultsandbox from the standard image takes one instead of booting. Measured from US-East through sandboxer.com, 20 creates of thedefaultsize werereadyin a median of 0.69 s (90% within 1.15 s), down from about 1.5 s.large,xlargeand creates from a snapshot boot as before. Every sandbox still gets its own machine id, SSH host keys and random seed when it's created, and pooled sandboxes are never billed. Nothing changes in the API, SDKs or CLI.Starters for eight more languages, "who it's for" guides, a Docker pull benchmark and more recipes
New starters set up Go, Rust, Java, Bun, Deno, .NET, PHP and Ruby dev environments in a sandbox, each with a real project, measured cold and cached builds and a named snapshot. Seven "who it's for" guides cover AI app builders, eval and research teams, classrooms, data scientists, hackathons, DevRel and QA teams. A benchmark measures Docker image pull times by sandbox size. New recipes run Flowise, Strapi, Ghost, NocoDB and Umami, and a guide shows how to run scheduled jobs with systemd timers. Every command was run on a real sandbox.
docsPython and Node starters, MCP Inspector, Langfuse, Dify, test sharding and resource limits
New starters set up a Python dev environment with uv and a Node.js one with pnpm in a sandbox, with measured install times and a named snapshot. New recipes test an MCP server with the MCP Inspector on a private URL and self-host Langfuse and Dify. New agent cookbook pages shard a test suite across sandboxes, with the measured result for one and two shards, and limit CPU, memory and processes for one run inside a sandbox. Every command was run on a real sandbox.
docsAgent cookbook: cap costs, clean up orphans, detect cold boots, wait for ports, script sbx with jq
New agent cookbook pages show how to cap what agent sandboxes can cost, find and clean up orphaned sandboxes with a dry run first, tell whether a resume restored memory or cold-booted, know when a service in a sandbox is ready, and script the
sbxCLI with its JSON output and jq. Others show which way of starting a service survives resume, reboot and kill, how to stream a command's output live to a web UI, and how to handle rate limits and concurrency caps. New recipes run Uptime Kuma, Label Studio and SearXNG, OCR scanned PDFs with Tesseract and OCRmyPDF, and render HTML to PDF with headless Chrome. Every command was run on a real sandbox.docsDocs →More recipes: Streamlit, Storybook, Kafka, RabbitMQ, OpenSearch, Chroma, Vault, llama.cpp, and best-of-N agents
New recipes run a Streamlit app, Storybook with a shareable URL, Redpanda (Kafka API), RabbitMQ, OpenSearch with Dashboards, the Chroma vector database, a HashiCorp Vault dev server and llama.cpp's server on CPU in a sandbox, and convert Markdown to PDF, DOCX and HTML with Pandoc. A new agent cookbook page shows how to run best-of-N agent attempts in forks and keep the winning diff, and another measures a fresh sandbox per tool call against one sandbox per session. Recipes cover Keycloak behind an HTTPS URL and a Next.js dev server with live reload, and benchmarks measure CPU performance and disk throughput by sandbox size. Recipes also cover Redis, an FFmpeg video pipeline, an MLflow tracking server, WordPress and a self-hosted Excalidraw whiteboard. Every command was run on a real sandbox.
docsRecipes for 18 apps and tools, from Metabase and n8n to Qdrant and Hugo, and what's pre-installed
New recipes run Metabase, n8n with a working webhook URL, the Temporal dev server, a Selenium Grid, Gitea with git push over HTTPS, Home Assistant, code-server, Grafana with Prometheus, Apache Airflow, JupyterLab, Meilisearch, MinIO S3 storage, a Gradio app, PocketBase and the Qdrant vector database in a sandbox, convert DOCX to PDF in batches with LibreOffice, and preview a Hugo or Astro site with live reload. A reference lists what every sandbox has pre-installed, with versions. Each recipe puts the app behind a private HTTPS URL and covers stop and resume. The API error codes guide now lists
file_not_foundfor a missing file, and the environment variables guide reflects that a per-commandenvnow wins for string commands too. Every command was run on a real sandbox.docsDocs →Recipes: Ollama and Open WebUI on CPU, MySQL, MongoDB, whisper.cpp, cached dependencies
New recipes run Ollama on CPU with measured tokens per second, Open WebUI on top of it, MySQL or MariaDB, MongoDB, and whisper.cpp transcription in a sandbox, each behind a private HTTPS URL that survives stop and resume. A new guide shows how to cache dependencies in a named snapshot so an agent's sandbox skips the install. Every command was run on a real sandbox.
docsReference guides: CLI cheatsheet, API error codes, environment variables, costs, glossary
New guides cover every
sbxcommand on one page; every error code the API returns, with its HTTP status and what to do; the environment variables and tokens inside a sandbox; passing secrets to a sandbox safely; retrying API calls with idempotency keys; what common workloads cost per hour and per month; and a glossary of sandbox terms. New recipes run Postgres with pgvector and Supabase locally in a sandbox. Every command was run on a real sandbox.docsDocs →Migration guides for six more platforms, measured start and resume times, CI and Android guides
New migration guides cover moving from Replit, Fly.io, Runloop, Northflank, the CodeSandbox SDK and Beam. New guides publish start, resume and fork times we measured on 2026-10-27, and show how to run each GitHub Actions job in a fresh microVM, turn a GitHub issue into a pull request from a sandbox, and run the Android emulator in a cloud VM. Every command was run on a real sandbox.
docsGuides on sizing, networking, multi-tenant sandboxes, Kubernetes and SWE-bench
New guides explain what a microVM is; what can reach a sandbox and what it can reach, with a tested outbound firewall; giving every user of your product their own sandbox; persistent vs ephemeral sandboxes; Claude Code's sandbox mode vs Docker vs a cloud VM; git worktrees vs one VM per agent; fixing exit code 137 or a full disk by resizing; running kind or k3s inside a sandbox; and SWE-bench-style evaluations on microVMs. A migration guide covers moving from GitHub Codespaces. Every command was run on a real sandbox.
docsDocs →Daytona API: signed previews work, and pick a size with a label
Signed preview URLs from the Daytona SDK (
getSignedPreviewUrl) now work from scripts as well as browsers: fromfetchorrequestswithout a cookie jar, with a path added to the URL, and on the very first request. To choose a sandbox size from the Daytona SDK, set the labelsandboxer.typetosmall,default,largeorxlarge. Without it, you getsmall.Every resume says whether memory came back
After every resume, a sandbox's
memoryRestoredistruewhen memory was restored and your processes kept running, orfalsewhen it booted from disk with your files intact. When it'sfalse,resumeReasonsays why:cpu_mismatch,resized,no_memory_snapshotorrestore_failed.sbx resumestraight aftersbx stopnow waits for the stop to finish instead of failing.Out-of-memory commands exit 137
A command killed for running out of memory now exits with code 137, and the sandbox keeps answering. Before, it sometimes returned a 502 "guest agent: EOF" error. This applies to sandboxes created from today.
reliabilityUse-case guides: code interpreters, data and SQL agents, browsers, desktops, RL, previews
New guides walk through building a stateful Jupyter code interpreter, a data-analysis agent, and a text-to-SQL agent tested against a real Postgres; running Browser Use or Playwright with Chrome, and a computer-use agent on the Linux desktop; RL and eval environments from snapshots and forks; Docker Compose with a URL per service; idle auto-pause; a preview URL per pull request; and OpenHands with its UI on HTTPS. A migration guide covers moving from Cloudflare Sandbox. Every command was run on a real sandbox.
docsDocs →Migration guides and 14 new how-to and integration guides
New migration guides show how to move from E2B, Modal and Vercel Sandbox: how their concepts and calls map to ours, a before-and-after example (ours run on a real sandbox), moving files and settings, and what's different. New guides cover forking a running sandbox, saving a sandbox as a reusable template, giving a port an HTTPS URL, moving files, SSH from VS Code or Cursor, long-running jobs, connecting Claude.ai and ChatGPT over MCP, local vs hosted MCP, and using Sandboxer from LangGraph, CrewAI, the Vercel AI SDK, the OpenAI Agents SDK and the Claude Agent SDK.
docsDocs →A free-trial link on every guide and comparison
Every guide and comparison page, including the rankings and category tables, now ends with a "Start your free trial" box, and long pages show it once mid-page too. It states the trial as it is: 7 days and 25 hours of machine time, a card is required, and you can cancel any time from your billing page.
docsbillingTerms updated: storage included per plan
The Terms of Service (section 7) now say that storage isn't charged and that each plan includes the storage shown on the pricing page: over it, new sandboxes, forks and named snapshots wait until you're back under, while stopping, resuming and deleting still work. Any future deletion of unused or over-the-limit data would come only after at least 30 days' email notice and a Terms update. The old charge for extra named snapshots is gone.
requireMemory refuses a size change
Resuming with
requireMemory: trueand a different size now answers400 invalid_require_memoryinstead of booting from disk (a new size always boots from disk). Resuming at the sandbox's own size is unchanged.apiDocs →New sandbox fields in the API reference
The OpenAPI document now includes
idleStopMinutes,lastActivityAt,memoryRestored,resumeReasonandrequireMemory; the TypeScript and Python SDKs get them in their next release.Sandboxes pause themselves when idle and wake on use
A sandbox now pauses itself after
idleStopMinuteswithout activity (15 minutes on the free trial, 30 on the $20 plan, 60 on $100 and $500, 120 on $2,000;0turns it off, up to 7 days). Pausing is a stop with memory, so files and running processes are kept and compute isn't billed while it's paused. The next API call or request to one of its hosted URLs wakes it. Commands, terminals, SSH logins, agent turns, a busy CPU (1-minute load ≥ 0.5) and a~/.sandboxer/keep-awakefile keep it awake. Set it withsbx new --idle,sbx idle,idleStopMinuteson the API or the MCP tools. Sandboxes created before today have it off until you set it.Resume waits for a machine that can restore memory
A resume now restores memory on a machine with the same CPU type, waiting up to 2 minutes for one when it's busy before booting from disk; when it boots from disk the sandbox says so (
memoryRestored: false,resumeReason: "cpu_mismatch"). WithrequireMemory: true(sbx resume --require-memory) it waits up to 30 minutes instead and fails withmemory_unavailablerather than booting from disk.Storage included with every plan
Each plan now includes storage for what you keep: 50 GB on the $20 plan, 250 GB on $100, 1 TB on $500 and 5 TB on $2,000, and 10 GB on the free trial or without a plan. Stopped sandboxes and named snapshots count; running ones don't. Storage isn't billed: over the amount, new sandboxes, forks and named-snapshot saves wait until you free space or upgrade, and going over never deletes anything. Named snapshots no longer have a separate charge. Billing and the sandbox list show what you use.
billingDocs →Public status page
status.sandboxer.com and sandboxer.com/status show each service (website, sign-in, API, sandboxes, preview URLs and SSH, hosted MCP, billing, email) as green, yellow or red, with its latest check time, 90 days of uptime and incidents. It's fed by our automatic production checks, which run every 10 to 30 minutes, plus checks from outside our network every minute, and it's hosted off our own servers so it stays up even if we're down. The data is public JSON at
GET /api/v1/status.reliabilityCancel your plan or trial from the Billing page
The plan card on Billing now has a Cancel trial or Cancel plan button for Stripe subscriptions. Trial users see that they keep the trial until its end date, won't be charged, and will get an email 2 days before it ends. Paid users see that the plan runs to the end of the period, isn't renewed, and the rest of the period isn't refunded. Cancelling asks one optional "why?" question first (Stripe's portal asks too); nothing else about cancelling changes.
Hosted MCP server at sandboxer.com/mcp
Connect Claude, ChatGPT, Claude Code, Codex, Cursor or any MCP client to
https://sandboxer.com/mcpwith nothing to install. Apps sign in with your Sandboxer account (OAuth, with a consent page); headless clients send an API key. The hosted server and the localsbx mcpshare the same 18 tools: create, list and manage sandboxes, run commands in the foreground or detached, read and write files, publish ports, and save snapshots. Connected apps are listed under API keys, where you can disconnect them.Sandbox labels and versioned named snapshots
Sandboxes can carry labels: set them on create, replace them with PATCH, and filter with
GET /sandboxes?labels=k=v. Named snapshots can be saved as versions (<name>-v<N>), withifLatestso two parallel saves can't both win andkeepto prune a series to its newest N. Named snapshots also reportstoredBytes, the bytes that count toward storage.Reloading keeps your place in the dashboard
Search, filters, the open metrics dialog and its time range, the file browser's folder, the selected environment and the team you're viewing now live in the URL, so a reload or a shared link opens the same view. On the docs and pricing pages, the code sample language and the pricing estimator's inputs are kept the same way.
dashboardLong synchronous commands run to their full timeout
Synchronous commands now run up to their own timeout (at most 600 s); before, anything over 5 minutes failed with
502 sandbox_direct_failedwhile it kept running. While one runs, auto-stop is pushed past its end so the sandbox isn't stopped under it. A detached command's status now settles from the sandbox's own history with its real exit code, and it's markedlostwhen the sandbox is deleted or cold-boots.Usage, starts left and storage in the console
Billing now shows starts left in the rolling 24 hours (with the last hour and minute), names your plan, and shows storage used against what's included; each plan row lists all three start limits. The sandbox list has a Stored column, its sparklines cover the last hour, and stopped sandboxes keep theirs. Sandbox objects in the API carry
storageBytesandstorageMeasuredAt.Limit errors name the plan, the numbers and when to retry
Start-limit errors now say which window was hit, how many starts were used of the limit, which plan set it and when the next start frees up, with a
Retry-Afterheader anddetails(window,limit,used,planName,resetsAt). A full day window returns429 daily_limit_reached. Concurrency and storage errors also name the plan and the numbers.apiDocs →Faster and steadier resume
A stop's background upload now waits 2 minutes, so a quick stop-then-resume doesn't compete with it. New sandboxes go to the node with the most free memory, creates no longer queue behind large snapshot uploads, and if the node holding a just-stopped sandbox is briefly full, resume retries for up to 10 minutes instead of failing.
reliabilityDocs →Production checks around the clock
We now test production the way you use it. Pages, Google and GitHub sign-in, checkout and the CLI installer are checked every 10 minutes, and a full sandbox lifecycle every 30 minutes: create, run a command, a public port, stop with memory, resume, plain IPv4 SSH, delete. SSH through a sandbox's IPv4
sshEndpointwas fixed for sandboxes where it didn't connect.reliabilityGuides, comparisons and agent-readable pages
The new /guides section has answer-first how-to guides (Claude Code in a cloud VM, Codex CLI on a remote machine, pause and resume with memory, Docker and nested KVM and more) and ranked roundups that disclose we're on the list. /compare has product pages with sourced facts and the date each was checked, plus category hubs. Public pages now load without JavaScript and have Markdown twins and llms.txt entries, so agents and crawlers can read them.
docsDocs →A reminder email before a trial turns paid
Card trials now get an email 2 days before they convert to the $20/month plan, unless they're already cancelling. New accounts without a card get a short welcome sequence explaining the trial, which stops once a card is added.
SDK samples that run as written
The home page's TypeScript, Python and curl samples now match the published
sandboxer-sdk0.1.1 on npm and PyPI, and each was run unedited against production. The SDK docs no longer say the packages are unpublished, and the Python page warns to installsandboxer-sdk, not the unrelatedsandboxerpackage.A clear error when there's no room, instead of a stuck create
When there's no room for the size you asked for, create and fork now return
503 capacity_exceededat once, withdetails.availableBySizesaying how many of each size you can still start.Daytona-compatible API
Code written for the Daytona SDK now runs on Sandboxer: set
DAYTONA_API_URL=https://sandboxer.com/daytona/apiandDAYTONA_API_KEYto a Sandboxer API key. It covers sandbox lifecycle (create, list, start, stop, delete, labels, auto-stop and auto-delete), running commands and code, sessions, files, ports and preview URLs. We test it with the official TypeScript and Python SDKs. Custom images, volumes, GPUs, network allow-lists, git, LSP, computer use and PTY aren't covered yet and returnnot_supported. The sandboxes are the same microVMs, billing and limits as the rest of Sandboxer.Stopped sandboxes are kept off-node and can resume elsewhere
Stopping a sandbox now uploads its disk (and memory, when it has it) to object storage, and the node's copy becomes a cache, so a sandbox whose node is full or offline resumes on another node. Memory is restored only on matching hardware; otherwise it boots from disk and reports
resumedFrom: "disk". Named snapshots are stored off-node too and outlive their source sandbox.A card starts a 7-day free trial
Starting a sandbox now needs a card on file. Adding one for the $20 plan starts a 7-day free trial with 25 hours of machine time (2 at once, small and default sizes), which becomes $20/month unless cancelled before it ends; one trial per person, organization or card. The card goes into an in-page Stripe checkout, and
sbx newoffers the same checkout and waits for it.Plan switches in place; downgrades at renewal
Switching plans on the Billing page now applies in place: an upgrade is charged the prorated difference and raises your limits once it's paid, and a downgrade takes effect at the next renewal (the page shows "changes to … on
", and Keep undoes it). CLI logins on the API keys page, stricter browser requests
The API keys page lists CLI logins, which you can revoke. Browser requests with a body must be JSON, cross-site browser POSTs are rejected, and api.sandboxer.com serves only the API.
Automatic snapshot retention
Each sandbox keeps its newest two automatic snapshots; resume and fork use the newest, and older ones are deleted. Named snapshots aren't affected. Nodes keep a disk reserve so a full disk can't stop the host.
Final Terms of Service, Privacy Policy and Acceptable Use Policy
All three policies are final: Terms, Privacy and Acceptable Use. The contracting party and data controller is North Bay Opco I, Inc.
legal