A cross platform virtual machine for running OpenClaw, the open-source AI agent. Provides a hardened sandbox with firewall rules, optional local inference via Ollama, and remote access over SSH.
- One-Command Install — Get up and running instantly. A simple
curlscript automates the installation of VirtualBox, Vagrant, and the CLI. - Cross-Platform — Native support for macOS (Intel & Apple Silicon) and Linux (Debian, Fedora, Arch) with automatic architecture detection.
- Isolation — A full VM boundary with no shared folders and a hardened UFW firewall keeps your host system untouchable.
- Sandboxed Secrets — Agent skills are strictly restricted; they cannot access host files or internal VM credentials.
- Modular Inference — Install Ollama only if you want local models. Skip it to save disk space and RAM when leveraging cloud providers.
- Hot-Swapping — Change models, add skills, or update API keys from inside the VM without re-provisioning.
- Headless Hosting — Deploy on a Mac Mini or home server and SSH in from any device on your local network.
curl -sSL https://raw.githubusercontent.com/DaevMithran/openclaw-vm/main/install.sh | bashThis detects your OS and installs VirtualBox and Vagrant using the appropriate package manager (Homebrew on macOS, apt/dnf/pacman on Linux), then clones the repo and adds openclaw-vm to your PATH.
openclaw-vm startopenclaw-vm ssh
openclaw onboard # Interactive setup (first time)Or skip onboard by providing an existing config:
openclaw-vm start --config ~/openclaw.jsonValidate your config at any time:
openclaw config validateopenclaw-vm ssh
openclaw gateway # Start the gateway
openclaw status # Check it's runningVisit http://localhost:18789 in your browser for WebChat, or use openclaw tui inside the VM for a terminal interface.
Use flags with openclaw-vm config for VM resources:
openclaw-vm config --ram 16384 --cpus 8
openclaw-vm config --ollama
openclaw-vm config --no-ollama
openclaw-vm config --password my-secure-password
# Apply changes to a running VM
openclaw-vm provisionOnce inside the VM, use OpenClaw's built-in commands to configure models, API keys, skills, and channels:
openclaw onboard # Interactive setup (first time)
openclaw config # Validate config
openclaw gateway # Start the gateway
openclaw status # Check status
openclaw tui # Terminal chat interfaceHost the VM on a Mac Mini or server and SSH in from other devices on your LAN.
Set a SSH password via the interactive wizard or CLI flags:
openclaw-vm config --password your-strong-password
openclaw-vm provisionThen connect from any machine on the network:
ssh vagrant@<host-ip> -p 2222Password auth is opt-in. If no password is set, SSH uses Vagrant key-only (host only). When enabled, SSH is hardened automatically: root login disabled, max 3 auth attempts.
The VM runs headlessly by default (no GUI window). Deploy it on a Mac Mini or home server and manage it entirely over SSH:
# On the server
openclaw-vm start
openclaw-vm ssh -c "openclaw gateway"openclaw-vm/
├── openclaw-vm # CLI wrapper (start, stop, ssh, config, provision)
├── install.sh # One-line installer (curl | bash)
├── Vagrantfile # VM definition (VirtualBox / ARM64)
├── config/ # Generated at first run (gitignored)
├── scripts/
│ ├── provision.sh # System provisioning (root): Node, firewall, SSH, optional Ollama
│ └── user-setup.sh # User setup: OpenClaw install, workspace
└── README.md
Contributions are welcome. Please open an issue first to discuss what you'd like to change.
MIT
Like this project? Donate via PayPal and support continued improvements.

