Manage persistent VMs on exe.dev. Create VMs, configure HTTP proxies, share access, and set up custom domains. Use when working with exe.dev VMs for hosting, development, or running persistent services.
⚠️ Warning: This skill was auto-built by clawdbot from the exe.dev markdown documentation. It's not tested yet — use with caution! I plan to test it soon. 🔜
| Task | Command |
|---|---|
| List VMs | ssh exe.dev ls --json |
| Create VM | ssh exe.dev new |
| Make public | ssh exe.dev share set-public <vm> |
| Change port | ssh exe.dev share port <vm> <port> |
| Add user | ssh exe.dev share add <vm> <email> |
| Share link | ssh exe.dev share add-link <vm> |
https://<vmname>.exe.xyz/https://<vmname>.exe.xyz:9999/vscode://vscode-remote/ssh-remote+<vmname>.exe.xyz/home/exedevDefault port is auto-selected from Dockerfile EXPOSE. Change with:
ssh exe.dev share port <vmname> <port>
Access ports 3000-9999 via https://vmname.exe.xyz:<port>/
When users authenticate via exe.dev:
X-ExeDev-UserID — user identifierX-ExeDev-Email — user emailFor testing, use mitmproxy to inject headers:
mitmdump --mode reverse:http://localhost:8000 --listen-port 3000 \
--set modify_headers='/~q/X-ExeDev-Email/[email protected]'
app.example.com → vmname.exe.xyzexample.com → exe.xyz + CNAME www → vmname.exe.xyzSee references/exe-dev-vm-service.md for complete documentation including pricing, Shelley agent setup, SSH key config, and FAQ.