Skip to main content
Machines are stateful Linux VMs with persistent /home/machine storage. Files written in one execution are visible in the next. The machine stays running until you sleep or delete it.

Run a command

Commands follow execve(2) conventions. No shell. Wrap in ["/bin/bash", "-c", "..."] if you need one.
dedalus machines exec --machine-id dm-<id> -- whoami

Patterns

dedalus machines exec --machine-id dm-<id> -- apt-get install -y python3-pip
dedalus machines exec --machine-id dm-<id> -- bash -c "cd /home/machine && git clone https://github.com/org/repo"
dedalus machines exec --machine-id dm-<id> -- bash -c "cd /home/machine/repo && python -m pytest -v"
Python
exec_cmd(client, "dm-<id>", ["/bin/bash", "-c",
    "nohup python server.py > /tmp/server.log 2>&1 &"])
dedalus machines exec --machine-id dm-<id> -- cat /home/machine/repo/output.json
dedalus machines exec --machine-id dm-<id> -- bash -c "echo 'hello' > /home/machine/test.txt"
CLI
dedalus machines exec --machine-id dm-<id> -- bash -c "free -h && df -h /home/machine"
All paths under /home/machine persist across executions and across sleep/wake cycles. The root filesystem is ephemeral.
Last modified on April 9, 2026