apps/docs/src/content/docs/en/guides/openclaw/openclaw-run-secure-sandbox.mdx
import { TabItem, Tabs } from '@astrojs/starlight/components'
This guide walks you through setting up OpenClaw inside a Daytona sandbox and configuring Telegram and WhatsApp channels.
Running OpenClaw in a Daytona sandbox keeps your AI assistant isolated from your local machine, provides a secure environment for code execution, and ensures your bot stays online 24/7 without tying up your personal computer.
:::note
Already have the CLI? Check your version with daytona --version. If it's below 0.135.0, upgrade to the latest version.
:::
Log in to your Daytona account using your API key:
daytona login --api-key=YOUR_API_KEY
Replace YOUR_API_KEY with your actual Daytona API key.
Create a sandbox for running OpenClaw:
daytona sandbox create --name openclaw --snapshot daytona-medium --auto-stop 0
OpenClaw comes preinstalled in the default Daytona snapshot, so the command above is all you need.
:::note
The --auto-stop 0 flag disables automatic shutdown, keeping OpenClaw accessible until you manually stop or delete the sandbox. The daytona-medium snapshot is required because the OpenClaw gateway needs a minimum of 2GB memory.
:::
SSH into your sandbox:
daytona ssh openclaw
Start the onboarding process:
openclaw onboard
:::note The model provider steps below are for Anthropic. If using a different provider, follow the prompts for your chosen option. :::
Follow the prompts:
anthropic/claude-opus-4-5)When onboarding finishes, the output will display a Dashboard ready section with a dashboard link. Your gateway token is the value after ?token= in the URL. Save this token - you'll need it to connect to the dashboard.
Also, OpenClaw will ask you to Install shell completion script? - choose whatever you prefer, this is optional and doesn't affect functionality.
Run the gateway in the background:
nohup openclaw gateway run > /tmp/gateway.log 2>&1 &
The & runs the gateway as a background process, keeping your terminal free for other commands. The nohup ensures the gateway keeps running even after you close the SSH connection.
The OpenClaw dashboard is a web interface for managing your assistant, monitoring connections, and configuring channels. To access it, you need a preview URL that exposes the gateway port running inside your sandbox.
In your local terminal (not inside the sandbox SSH session), generate the preview URL:
daytona preview-url openclaw --port 18789
This command generates a signed preview URL that securely exposes the port.
Open the URL in your browser, go to the Overview section, paste your gateway token in the Gateway Token field, and click Connect.
:::tip
The preview URL expires after 1 hour by default (customizable with --expires flag). When it expires, simply run the same CLI command to generate a new one.
:::
OpenClaw uses device pairing as a security measure - only approved devices can connect to and control your assistant. When you first attempt to connect from the dashboard, your browser registers as a new device that needs approval.
List pending device requests:
openclaw devices list
Approve your device:
openclaw devices approve REQUEST_ID
Replace REQUEST_ID with the value from the Request column.
Click Connect again in the dashboard.
Once connected, you should see a green status indicator - your OpenClaw is now ready to use.
Running OpenClaw this way provides three layers of security:
Even if someone obtains your dashboard URL, they cannot connect without the gateway token and an approved device.
:::caution Keep your gateway token and preview URL secret. Do not share them publicly. :::
Set up a Telegram bot to chat with OpenClaw.
/start, then /newbotEnable Telegram and set your bot token:
openclaw config set channels.telegram.enabled true
openclaw config set channels.telegram.botToken YOUR_BOT_TOKEN
Verify the configuration:
openclaw config get channels.telegram
openclaw gateway stop
nohup openclaw gateway run > /tmp/gateway.log 2>&1 &
openclaw pairing approve telegram PAIRING_CODE
You can now message your OpenClaw through Telegram.
Set up WhatsApp to chat with OpenClaw.
openclaw config --section channels
When prompted:
Open WhatsApp on your phone, go to Settings → Linked Devices → Link a Device, and scan the QR code displayed in your terminal.
Once paired, you'll see:
✅ Linked after restart; web session ready.
Select This is my personal phone number (or choose the other option if you have a separate phone for OpenClaw) and enter your phone number when prompted.
When prompted to select another channel, choose Finished. You'll see:
└ Configure complete.
Send a message to yourself in WhatsApp - OpenClaw will respond. You can give it instructions and information on how to behave directly in the chat.
:::tip To allow other users to chat with OpenClaw, add their phone numbers to the Allow From list in Channels → WhatsApp inside the dashboard. When they send a message, OpenClaw will respond. :::