A remote computer for your agent
Your coding agent gets a real machine. You keep the controls.
ParallelSandbox gives Claude Code, Codex or any MCP agent a box: a Linux machine with Docker, a browser on a virtual display, screenshots and recordings, all driven through MCP tools. There is no AI in the box. When the agent needs a person, you take over the live screen from the browser or the desktop app.
One command to connect
Create an API key in the app, then add the MCP server to Claude Code:
claude mcp add --transport http parallelsandbox https://mcp.parallelsandbox.com/mcp \
--header "Authorization: Bearer psbx_YOUR_KEY"Other clients use the stdio adapter from npm, npx -y parallelsandbox-mcp, with PARALLELSANDBOX_API_KEY in the environment. Details in the quick start.
What a box is
A whole machine, not a container
2 vCPU, 16 GB of memory, its own Docker daemon. docker compose stacks, native builds, anything that needs a real host.
A screen you can see
An Xvfb display with Chromium. Headed browser tests, screenshots, mp4 recordings, and a live view for people.
Wiring for mixed stacks
Run only the service you changed in the box and point the unchanged ones at your own environment, by name.
Hand-over to a person
sandbox_takeover pauses the agent, gives a human the live screen, and returns their note when they hand back.
Browser logs for the agent
Pages running in a box report errors through the log SDK; logs_errors returns them with stacks resolved through source maps.
Ready in seconds
A warm box is claimed in under 15 seconds, a cold one starts in under 90. No time limit while your credits last.
How a task runs
Every step is one MCP tool call made by your agent.
Start
sandbox_start with the services your repo exposes. Secrets are injected only when named.
Put the code in
git clone for committed work, sandbox_sync for the uncommitted checkout.
Build, run, wire
docker compose up, then sandbox_wire so everything on the box finds each service by name.
Test and show
Run the tests headed on the display; sandbox_shot records, sandbox_get brings files back as download links.
Stop
sandbox_stop destroys the box. Nothing survives except what you fetched.
Fifteen tools, one contract
sandbox_start, sandbox_exec, sandbox_sync, sandbox_get, sandbox_wire, sandbox_shot, sandbox_status, sandbox_stop, sandbox_publish_version, sandbox_versions, sandbox_takeover, sandbox_secrets, logs_search, logs_errors, logs_tail. The same names over streamable HTTP and the stdio adapter.
People stay in the loop
Logins, two-factor codes, CAPTCHAs, payments: the agent asks, you act on the live screen from the browser or the desktop app, then hand back with a note. While a person is connected, the agent's commands pause.
Logs without copy-paste
Add @parallelsandbox/log to a page. Errors and console output reach your project with release, URL and box id, and the agent queries them directly.
Pay for what runs
Credits: one credit is US$0.001, and every usage is billed at cost times 1.5. A running box is about 100 credits an hour, by the minute. Free accounts get 500 credits that never expire.
Built for our own agents first
ParallelSandbox runs the AI employees of CubeLV as one tenant among others: the same MCP, the same boxes, the same takeover flow. What you get is what we use.