Moltbot on macOS VMs (Sandboxing)
Scope
Use this page when:
- You want Moltbot isolated from your main macOS environment
- You want iMessage integration (BlueBubbles) in a sandbox
- You want a resettable macOS environment you can clone
- You want to compare local vs hosted macOS VM options
Recommended default (most users)
- Small Linux VPS for an always-on Gateway and low cost. See VPS hosting.
- Dedicated hardware (Mac mini or Linux box) if you want full control and a residential IP for browser automation. Many sites block data center IPs, so local browsing often works better.
- Hybrid: keep the Gateway on a cheap VPS, and connect your Mac as a node when you need browser/UI automation. See Nodes and Gateway remote.
Use a macOS VM when you specifically need macOS-only capabilities (iMessage/BlueBubbles) or want strict isolation from your daily Mac.
macOS VM options
Local VM on your Apple Silicon Mac (Lume)
Run Moltbot in a sandboxed macOS VM on your existing Apple Silicon Mac using Lume.
This gives you:
- Full macOS environment in isolation (your host stays clean)
- iMessage support via BlueBubbles (impossible on Linux/Windows)
- Instant reset by cloning VMs
- No extra hardware or cloud costs
Hosted Mac providers (cloud)
If you want macOS in the cloud, hosted Mac providers work too:
- MacStadium (hosted Macs)
- Other hosted Mac vendors also work; follow their VM + SSH docs
Once you have SSH access to a macOS VM, continue at step 6 below.
Quick path (Lume, experienced users)
- Install Lume
lume create moltbot --os macos --ipsw latest- Complete Setup Assistant, enable Remote Login (SSH)
lume run moltbot --no-display- SSH in, install Moltbot, configure channels
- Done
What you need (Lume)
- Apple Silicon Mac (M1/M2/M3/M4)
- macOS Sequoia or later on the host
- ~60 GB free disk space per VM
- ~20 minutes
1) Install Lume
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)"If ~/.local/bin isn’t in your PATH:
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc && source ~/.zshrcVerify:
lume --versionDocs: Lume Installation
2) Create the macOS VM
lume create moltbot --os macos --ipsw latestThis downloads macOS and creates the VM. A VNC window opens automatically.
Note: The download can take a while depending on your connection.
3) Complete Setup Assistant
In the VNC window:
- Select language and region
- Skip Apple ID (or sign in if you want iMessage later)
- Create a user account (remember the username and password)
- Skip all optional features
After setup completes, enable SSH:
- Open System Settings → General → Sharing
- Enable “Remote Login”
4) Get the VM’s IP address
lume get moltbotLook for the IP address (usually 192.168.64.x).
5) SSH into the VM
Replace youruser with the account you created, and the IP with your VM’s IP.
6) Install Moltbot
Inside the VM:
npm install -g moltbot@latest
moltbot onboard --install-daemonFollow the onboarding prompts to set up your model provider (Anthropic, OpenAI, etc.).
7) Configure channels
Edit the config file:
nano ~/.moltbot/moltbot.jsonAdd your channels:
{
"channels": {
"whatsapp": {
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567"]
},
"telegram": {
"botToken": "YOUR_BOT_TOKEN"
}
}
}Then login to WhatsApp (scan QR):
moltbot channels login8) Run the VM headlessly
Stop the VM and restart without display:
lume stop moltbot
lume run moltbot --no-displayThe VM runs in the background. Moltbot’s daemon keeps the gateway running.
To check status:
ssh [email protected] "moltbot status"Bonus: iMessage integration
This is the killer feature of running on macOS. Use BlueBubbles to add iMessage to Moltbot.
Inside the VM:
- Download BlueBubbles from bluebubbles.app
- Sign in with your Apple ID
- Enable the Web API and set a password
- Point BlueBubbles webhooks at your gateway (example:
https://your-gateway-host:3000/bluebubbles-webhook?password=<password>)
Add to your Moltbot config:
{
"channels": {
"bluebubbles": {
"serverUrl": "http://localhost:1234",
"password": "your-api-password",
"webhookPath": "/bluebubbles-webhook"
}
}
}Restart the gateway. Now your agent can send and receive iMessages.
Full setup details: BlueBubbles channel
Save a golden image
Before customizing further, snapshot your clean state:
lume stop moltbot
lume clone moltbot moltbot-goldenReset anytime:
lume stop moltbot && lume delete moltbot
lume clone moltbot-golden moltbot
lume run moltbot --no-displayRunning 24/7
Keep the VM running by:
- Keeping your Mac plugged in
- Disabling sleep in System Settings → Energy Saver
- Using
caffeinateif needed
For true always-on, consider a dedicated Mac mini or a small VPS. See VPS hosting.
Troubleshooting
| Problem | Solution |
|---|---|
| Can’t SSH into VM | Check “Remote Login” is enabled in VM’s System Settings |
| VM IP not showing | Wait for VM to fully boot, run lume get moltbot again |
| Lume command not found | Add ~/.local/bin to your PATH |
| WhatsApp QR not scanning | Ensure you’re logged into the VM (not host) when running moltbot channels login |
Related docs
- VPS hosting
- Nodes
- Gateway remote
- BlueBubbles channel
- Lume Quickstart
- Lume CLI Reference
- Unattended VM Setup (advanced)
- Docker Sandboxing (alternative isolation approach)