exe.dev Setup
Provision persistent VMs with SSH access using exe.dev. No cloud account needed — just SSH key authentication.
What is exe.dev?
exe.dev provides persistent VMs accessible via SSH. Unlike ephemeral providers (Daytona, Replicated CMX), exe.dev VMs survive until you explicitly delete them — making them ideal for long-running agents or stateful workloads.
Type: Stateful (persistent VM)
Auth: SSH key (no API token required)
Capabilities: exec, ssh
Best for: Long-running agents, persistent workspaces, SSH-native workflows
Prerequisites
- An exe.dev account. Sign up at exe.dev.
- The
sshCLI installed and in your$PATH. exe.dev uses standard SSH for all control-plane operations. - An SSH key pair. exe.dev authenticates via SSH keys — no separate API tokens needed.
SSH Key Setup
If you don't have an SSH key pair:
ssh-keygen -t ed25519 -C "your-email@example.com" -f ~/.ssh/exedevRegister the public key with exe.dev:
ssh exe.dev key add ~/.ssh/exedev.pubOr copy the key to your clipboard and paste it into the exe.dev web UI:
cat ~/.ssh/exedev.pub | pbcopy # macOS
# cat ~/.ssh/exedev.pub | xclip -selection clipboard # Linuxssh exe.dev ... and per-VM access. Keep the private key secure — it's your only authentication credential.Verify CLI Access
Test that your SSH key is recognized:
ssh exe.dev ls --jsonYou should see a JSON list of VMs (empty if you haven't created any):
{"vms":[]}If you get a permission error, verify the key is registered:
ssh exe.dev key listConfigure ElasticClaw
Add the exe.dev provider to your hub.yaml:
providers:
exedev:
ssh_key_path: ~/.ssh/exedev # optional; uses SSH agent if omittedIf ssh_key_path is omitted, ElasticClaw uses your default SSH agent. This works if you've added the key via ssh-add.
Use in Workspaces
Set exe.dev as the default provider for a workspace:
# elasticclaw-config.yaml
provider: exedev
resources:
cpu: "2"
memory: 4GB
disk: 20GB
nix: false # exe.dev VMs are bare; enable if you need Nix
docker: false # enable if you need DockerOr set per-workflow:
# workflows/long-running-agent/workflow.yaml
name: long-running-agent
provider: exedev
trigger:
linear:
event: status_changed
states:
- "Ready for Agent"Provider Behavior
Create — Provisions a new VM via ssh exe.dev new --json. The VM name is auto-generated (e.g., agent-abc123) and the SSH destination is vm-name.exe.xyz.
Stop / Start — No-ops for exe.dev. VMs are always running (there is no hibernate API exposed via the SSH CLI).
Destroy — Deletes the VM via ssh exe.dev delete vm-name. This is irreversible.
Exec — Runs commands via ssh vm-name.exe.xyz command.
WriteFile — Pipes content through ssh ... cat > path to avoid shell escaping issues.
Troubleshooting
Permission denied (publickey) — Your SSH key isn't registered with exe.dev. Run ssh exe.dev key add ~/.ssh/your-key.pub.
Command not found: exe.dev — The SSH destination exe.dev requires your SSH config to resolve it. Ensure your SSH client can connect to ssh exe.dev (this uses exe.dev's SSH gateway).
VM not found after creation — The VM name may have been auto-generated differently. Check ssh exe.dev ls --json to list all VMs.