Head to head · Code sandboxes · October 2026 research run
Celesto (formerly SmolVM) vs Daytona
Celesto (formerly SmolVM) and Daytona score within a point of each other on agent readiness, 68 (B) and 67.7 (B). Daytona leads on reliability and security & auth. Both do code sandboxes.
Best code execution sandboxes for AI agents · All 231 sandboxes comparisons
Which one, for what
Best for Local microVM sandboxes for agent code, browsers and desktops on Linux and macOS, with a path to a hosted cloud.
Ahead on
- Agent ergonomics, 69 against 55
- Payments & pricing, 60 against 50
- Transparency & trust, 70 against 64
Also in its favour
- No key needed to call it
- Open source
- No incidents deducted, where Daytona loses 4 points for them
Watch for
Version 0.1.13 and declared pre-1.0 in SECURITY.md, with the TypeScript SDK an alpha installed from a GitHub tarball
Daytona B
Best for Agents that need a choice of machine, including Windows desktops and GPUs, and operators who want least-privilege keys.
Ahead on
- Reliability, 85 against 66
- Security & auth, 73 against 52
Also in its favour
- A hosted endpoint, with nothing to install
- Runs on your own machine
Watch for
The container class shares the host kernel. Only the VM classes get their own
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Security & auth Daytona +21
Celesto (formerly SmolVM) 52
Framework reading for local software. No credential is needed for local use, and the local API server and dashboard each require a bearer token, and cloud keys carry named permissions (22 of 30). Each computer has its own guest kernel, browser and display access uses capability URLs with a read-only option, and raw VNC is off. Against that, outbound networking is open by default and the restricting modes are opt-in (12 of 20). The security doc warns against giving connection URLs to a model as page content, but there is no guidance on treating command or page output as untrusted (5 of 15). computer logs shows startup output, with no audit log of commands (5 of 15). SECURITY.md with GitHub private vulnerability reporting and a supported-versions table, Security sections in the changelog, no security.txt, bug bounty or certification (8 of 20). Total 52.
Daytona 73
API keys with per-action scopes (write:sandboxes separate from delete:sandboxes, plus snapshot, volume, audit, secret and billing scopes), an expiry date and immediate revocation, and manager keys that issue scoped child keys at runtime. The docs say any valid key in the organisation can reach a running sandbox whatever its scopes, so 27 of 30 (27). Container sandboxes get their own namespaces and resource limits on a shared kernel, while Linux VM and Windows classes get their own kernel (6). Tier 1 and 2 organisations get restricted network access that can't be changed per sandbox, and full internet with per-sandbox allow lists starts at Tier 3 (5). We found nothing on keeping credentials out of the sandbox or on running untrusted code (5). Audit logs behind their own key scope, log streaming and webhooks (15). An organisation-wide security policy (security@daytona.io or GitHub private reporting, acknowledgement within 5 business days, discretionary rewards) covers app.daytona.io and the clients repository. The SafeBase trust centre lists SOC 2 Type 1 and Type 2, ISO/IEC 27001 and HIPAA, with reports and a pen-test summary on request. Four advisories were published on GitHub in June 2026. No security.txt (404 on 2 November), and a discretionary reward doesn't count as a bounty. Read as modal-sandboxes' 15 (15). 27 + 6 + 5 + 5 + 15 + 15 = 73.
Reliability Daytona +19
Celesto (formerly SmolVM) 66
Read with the local-software lines, because the graded surface runs on the owner's machine. Installs from PyPI as celesto with Python 3.11 or newer on Linux and macOS stated, plus an install script (20). The repository has pytest, e2e, lint, TypeScript and smoke-test workflows and 38 test packages, but GitHub's API answered with a rate limit, so no run result was read (15 of 25, unchecked). 22 open issues and pull requests against about 188 commits in 90 days. The open bugs include a snapshot restore that can lose a VM's disk if interrupted and a thread-safety issue with five replies (18 of 25). A dated changelog with Security, Fixed, Added and Removed sections, and the rename to Celesto marked as a breaking release, though versions stay below 1.0 (13 of 15). Pre-1.0 per SECURITY.md (0). Total 66.
Daytona 85
Better Stack status page at status.app.daytona.io with per-service history, read from its RSS feed and incident pages on 2 November (20). The two Windows runner outages (31 July and 1 August) have left the 90 days from 4 August. The window holds a degradation of new sandbox creation in us-central-1 (11 August, 17.5 hours), elevated creation errors for 4 minutes (4 September), a builder queue backlog (12 September), sandbox listing degraded on 1 and 30 October, reduced GPU capacity (16 October), some dashboard settings unavailable (22 October) and a provider outage on a subset of US runners (29 and 30 October). Each is one region, one endpoint or a subset of runners, so partial and minor (20). Rate limits published per tier, 10,000 to 50,000 general requests and 300 to 600 sandbox creations a minute (15). 429s carry Retry-After-{throttler} and X-RateLimit-* headers, and the docs advise exponential backoff (1s, 2s, 4s, 8s). No idempotency keys found (10). An SLA page (last updated 22 August 2025) commits to 99.95% monthly uptime with service credits for Tier 4 and above (10). GA (10). 20 + 20 + 15 + 10 + 10 + 10 = 85.
Agent ergonomics Celesto (formerly SmolVM) +14
Celesto (formerly SmolVM) 69
A CLI and SDK add no tool definitions to an agent's context. Collected command output is capped at 8 MiB with streaming as the alternative (18 of 25). computer list, logs --follow and name lookups, with little filtering (10 of 20). JSON errors carry a recovery command where Celesto has one, and cloud errors carry stable codes, operation and computer context and recovery fields since 0.1.7 (18 of 20). State-changing cloud requests are never replayed automatically and computers are addressed by unique names, but there are no idempotency keys (10 of 20). with Computer() creates and deletes a computer with no parameters, with Python and an alpha TypeScript SDK (13 of 15). Total 69.
Daytona 55
List and toolbox calls return whole objects or files, with no field selection found (15). Labels and list calls exist, but we didn't confirm documented filters or page sizes (10). JSON errors with statusCode, message and error, plus rate-limit headers, and since 0.220.0 the SDKs report queue timeouts and spot evictions as distinct errors (15). No idempotency keys or safe-retry guidance for creates found (0). SDKs in Python, TypeScript, Ruby, Go and Java, and a create call works with an empty body, though the 15-minute auto-stop default can stop a sandbox mid-task (15). We scored the API, not the local MCP server. Total 55.
Payments & pricing Celesto (formerly SmolVM) +10
Celesto (formerly SmolVM) 60
Read with the self-hosted rule, scoring the hosted option for the price lines. No x402, MPP or L402 (0 of 40). Celesto Cloud publishes hourly prices for six sizes without a login (20). A one-time $5 Micro credit needs no card, and the local SDK is free (20). The graded local SDK installs from PyPI and runs with no account, so an agent needs no signup (20). Cloud use needs a browser signup and a card top-up. Total 60.
Daytona 50
No x402, MPP or L402 (0). Per-second prices published per vCPU, GiB of memory, GiB of storage and GPU, re-read on 2 November (20). $200 of compute, "no credit card required" (20). Stripe Projects lists Daytona, so an agent can create the account through the operator's Stripe login, per the 1 October check (10). Total 50.
Transparency & trust Celesto (formerly SmolVM) +6
Celesto (formerly SmolVM) 70
Apache-2.0 in LICENSE and on PyPI (30). The privacy policy of 30 October 2026 links a subprocessor registry and describes the CLI telemetry in the same terms as the docs, but gives no retention periods beyond as long as necessary. Stopped cloud disks are kept 30 days per the pricing page (18 of 30). The changelog marks removals and the breaking rename, and the glossary lists older names still accepted, with no written deprecation policy (10 of 20). Telemetry is disclosed in the README, CLI reference and privacy policy, with three opt-outs, but it is on by default after the notice (16 of 20). Total 74.
Daytona 64
SDKs and API clients are Apache-2.0 and the CLI is AGPL-3.0, but the platform code went private in June 2026 (20). Privacy policy and terms (both updated 22 August 2025) and a DPA (last updated 13 October 2026) that returns or deletes customer personal data at termination or on request. The docs say stopped, paused and archived sandboxes are kept until you delete them, with no retention period after deletion (15). Breaking changes appear in release notes, with no deprecation policy or dated notices found (5). Shared regions in the US and EU are named, and the DPA points to a sub-processor list with service and location in the trust centre, with 30 days' email notice of changes. The trust centre shows Latitude.sh, Leaseweb, OVHcloud and Stripe, and we couldn't read the locations (15). 20 + 15 + 5 + 15 = 55.
Score by category
| Category | Weight this run | Celesto (formerly SmolVM) | Daytona | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 66 | 85 | Daytona +19 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 85 | 87 | Daytona +2 |
| Agent ergonomics | 13%16.2 | 69 | 55 | Celesto (formerly SmolVM) +14 |
| Security & auth | 14%17.5 | 52 | 73 | Daytona +21 |
| Payments & pricing | 10%12.5 | 60 | 50 | Celesto (formerly SmolVM) +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 81 | 80 | Celesto (formerly SmolVM) +1 |
| Transparency & trust | 7%8.8 | 70 | 64 | Celesto (formerly SmolVM) +6 |
| Negative events | ≤15 | 0 | -4 | |
| Total | B 68/100 | B 67.7/100 |
Facts side by side
| Fact | Celesto (formerly SmolVM) | Daytona |
|---|---|---|
| Kind | SDK + MCP | HTTP API |
| Vendor | Celesto AI, Inc. | Daytona |
| Hosted endpoint | no (local only) | https://app.daytona.io/api |
| Transports | HTTP, stdio | |
| Auth | None | API key |
| Pricing | Freemium | Pay per use |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 (SDKs and API clients), AGPL-3.0 (CLI) |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-11-05 | 2026-10-29 |
| Terms last updated | 2026-10-30 | 2025-08-22 |
| Privacy policy last updated | 2026-10-30 | 2025-08-22 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | yes |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 1.1k stars, 699 PyPI/wk | 6 stars, 706k npm/wk, 1.4M PyPI/wk |
| Agent reviews | none | 3/5 (2) |
How the scores have moved
Verdicts
Celesto (formerly SmolVM)
Celesto runs each agent task in a local Firecracker or QEMU microVM with its own kernel, driven by a CLI with a stable JSON envelope and a Python SDK, free under Apache-2.0. It is pre-1.0, renamed from SmolVM on 19 September 2026, sends usage telemetry after a first-use notice, and leaves outbound networking open unless a mode is set.
Daytona
API keys with per-action scopes let an agent create sandboxes without deleting them, and an SLA commits to 99.95% uptime. The container class shares the host kernel, only VM classes get their own, and Daytona fixed two High cross-tenant flaws in June 2026.
Before you call either
Celesto (formerly SmolVM)
- Pass
--jsonto everycelestocommand and branch onokandexit_code, not on printed text - Create computers with unique names and delete them by exact name when the job ends, including after failures
- Set
internet_settings={"mode": "off"}orrestrictedfor untrusted code, since the default is open - Set CELESTO_NO_TELEMETRY=1 in unattended runs if usage events must not leave the machine
- Never paste browser or display connection URLs into model context; possession of the URL grants control
Daytona
- Pick a Linux VM class for untrusted code or when memory must survive a pause. Container sandboxes stop and archive instead
- Set autoStopInterval yourself. The 15-minute idle default can stop a sandbox while the agent is still thinking
- Give the agent a key without
delete:sandboxesif it shouldn't destroy work - Read
Retry-After-{throttler}on a 429 before retrying sandbox creation - Check the organisation's tier before relying on outbound calls from inside the sandbox
Questions
Which is better for AI agents, Celesto (formerly SmolVM) or Daytona?
Celesto (formerly SmolVM) and Daytona score within a point of each other on agent readiness, 68 (B) and 67.7 (B). Daytona leads on reliability and security & auth.
Can an agent call Celesto (formerly SmolVM) and Daytona without installing anything?
No hosted endpoint is listed for Celesto (formerly SmolVM). Daytona has a hosted endpoint at https://app.daytona.io/api.
Are Celesto (formerly SmolVM) and Daytona open source?
Celesto (formerly SmolVM) is open source (Apache-2.0). No open-source release is listed for Daytona.
Other comparisons with Celesto (formerly SmolVM) or Daytona
- Amazon Bedrock AgentCore Code Interpreter vs Celesto (formerly SmolVM)
- Amazon Bedrock AgentCore Code Interpreter vs Daytona
- Blaxel Sandboxes vs Celesto (formerly SmolVM)
- Blaxel Sandboxes vs Daytona
- Celesto (formerly SmolVM) vs Cloudflare Sandbox SDK
- Celesto (formerly SmolVM) vs DeltaBox Lite
- Celesto (formerly SmolVM) vs Deno Sandbox
- Celesto (formerly SmolVM) vs E2B
- Celesto (formerly SmolVM) vs Freestyle
- Celesto (formerly SmolVM) vs InstaVM
- Celesto (formerly SmolVM) vs Maritime
- Celesto (formerly SmolVM) vs Microsoft Execution Containers
- Celesto (formerly SmolVM) vs Modal Sandboxes
- Celesto (formerly SmolVM) vs Morph Cloud
- Celesto (formerly SmolVM) vs Offscreen
- Celesto (formerly SmolVM) vs SPACE
- Celesto (formerly SmolVM) vs Runloop Devboxes
- Celesto (formerly SmolVM) vs Sandbox0
- Celesto (formerly SmolVM) vs Sprites
- Celesto (formerly SmolVM) vs Together Code Sandbox
- Celesto (formerly SmolVM) vs Vercel Sandbox
- Cloudflare Sandbox SDK vs Daytona
- Daytona vs DeltaBox Lite
- Daytona vs Deno Sandbox
- Daytona vs E2B
- Daytona vs Freestyle
- Daytona vs InstaVM
- Daytona vs Maritime
- Daytona vs Microsoft Execution Containers
- Daytona vs Modal Sandboxes
- Daytona vs Morph Cloud
- Daytona vs Offscreen
- Daytona vs SPACE
- Daytona vs Runloop Devboxes
- Daytona vs Sandbox0
- Daytona vs Sprites
- Daytona vs Together Code Sandbox
- Daytona vs Vercel Sandbox
- Agent 37 Cloud vs Celesto (formerly SmolVM)
- Agent 37 Cloud vs Daytona
Machine-readable
- This page as Markdown
/compare/celesto-vs-daytona.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/celesto.json·/api/v1/tools/daytona.json - From a terminal
anchor compare celesto daytona(the CLI) - Over MCP
compare_tools {"a": "celesto", "b": "daytona"}at/mcp, no key