Runtime changelog, 16 October 2026
What shipped in Runtime Cloud on 16 October 2026: identity tokens in Python and copied programs; private preview link expiry; enterprise features on the pricing page; retrying a create refused for no room; identity tokens in long-running programs; referral share after a refund or a lost dispute; someone leaving no longer deletes what they stored; faster console pages; pay per call credits even after an interruption; pause vs stop a sandbox; open a sandbox in your editor in one step; blaxel session default length; usage export and held credit; HTTP/2 to the hosts your secrets name; a restart runs the image's start command again; and identity tokens in scheduled jobs, documented.
Identity tokens in Python and copied programs
Python's Sandbox.identity_token() (0.13.1) now asks again with the sandbox's current request token when the one a program started with is refused, as the TypeScript SDK does, and both SDKs (TypeScript 0.15.1) read it from the sandbox itself first, so a server carried into a fork gets a token naming its own sandbox instead of a 403. See identity tokens.
Private preview link expiry
A WebSocket, stream or download opened with a private preview's link now ends when that link expires, so a link made to last ten minutes, or one read through a sandbox session, opens nothing past its end. Open it again with a fresh link. See private preview tokens.
Enterprise features on the pricing page
The pricing page now lists single sign-on, SCIM directory sync, roles, the audit log, two-step sign-in, key limits and compartments, the data processing addendum and the uptime promise, each free on every account with no enterprise plan or seat fee. See pricing.
Retrying a create refused for no room
The API guide now says a request refused before it ran, such as a create answered no_capacity, is not replayed: retrying with the same Idempotency-Key runs it again, and the create reference names the refusal and its Retry-After. See retries and idempotency.
Identity tokens in long-running programs
A program that runs for a long time inside a sandbox, such as a server or an agent, now keeps getting identity tokens after the sandbox's request token changes: the TypeScript SDK asks again with the sandbox's current one instead of failing with a 403. See identity tokens.
Referral share after a refund or a lost dispute
If every matched payment from someone you referred is refunded or disputed, their use no longer earns you a monthly share. If they lose a dispute, your share now starts again after one month instead of stopping for good. See referrals.
Someone leaving no longer deletes what they stored
When a member is removed, or your directory suspends them, the disks, snapshots, volumes and images they made stay on the account's credit like anything else. Until now their storage stopped being paid for and was deleted seven days later, with a notice that blamed missing credit. A storage item still stops only when the account itself has no credit, hits a spending limit, or is suspended. See teams.
Faster console pages
Agents & API keys, Networking, Secrets, Webhooks, Two-step sign-in, Audit log, Limits, Support and Close account now download about a quarter less code, and Home, Usage & billing and each sandbox's page less too, so they open sooner on a slow connection. A mistyped address's "not found" page is lighter as well. See the quickstart.
Pay per call credits even after an interruption
A sandbox paid for per call over HTTP 402 is now credited to the paying wallet's account within minutes, even if our server stopped right after sending your transfer and you never used the claim code. See pay with stablecoins.
Pause vs stop a sandbox
One table now shows what a pause, a stop and a delete each keep, how the sandbox comes back, when each happens on its own and what each costs. See pause, stop or delete.
Open a sandbox in your editor in one step
runtime sandboxes code <id> opens the sandbox in VS Code over SSH, and --editor cursor or --editor windsurf in Cursor or Windsurf. It sets up the SSH entry the first time and installs an SSH server in a sandbox without one. See SSH and editors.
Blaxel session default length
With the Blaxel drop-in, sandbox.sessions.create() with no expiresAt now makes a session that lasts a full day, as Blaxel's does, instead of a second less. See moving from Blaxel.
Usage export and held credit
The API guide now says which charges the usage export leaves out: credit held for work still running is not in it, and becomes a row once it settles. See export settled usage.
HTTP/2 to the hosts your secrets name
A sandbox's HTTPS requests to a host that one of your secrets names now go over HTTP/2 when your client and the host both offer it, as they already did to every other host. Concurrent calls to that host share one connection instead of each taking one of the sandbox's connections, and gRPC works there too. Each request is still checked on its own: its host, its rules and where the value goes. See security.
A restart runs the image's start command again
A sandbox from an image with a start command (a Dockerfile CMD, or start in images.build) now runs it again after a stop and :restart, a :resize, or a getOrCreate that restarts it, and reports it in start as a create does. Before, the server it started was gone until started by hand. See images.
Identity tokens in scheduled jobs, documented
The jobs and identity tokens guides now say that a job's run has RUNTIME_ID_TOKEN_REQUEST_URL and RUNTIME_ID_TOKEN_REQUEST_TOKEN, as any sandbox does, so a job can get a token for AWS, Google Cloud or your own API with no stored key.