Skip to main content
Free credit with no card; console welcome
Billing
  • Your Personal workspace now starts with the $10 of free credit at sign-up, no card needed. A team workspace still gets its $10 when its first card is saved, and nothing is granted twice. When credit runs out without a card, sandboxes stop as before. See Pricing.
Console
  • A three-step welcome on your first visit: run a sandbox on your credit, connect your agent, add a card. Open it again from Get started on an empty Sandboxes list, from the command palette, or at console.zode.dev/?welcome.
  • Images is in tabs, like the other pages: Your images, Official and Base images.
Billing, API, CLI and SDK updates; capacity
Billing
  • Storage is free for the first 48 hours of every sandbox, forks included. After that it is billed on the provisioned disk as before. Compute prices are unchanged.
  • Running sandboxes needs a card on file or credit left. A workspace with neither gets 402 credit_exhausted on create, fork and start, and its running sandboxes are stopped (hibernated, never deleted) within about 15 minutes. New workspaces start with $0 of credit; saving the first card adds the $10 signup credit. Workspaces with a card keep running and are invoiced monthly. Enterprise is exempt. See Pricing.
  • A Pro trial now gets Pro’s limits: 15 sandboxes running at once, 20 custom images kept and 2 building at once, and the desktop.
  • Enterprise keeps flight recorder data for 90 days.
  • The balance.low, invoice.created, invoice.paid and invoice.payment_failed webhooks and alerts are now sent. See Webhooks.
API
  • plan_required is now always HTTP 402. It was 403 for the desktop on create, fork and PATCH /v1/sandboxes/{id}/features, and for workspace defaults in PATCH /v1/org.
  • 429 rate_limited answers carry X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset next to Retry-After.
  • The OpenAPI spec lists every error code the API returns, validates cleanly, and documents the four sandbox sizes and the one region, eu-central. Codes stay an open set: handle unknown ones by HTTP status.
  • A sandbox created without a size is small (2 vCPU, 4 GB, 50 GB) in the API, CLI and MCP. The size named default is not the default.
  • Exec env is merged into the default environment, with your entries winning; it never replaced it, and the spec now says so.
  • Deleting a workspace answers key_destroyed: false: destroying the workspace key has not shipped yet.
  • Loop breaker alerts say the breaker “flagged a possible loop” unless the host enforces it.
CLI and MCP
  • zode exec and zode ssh run a single command argument through bash -lc, so zode exec demo -- 'npm ci && npm test' works. Several arguments still run as argv. A missing program reads command not found: X.
  • zode new takes --environment, --pr and --max-cost. zode fork takes --branch, --pr and --max-cost.
  • zode desktop exits 1 when the desktop is off.
  • zode image build -f refuses a Dockerfile over 64 KB before uploading it.
  • The CLI says “API key” instead of “token”, and zode verify failures no longer show host file paths.
  • The MCP sandbox_create tool takes image, browser, desktop, git_repo, git_branch and pr_number.
TypeScript SDK (@zodedev/sdk 0.2.0)
  • Sandbox.create({ image }) boots from a custom image.
  • sbx.featureError says why a browser or desktop asked for at create or fork did not start.
  • sbx.restore(snap) refuses another sandbox’s snapshot with wrong_sandbox.
  • The missing-key error points to the console’s API keys page.
Official images
  • Zode now builds official images for every workspace, in every size, on every host. CI jobs (runs-on: zode-*) use ci-ubuntu-24.04. Sandboxes can ask for zode/base with zode new --image zode/base or "image": "zode/base".
  • A new version goes live on every host at once when all its builds are ready. The previous version is kept for 24 hours.
  • GET /v1/official-images lists each published line with its version, sizes and installed software. It needs no API key. The Dockerfiles are in zodeops/runner-images.
Capacity
  • A second host in eu-central adds room for more sandboxes.
SDK on npm, new desktop view
  • @zodedev/sdk is on npm under the Apache-2.0 licence. The current version is 0.1.1. See TypeScript SDK.
  • The desktop’s live view is now a page you embed in an iframe (POST /v1/sandboxes/{id}/desktop/session, desktop.viewUrl() in the SDK). It is watch-only unless you ask for control, and it replaces the earlier WebRTC stream.
  • Chrome and the desktop run as the zode user. Chrome keeps its own sandbox and no longer shows the --no-sandbox warning bar.
  • Chrome starts with sign-in, sync, password saving and translate prompts turned off.
  • The desktop has accessibility (AT-SPI) on, CJK fonts, and the agent-browser and agent-desktop tools installed.
  • Switching the browser and the desktop on at the same time no longer leaves Chrome headless.
Browser, desktop, custom images, plan limits
  • Sandboxes can run Chrome, driven over CDP, and a Linux desktop. Each is a switch: browser and desktop on create and fork, or PATCH /v1/sandboxes/{id}/features. The desktop needs Pro, Team or Enterprise.
  • CDP URLs now connect straight to the sandbox’s host.
  • Custom images: zode image build from a Dockerfile or a list of commands, then boot sandboxes from the image.
  • First version of the TypeScript SDK.
  • zode verify checks a host’s signed release against the Rekor transparency log. Hosts do not have signed releases installed yet, so it reports them as not verified.
  • Plans now limit sandboxes running at once: Free 2, Pro 15, Team 50. Over the limit, create, fork and start fail with concurrency_limit.
  • Sandbox creates and forks are rate-limited per person and per workspace (rate_limited).
  • Sign-up refuses throwaway email domains.
  • Spend caps live in one place, Billing. The daily cap and the per-sandbox default set there apply everywhere.
  • Free workspaces can start a 7-day Pro trial with no card. Promo codes can be redeemed in Billing.
  • New agent harnesses: pi and Kimi Code. Amazon Bedrock, Vertex AI and DeepSeek work through the AI proxy.
  • GET /v1/concurrency shows how many sandboxes count against the plan limit.
  • Console: a running-sandbox counter, Cmd+K search, a status page backed by GET /v1/status, a Support link, a new sign-in page and a theme switcher.
  • AI agents can sign in to Zode as themselves with AgentID.
  • Fixed: Claude subscription sign-in hung after a refused code.
  • Fixed: a subscription sign-in in progress was lost when the API restarted.
Real sandboxes, CLI, MCP, workspaces
  • Sandboxes run as Cloud Hypervisor microVMs in four sizes, with POST /v1/sandboxes/{id}/exec and a Shell tab in the console.
  • The zode CLI: login, new, ls, ssh, exec, fork, stop, start and rm, with real interactive shells.
  • zode mcp runs an MCP server on stdio for Claude Code, Codex and other agents.
  • Every sandbox has a full dev stack: PostgreSQL and Redis running, Docker, Node 22 with pnpm and yarn, Bun, Python, Go, Rust, SQLite, gh, Chrome, Claude Code and Codex.
  • zode exec and zode ssh take -e KEY=VALUE and --env-file.
  • A sandbox created without a name gets one such as brave-hopper.
  • Secrets are swapped in on the way out by the host’s egress proxy, so sandboxes never see their values.
  • Snapshots save disk and memory together; the console can take, restore and delete them.
  • Use your Claude or ChatGPT subscription for Claude Code and Codex in sandboxes.
  • Workspaces with roles, team members and invites.
  • Console pages for account, environments, agents, CI, webhooks and OpenTelemetry export, alerts, billing and usage.
  • GET /v1/sandboxes filters by status, region and created_by, and every sandbox records who created it.
  • Flight recorder routes: GET /v1/sandboxes/{id}/timeline and /stats.
  • Console sign-in with email and password, email links and Google, plus privacy and terms pages.
  • Fixed: zode exec sometimes printed a read error instead of the command’s exit code.
  • Fixed: an out-of-memory kill ended the whole session. The CLI now reports killed: out of memory and the sandbox keeps working.
First API and console
  • The API is live at https://api.zode.dev, with an audit event for every change and a published OpenAPI spec.
  • The console is live at console.zode.dev, with GitHub sign-in and device approval for CLI sign-in.
  • Usage is metered in micro-dollars against versioned prices, with plans and prepaid credit.
  • Spend caps, a loop breaker for stuck agents, and alerts for out-of-memory kills.
  • The flight recorder samples each sandbox’s CPU and memory every second and records its processes.
  • The AI proxy tries workspace keys in order when one is rate-limited.