Letting an agent run commands on your machine is nerve-wracking. Give it a box instead: a real, isolated Linux environment it can fully take over, that you can throw away when it’s done.
zomg create agent-run
zomg exec agent-run -- bash -lc 'whatever the agent wants to run'
zomg delete agent-run --force
Nothing it does touches your laptop. Delete the box and it’s all gone.

Branch an experiment with a box

Want to try two approaches from the same starting point? Box an existing box and you get a full copy of its filesystem in seconds — cheap, because it’s a copy-on-write snapshot:
zomg create idea-a --fork agent-run
zomg create idea-b --fork agent-run
Each box runs independently. Keep the one that works, delete the rest.

Snapshot a good state

Capture a box you can return to later, or turn it into a reusable starting point for new boxes:
zomg snapshot create agent-run good-state

Keep the agent signed in

Coding agents need their own credentials inside the box. Set up a developer profile once and Zomg syncs Claude Code and Codex logins into every box in the project — no copying tokens around each time. See Coding agent auth.

See what the agent did

Boxes export OpenTelemetry traces for Claude Code and Codex, so you can review an agent’s run after the fact:
zomg observability traces agent-run --agent claude --since 1h

Keep going

Snapshots and bases

Capture box state and turn it into a reusable base.

Coding agent auth

Keep Claude Code and Codex authenticated inside boxes.

Boxes

The box lifecycle, including boxes.

Development

Run agents over SSH and review their traces.