Private beta · Linux + WSL2

Run untrusted AI agents safely on any computer.

Portable sandboxes with enforceable permissions. Every agent gets its own microVM and a policy you control.

Linux and Windows (WSL2) today; macOS planned

One microVM per agent.

Its own kernel, your directory mounted in. Snapshot, pause and resume with memory, disk and processes.

$ smx create -c sandbox.yaml $ smx agent run <name> \ --harness claude "prompt"
sandboxesillustrative
SandboxStateHarnessPolicyDenials
api-refactorrunningopencodeacme-api1
docs-sweeprunningclaudedocs-ro0
migrate-testspausedcodexacme-api0
triage-botsnapshotopencoderead-only0

The agent asks. The policy decides.

Short YAML you review like code, enforced by the gateway outside the agent.

$ git push origin main remote: vc-serve: push refused ! [remote rejected] main
git policyyaml
github:acme/api: read: true push: {branches: ["agent/**"]}
push to mainblocked
filesystem policyyaml
fs: allow: [rw:~/app=/workspace/app] deny: [~/app/.env]
secret accessblocked

Credentials stay on the host.

Git tokens and SSH keys never enter the sandbox. The gateway uses them on the agent's behalf, only where policy allows.

$ cat /workspace/app/.env cat: /workspace/app/.env: Permission denied
credentials · api-refactorillustrative
CredentialHeld byInside sandboxUsed for
Git tokenhost gatewaynogithub:acme/api · agent/**
SSH keyhost gatewaynoallowed hosts, commands
~/app/.envyour disknofs deny

Every refusal, on the record.

Every refusal is recorded in the agent log; one command streams it.

$ smx agent logs <run-id> -f
denials.jsonljsonl
{"op":"read","path":"/workspace/app/.env","reason":"denied by fs policy"}
smx agent logs <run-id>recorded

Bring your harness.

Run the agent you already use. The policy applies the same way to each one.

Claude Code
Codex
OpenCode
Your harness
Security

Sandbox isolation isn't enough.
We govern what agents do.

microVM · api-refactorown kernel
egress rules
no credentials
microVM · docs-sweepown kernel
egress rules
no credentials

Isolation

Each agent runs in its own microVM, from a laptop to a fleet you own.

RequestDecision
read /workspace/app/srcallow
push agent/fix-authallow
push maindeny
read /workspace/app/.envdeny

Permissions

Files, Git and SSH, decided per agent and enforced outside it.

runningsnapshotpausedresumed
memory · disk · processessmx snapshot

Snapshots

Pause and resume with full state. Restore it on another machine.

{"op":"read","path":"/workspace/app/.env","reason":"denied by fs policy"}
$ smx agent logs <run-id>recorded

Audit log

Tamper-evident. Ship denials anywhere.

Illustrative previews

Compare

Isolation plus governance.

Pick a capability to see who covers it.

File, Git, SSH permissions

Directories, repos and branches, hosts and commands, decided per agent.

Public docs, Oct 2026. Partial and limited are shown as half bars. See every column →

Give your next agent a microVM and a policy.

Private beta. smx runs on Linux and Windows (WSL2) today; macOS planned.

$ smx create -c sandbox.yaml $ smx agent run <name> --harness claude "prompt"