1---
2name: using-exe-dev
3description: Guides working with exe.dev VMs. Use when the user mentions exe.dev, exe VMs, *.exe.xyz, or tasks involving exe.dev infrastructure.
4---
5
6# About
7
8exe.dev provides Linux VMs with persistent disks, instant HTTPS, and built-in auth. All management is via SSH.
9
10## Documentation
11
12- Docs index: https://exe.dev/docs.md
13- All docs in one page (big!): https://exe.dev/docs/all.md
14
15The index is organized for progressive discovery: start there and follow links as needed.
16
17## Quick reference
18
19```
20ssh exe.dev help # show commands
21ssh exe.dev help <command> # show command details
22ssh exe.dev new --json # create VM
23ssh exe.dev ls --json # list VMs
24ssh exe.dev rm <vm> # delete VM
25ssh <vm>.exe.xyz # connect to VM
26scp file.txt <vm>.exe.xyz:~/ # transfer file
27```
28
29Every VM gets `https://<vm>.exe.xyz/` with automatic TLS.
30
31## A tale of two SSH destinations
32
33- **`ssh exe.dev <command>`** — the exe.dev lobby. A REPL for VM lifecycle, sharing, and configuration. Does not support scp, sftp, or arbitrary shell commands.
34- **`ssh <vm>.exe.xyz`** — a direct connection to a VM. Full SSH: shell, scp, sftp, port forwarding, everything.
35
36## Working in non-interactive and sandboxed environments
37
38Coding agents often run SSH in non-interactive shells or sandboxes. Common issues and workarounds:
39
40**scp/sftp failures**: Ensure you're targeting `<vm>.exe.xyz` rather than `exe.dev`. Use ssh-based workarounds.
41
42**Hung connections**: Non-interactive SSH can block on host key prompts with no visible output. Use `-o StrictHostKeyChecking=accept-new` on first connection to a new VM.
43
44**SSH config**: Check whether both destinations are configured to use the right key:
45
46```
47Host exe.dev *.exe.xyz
48 IdentitiesOnly yes
49 IdentityFile ~/.ssh/id_ed25519
50```