Run a sandbox as root with one setting
POST /v2/sandboxes and POST /v2/sandboxes/{id}:update take user: runtime (the default: uid 1000, with passwordless sudo) or root. Every exec and process in the sandbox runs as that user when the call names no user; a call's own user still overrides it for that call. An image kept from a sandbox keeps its user as the default for sandboxes created from it, and a fork or a copy of a snapshot keeps its source's. Every SDK takes it: create({ user: "root" }). The per-call value sandbox is now runtime; /v1 and the MCP tools still take sandbox.
Same day.
- Catalog MCP servers in a sandbox are withdrawnGET /v1/mcp/catalog and /v1/sandboxes/{id}/mcp return 404 route_not_found, with a message that says what to use instead.
- A paused sandbox wakes for its own timersA sandbox paused after its idle seconds wakes by itself shortly before the soonest timer of one of its processes is due: a sleep, a poll…
- Environment variables on createPOST /v2/sandboxes and POST /v1/sandboxes take env: up to 32 variables and 32,768 bytes of names and values, set for every command and pr…
- Resize a running sandboxPOST /v2/sandboxes/{id}:update takes vcpu, memoryGB and diskGB (and POST /v1/sandboxes/{id}:resize takes vcpu, memoryMiB and diskMiB).
- Job secrets can be deleted, and their names reusedPOST /v1/secrets/{id}:delete deletes a job secret (with an optional expectedVersion), and GET /v1/secrets/{id} returns one.
- A fork makes all its copies or nonePOST /v2/sandboxes/{id}:fork with count is admitted as one start: when the copies together would pass one of your limits (running vCPU or…
- Network rules on createPOST /v2/sandboxes takes network (the same {default, rules} that PUT /v2/sandboxes/{id}/network takes), and POST /v1/sandboxes and the ru…
- A command runs to its endPOST /v2/sandboxes/{id}:exec (and /v1/sandboxes/{id}:exec, and the runtime_sandboxes_exec MCP tool) with no timeoutMs no longer stops the…