
I'll be honest—when I first heard about Clawdbot (now rebranded as OpenClaw) a few weeks back, I had that immediate security alarm going off in my head. An AI agent running with Discord permissions, making API calls, potentially accessing who knows what? As someone who's spent years in developer experience, the threat model here was... concerning.
But then I started seeing folks in the community actually using it—spinning up Digital Ocean droplets, deploying to Railway.
So I decided to try it, but on my terms: isolated, observable, and disposable. Which is why I chose exe.dev, but this can work on the platform of your choice.
I've known about exe.dev for months—it's this clever service that gives you ephemeral VMs that you can spin up and tear down instantly. Perfect for experiments you're not 100% sure about. If OpenClaw does something weird or I misconfigure something, I just nuke the VM and start fresh. No damage to my local machine, no persistent infrastructure to maintain.
Think of it as a playground where mistakes are cheap.
💡 Pro Tip: Add Telemetry from Day One
Before you start, consider adding tapes as a proxy layer. It records every API call OpenClaw makes, giving you visibility into prompts, token usage, and agent behavior. The official guide has details, or follow the optional setup in Step 7 below. Trust me—you'll want this data when debugging why your agent did something unexpected.
Before we dive in, grab these:
Here's where exe.dev really shines. They have an OpenClaw template that handles most of the setup:
I'm going to walk you through the manual setup though, because understanding what's actually happening is half the value here.
ssh exe.dev new
# You'll get a VM name like: curious-tesla-8432
ssh curious-tesla-8432.exe.xyz
You're now inside an Ubuntu VM that exists just for you, accessible from anywhere.
This is surprisingly straightforward:
# Get the system ready
sudo apt-get update
sudo apt-get install -y git curl jq ca-certificates openssl nginx
# Install OpenClaw via their script
curl -fsSL https://openclaw.bot/install.sh | bash
# Run the onboarding (we're skipping interactive prompts)
openclaw onboard --non-interactive --accept-risk
That --accept-risk flag made me pause. It's OpenClaw's way of acknowledging that yes, you're running an AI agent with real permissions. I appreciate the directness.
OpenClaw runs on port 18789 internally, but we want to access it via standard web ports. This is where nginx comes in.
Edit /etc/nginx/sites-enabled/default:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 8000;
listen [::]:8000;
server_name _;
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
# WebSocket support - crucial for real-time updates
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Standard proxy headers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Long timeouts for agent tasks that might run a while
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}
Apply the changes:
sudo systemctl restart nginx
Now for the fun part. Edit ~/.openclaw/openclaw.json and add your Discord credentials:
{
"channels": {
"discord": {
"enabled": true,
"token": "YOUR_DISCORD_BOT_TOKEN"
}
}
}
Restart the gateway to pick up the changes:
openclaw gateway restart
When I first tried to access the dashboard, I got this cryptic message:
disconnected (1008): pairing required
Turns out OpenClaw uses a device pairing system to prevent unauthorized access. Smart, but not immediately obvious.
Here's how to fix it:
# See what's waiting for approval
openclaw devices list
You'll see something like:
Pending:
- id: abc123
browser: Chrome
requested: 2 minutes ago
Approve it:
openclaw devices approve abc123
Now refresh your browser. You should be connected.
Your OpenClaw dashboard lives at:
https://<vm-name>.exe.xyz/?token=<your-gateway-token>
Find your token in ~/.openclaw/openclaw.json under gateway.auth.token. I bookmarked this URL because I reference it constantly.
openclaw health
You should see confirmation that Discord is connected and your agents are running:
Discord: ok (@yourbotname)
Agents: main (default)
This is your health check. Anytime something feels off, run this first.
Here's where my Continue background kicks in. I want to see what API calls OpenClaw is making, so I route everything through tapes—Anthropic's proxy tool for inspecting and recording API interactions.
Start tapes:
tapes serve \
--provider anthropic \
--upstream "https://api.anthropic.com" \
--proxy-listen "0.0.0.0:8080" \
--sqlite "./tapes.db"
Update ~/.openclaw/openclaw.json:
{
"providers": {
"anthropic": {
"baseUrl": "http://localhost:8080"
}
}
}
Restart: openclaw gateway restart
Now every Claude API call is logged to tapes.db. You can inspect prompts, responses, token usage—everything. This level of observability is crucial when you're evaluating AI tooling.
~/.openclaw/openclaw.json before running setup commandsopenclaw devices list
openclaw devices approve <id>
Refresh your browser after approving.
openclaw doctor for diagnosticsopenclaw gateway status # Check what's wrong
openclaw logs # See error details
openclaw gateway restart # Try restarting
| Command | What It Does |
|---|---|
openclaw health |
Connection status check |
openclaw devices list |
Show paired/pending devices |
openclaw devices approve <id> |
Approve a new device |
openclaw gateway restart |
Restart the gateway process |
openclaw doctor |
Run full diagnostics |
openclaw logs |
View gateway logs |
Running OpenClaw on exe.dev turned out to be the perfect middle ground. I got to experiment with AI agents in Discord without compromising my local environment, and I could observe everything happening via tapes.
Is it production-ready for your use case? That depends on what you're building. But as a tool for understanding how autonomous AI agents operate, how they handle context, and what the developer experience looks like? It's been genuinely educational.
The security concerns I had initially? Still valid. But now they're informed concerns rather than fear-based ones. And that's the difference between avoiding technology and understanding its tradeoffs.
Guide based on OpenClaw 2026.1.29 running on exe.dev. If you try this and run into issues, reach out—I'm probably debugging the same thing.