Run Claude Code, Codex and OpenCode in a sandbox of the ubuntu template, with the API key of their vendor, a subscription, or the open models of Munito AI.
The ubuntu template has Claude Code (claude), Codex (codex) and OpenCode (opencode) installed. In a sandbox, an agent has a Linux computer of its own: it installs packages, runs tests and Docker, and changes files, and none of it reaches your machine.
| Harness | Vendor API key | Subscription | Open models of Munito AI |
|---|---|---|---|
| Claude Code | ANTHROPIC_API_KEY | Claude Pro or Max, signed in over SSH | Anthropic-compatible endpoint |
| Codex | CODEX_API_KEY | ChatGPT, signed in over SSH | Responses API |
| OpenCode | The provider's key | GitHub Copilot, OpenCode Zen or Go | OpenAI-compatible provider |
How a harness runs in a sandbox
- Create a sandbox from
ubuntu, and put the keys of the harness inenv. Every command and every SSH shell of the sandbox gets that environment. - Run one task with a command, or open a shell over SSH and use the harness in its terminal UI.
- Read the result from the output of the command, or from the files of the sandbox.
curl -sS --fail-with-body https://api.munito.ai/sandboxes/v1/sandboxes \
-H "Authorization: Bearer $MUNITO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"template": "ubuntu", "timeout": 3600, "env": {"ANTHROPIC_API_KEY": "sk-ant-..."}}'- Commands and SSH shells run as root. Each page gives the flags that let its harness work without asking for approval, as root.
- A command runs for at most 30 minutes. For a longer task, start the harness in the background with
nohupand read its log with later commands, or run it intmuxover SSH (apt-get install -y tmux). - To keep the work of an agent across pauses, create a persistent sandbox.
Keep keys safe
- Every program in the sandbox can read its environment, the agent included. Give the sandbox a key that you can revoke, with the smallest permission and spend limit that the task needs.
- To give a key to one command only, put it in the
envof that command, not of the sandbox. - Sign in to a subscription inside the sandbox, over SSH. Its sign-in then stays in the sandbox and never passes through the API.
- Delete the sandbox when the task ends, or let its timeout end it.
Sandboxes Preview
Start a Linux microVM for your code, run commands in it, read and write its files, reach its ports and open SSH to it, and pause, resume and fork it.
Claude Code Preview
Run Claude Code in a sandbox of the ubuntu template, with an Anthropic API key, a Claude subscription, or the open models of Munito AI.