What changed, newest first.
exec.nproc=1. Both cores are now live at start, with no change on your side.mcp.getsolari.com, with no local @solarisdk/mcp install.Retry-After header, instead of holding your connection open for four minutes. Your retry then arrives once a slot has actually freed.solari_drag, plus solari_mouse_down / solari_mouse_move / solari_mouse_up for press-hold-release. Update to @solarisdk/mcp 0.4.5.GET /api/v1/usage/sessions (and /:id) returns proxy GB, compute minutes and actual billed cost per browser session, plus totals over any date range.503.503s.active — a session never connected, or past its deadline, is now torn down and reported released by GET /sessions/:id.doubleClick and button (left, right, middle) to the MCP solari_click tool, so agents can open icons with a real double click and reach context menus. Update to @solarisdk/mcp 0.4.4; existing calls are unchanged.record: true now returns recordingUrl on create and on GET /sandboxes/:id, with no second lookup. Needs @solarisdk/sdk 0.1.3 or solari-sandbox 0.2.1.revert() — a recording started after a revert now uploads to the same playback URL instead of being dropped. An in-progress recording still ends at the revert, since a revert replaces the machine.disk_gb on fresh creates — up to 20 GB, grown and expanded before your first command runs (the default template is 4 GB). Machines created from_snapshot keep their snapshot’s disk, and requests above the cap return 400 rather than being silently clamped.POST /profiles/{id}/login-handoff now opens without a Solari account, so you can hand it straight to your user. Single-use, bound to one profile, expires after 30 minutes or the moment the sign-in is saved.revert() and made it safe by construction — it boots a fresh VM from your snapshot and swaps it in only once it is up, so a failed revert cannot take your running machine down.from_snapshot, and deletion of ancestor snapshots while descendants exist, so fork → patch → re-snapshot lineages behave as documented.409 NotRunning, and concurrency errors now say how many slots are held by in-flight creates versus running sessions.webBotAuth option — it never signed anything, and passing it now returns 400. If verified bot identity matters to you, tell us at hello@getsolari.com.slr_live_ key, not just from the dashboard. An API create on Free previously returned 402./ws sessions were already isolated.Idempotency-Key and you get the original machine, never a duplicate. A reused key with a different request returns 409.timeoutMs, cpu / memMb or lifecycle now returns 400 before anything is created, instead of quietly starting a default machine.slr_live_ key now works immediately instead of being rejected for a couple of minutes.running after they have ended.401.connectOverCDP clients (such as browser-use) — replays now capture the full session, including the final events.Browser, sandbox, and desktop requests now go through one host. Point any SDK at one base URL instead of a hostname per product.
api.getsolari.com reach the right backend automatically.us-west-1.A single slr_live_ key now works for browsers, sandboxes, and desktops. Previously each product used a separate credential.
@solarisdk/mcp) for calling Solari from Claude and other agents.solari-core, solari-sandbox, solari-desktop, and solari-browser to match the npm layout.Two compute products in addition to the browser. Both boot from a memory snapshot and are usually ready in about a second.
previewUrl(port) returns a public *.preview.getsolari.com URL for a port running inside a sandbox or desktop.
Cloud Chrome driven with Playwright or a CDP client. Includes stealth mode, managed proxies, captcha solving, profiles, and session recording.
What the API does today. GA is generally available; Beta is available and still stabilizing. Reference: docs.getsolari.com.
| Capability | What it does | Status |
|---|---|---|
| Playwright and CDP | launch() returns a Playwright browser; or take a cdpEndpoint for any CDP client. | GA |
| Stealth mode | Reduces bot detection from Cloudflare, DataDome, Akamai, and PerimeterX. | GA |
| Managed proxies | Residential, ISP, and mobile egress in 15 countries, with sticky sessions and geo-targeting. | GA |
| Profiles | Persist logins, cookies, and site data across runs. | GA |
| Recording | Capture a session and get a replay URL. | GA |
| Captcha solving | reCaptcha, hCaptcha, and Turnstile. | GA |
| Capability | What it does | Status |
|---|---|---|
| Commands and PTY | Run a command to completion, stream a long-running process, or open an interactive PTY. | GA |
| Code execution | Run snippets in a stateful kernel with stdout, stderr, and inline plots. | GA |
| Files and git | Filesystem API plus clone, commit, push, and pull with per-call credentials. | GA |
| Snapshots and templates | Save, revert, and fork state; promote a snapshot to a reusable template. | GA |
| Custom images | Build a template from your own apt, pip, and run steps. | Beta |
| Persistent volumes | Create org-scoped volumes and mount them into machines at create time; data survives the machine and is readable from the next one. | Beta |
| Structured charts | Return typed chart data alongside code output. | Beta |
| Capability | What it does | Status |
|---|---|---|
| VNC streaming | A live desktop stream with working mouse and keyboard input. | GA |
| Computer-use | Mouse, keyboard, and screenshots. | GA |
| Desktop control | Exec, filesystem, clipboard, launch app by name, process control, and resize. | GA |
| Screen recording | Record the session to an mp4 URL. | GA |
| Re-attach | Reconnect to a VM by id; a paused desktop resumes on reconnect. | GA |
| Capability | What it does | Status |
|---|---|---|
| One key and auth | A single slr_live_ key and one org identity across products. | GA |
| Console | Machines created from the SDK show up in the console and can be viewed live. | GA |
| Metering and quotas | Usage metering and per-plan concurrency limits. | GA |
| Organizations | Workspaces, roles, invite links, and shared keys. | GA |
| SDKs | TypeScript, Python, Go, Rust, C++, and an MCP server. | GA |