A workspace for
your agent.
Run code, work with files, and give your agent a real machine. Ephemeral sandboxes on Condensation’s own infrastructure.
Sign in with your Codegraff account, add purchased wallet credits, and create a scoped API key. Set CONDENSATION_API_KEY in your local environment.
Start with the SDK
Launch a ten-minute sandbox, run a command, then clean up. Keep the request ID if you need to retry the launch.
npm install condensationai@^0.2.0import { Condensation } from 'condensationai';
const client = new Condensation(); // CONDENSATION_API_KEY
console.log(await client.fleet.pricing());
const requestId = crypto.randomUUID(); // keep for an explicit retry
const box = await client.fleet.create({ requestId, leaseSeconds: 600 });
if (box.state === 'running') {
try { console.log(await client.fleet.run(box.id, 'python3 --version')); }
finally { console.log(await client.fleet.delete(box.id)); }
} else { console.log(await client.fleet.get(box.id)); }Connect your local agent
Give an MCP-compatible agent access to your sandboxes. Install the Python package, then add this server to its local, private MCP configuration.
pip install 'condensationai>=0.2.0'{
"mcpServers": {
"condensation": {
"command": "condensation-mcp",
"env": {
"CONDENSATION_API_KEY": "cnd_sk_your_account_key"
}
}
}
}Connect this MCP bridge to your signed-in agent. Device-code login is only needed when Codex runs inside the VM.
Your agent can read prices, list, create, inspect, run commands, transfer files, and delete sandboxes. Ask it to check pricing before launch and delete the workspace when finished. Commands are limited to 60 seconds; file transfers to 1 MB.
Open the console’s interactive terminal and choose Codegraff (the default), Codex, Claude Code, or Cursor CLI. Each uses its own sign-in and model billing. Run condensation-env to see tested versions. New images are refreshed daily after validation; running workspaces keep their installed versions.
Run Codex inside the VM
For an agent that lives in the sandbox, install Codex there and sign in using your browser. Start with this account setting.
Enable device-code authorization
Open ChatGPT → Settings → Security ↗ in your browser.
SETTING TO ENABLEEnable device code authorization for CodexAlready on? Continue. If your workspace manages this setting, ask its admin to enable device-code login.
Launch a VM with Codex ready
Follow the Codex-in-VM installation guide ↗ for the full setup. Codex, Claude Code, Cursor CLI, and Codegraff are preinstalled.
Sign in from the VM
Inside your VMcodex login --device-authOpen the printed OpenAI device URL in your browser, enter the code from that login, and approve it.
Confirm you’re connected
Inside the same VMcodex login statusYou’re ready to work. The VM’s login and files disappear when its lease expires.
Never share device codes. OpenAI authentication guide ↗
Small machines. Bounded spend.
$0.07953 / hour
2 vCPUs · 2000 MiB · 20 GiB writable storage
Unused credit returns after
confirmed cleanup.
Each launch reserves the maximum lease cost from purchased Codegraff wallet credits. Monthly bonus credits do not cover compute.
- Lease duration
- 1–30 minutes
- Concurrency
- 2 per account · 4 across the pool
- Runtime
- Bun · Python 3.14 + uv · Zig · Rust · Git
- Storage
- 20 GiB writable layer; cleared at deletion or expiry
Pause, resume, persistent disks, and public ports are not available in this preview.
How the exact price is calculated
$0.03 per vCPU-hour + $0.01 per GiB-hour. With 2 vCPUs and 2000 MiB (1.953125 GiB), the exact total is $0.07953125 per hour. Usage is measured in seconds. The final charge rounds up once to a millionth of a dollar.
Lifecycle & retries
A launch response was lost. What now?
Keep the same requestId and launch details when retrying. The SDK does not retry mutations automatically. An uncertain response retains the reservation until cleanup is confirmed. A fresh request creates a separate paid lease.
When is a sandbox fully deleted?
A delete response can still show terminating. Refresh until the sandbox reaches terminated or failed. Unused reserved credit returns after deletion is confirmed.
How does this relate to gateway sandboxes?
The original client.create() and /v1/sandboxes use the existing gateway provider and pricing. Use client.fleet and /v1/fleet/sandboxes for Condensation’s own infrastructure. Usage is attributed to the same Codegraff account.