exe Documentation
Learn how exe hosts persistent development VMs you can reach over SSH or the browser.
View all docs in one page · Download as Markdown
Introduction
What is exe.dev?
VMs, on the internet, quickly
Release Notes
What's new in exe.dev
Migrating to exe
How to move workloads over onto exe
Getting Help
How to get support for exe.dev
Features
exe.dev HTTP Proxies
Publish to the Internet, both privately and publicly
Sharing
Share a web app or grant trusted collaborators root access
Customizing VMs
Three ways to customize your exe.dev VMs
Private Docker Registries
Boot VMs from private images with --registry-auth, or pull private images inside a running VM with a registry integration.
Custom Domains
Use your own domain with exe.dev
Login with exe
Use exe.dev's authentication system in your applications
LLM Gateway
Direct gateway deprecation and migration to LLM integrations
Regions
Available exe.dev regions
API
Programmatic access via SSH
HTTPS API
Programmatic access via HTTPS
HTTPS API Local Key Creation
Create API tokens locally by signing with your SSH key
HTTPS API: Run commands on VM
Run commands inside your VMs over the HTTPS API
HTTPS Tokens for VMs
Bearer tokens for programmatic access to VM HTTPS endpoints
Receive email
Receive emails to your VM
Send email
Send emails from your VM
API explorer
create api key
mint a bearer token for the HTTPS API
list VMs
see everything you have running
create a VM
a computer, in about a second
who am i
account, region, ssh keys
inspect a VM
metrics with sparklines
share it
make a VM public
resize
more cores, more memory
tag & organize
tags drive integrations too
copy a VM
clone disk and config
Integrations
What are Integrations?
Integrate exe.dev with other tools and services
HTTP Proxy Integration
Inject headers into HTTP requests from your VM
Integration catalog
Services available through exe.dev catalog integrations
GitHub Integration
Connect your GitHub account to exe.dev for private repo access
LLM Integration
Configure managed, API-key, ChatGPT-backed, or custom HTTPS model providers
AWS Workload Identity Federation
Configure exe.dev Identity Federation so VMs can assume AWS IAM roles
GCP Workload Identity Federation
Configure exe.dev Identity Federation so VMs can impersonate Google Cloud service accounts
Reflection Integration
Discover metadata and integrations from inside the VM
Attaching Integrations
Attach integrations to VMs using direct attachment, tags, or auto-attach
Slack Integration
Send messages from your VM to a Slack channel
Slack Bot Integration
Run a full two-way Slack bot from your VM, with the tokens held off-VM
Discord Integration
Send messages from your VM to a Discord channel
Discord Bot Integration
Drive your own Discord bot from a VM, with the bot token held off-VM
VM-to-VM Integration
Let one VM call another over HTTPS, with a generated key injected at the edge
Token-Mint Integrations
Exchange a vaulted credential for a short-lived token your VM can use
Container Registry Integrations
Mint short-lived pull tokens for OCI registries (quay.io, ghcr.io, atcr.io, pkg.dev)
Shelley
What is Shelley?
Our coding agent
Unique Features
How Shelley differs from other coding agents
Bring Your Own Key
Use your own API keys with Shelley
AGENTS.md
Guidance files for Shelley
Upgrading Shelley
Keep Shelley up to date
Teams
Teams
Shared VM management for your organization
Managing Members
Create a team, invite people, manage roles
Team VMs
How VMs work within a team
Sharing controls
Restrict who can share team VMs publicly or with external users
Shelley
How Shelley credits work for team members
Team SSO
Set up Google OAuth or OIDC for your team
Invites
Invites
Trial invites and invite rewards
Billing
Overview
How exe.dev billing works
Subscriptions
Individual and team subscriptions, upgrades, seats, and cancellation
Usage
Disk and bandwidth overages and how they are billed
Cloud Pool
A fully usage-based plan for custom workloads
FAQ
What is the host key for exe.dev?
How to verify you're connecting to exe.dev
How do I use a specific SSH key for exe.dev? How do I manage multiple exe.dev accounts?
Configure SSH to use a specific key
How do I connect VSCode to my VM?
Open your VM in VSCode
How do I copy files to/from my VM?
Transfer files with scp
How do I write my VM's SSH destination?
my-vm.exe.xyz or vm+my-vm@vm.exe.xyz
Can I run docker images?
Running Docker on exe.dev VMs
How do you pronounce "exe"?
The official pronunciation
How do I access GitHub? How do I set up a minimal GitHub token?
GitHub access and fine-grained tokens
How do I connect from one VM to another?
SSH, Tailscale, and other tricks
How do I set up tab completion for VM names?
Autocomplete exe.xyz VM hostnames in your favorite shell
How does exe.dev work?
behind-the-scenes look
ssh exe.dev sometimes asks me to register
how to solve heisen-connection issues
I found an undocumented command! Can I use it?
Using undocumented commands
How do I run Next.js, Vite, or other JS dev servers on my VM?
Configure allowedDevOrigins (Next.js) or server.allowedHosts (Vite) so the dev server accepts requests from your exe.dev hostname.
How does exe.dev measure disk usage?
Disk usage is measured as ext4 filesystem usage.
Teach your coding agent to exe.dev
Agent skill and docs for coding agents
Use Cases
Intro
an open source reactive notebook
Dev, Test, Prod: Choose One, Two, or Three
You can build, test, and deploy on exe.dev.
Cal.diy
Open-source scheduling app on exe.dev
Flue
Run Flue agentic apps on exe.dev
Forgejo
Self-hosted Git forge with exe.dev SSO
Gitea
Self-hosted Git forge with exe.dev SSO
Hermes
Hermes Agent, the self-hosted agent from Nous Research
Jev
Call TypeSafe's decision model through an HTTP integration
Openclaw
Openclaw, formerly known as Moltbot, formerly known as Clawdbot
Running Agents
use exe.dev VMs as a sandbox
Running a self-hosted GitHub Actions Runner
log in easily into your CI environment
Spinning up a Marimo Notebook
an open source reactive notebook
Editorials
Lock-in on exe.dev
It's just a computer. Of the Linux sort.
Persistent disks, not serverless
exe.dev is serverful, not serverless
Put your agent in a VM and let it be
Agent security is unsolved; a virtual machine is pragmatic
The GUTS Stack
Go, Unix, TypeScript, SQLite
Why exe.dev?
EXE is just a computer.
CLI Reference
help
Show help information
doc
Browse documentation
ls
List your VMs
new
Create a new VM
rm
Delete a VM
restart
Restart a VM
rename
rename a vm
tag
Add or remove tags on a VM
cp
Copy an existing VM
resize
Resize a VM's resources (memory, CPU, disk)
comment
Set or clear a short comment on a VM
domain
Register custom domains for your VMs
share
Share HTTPS VM access with others
whoami
Show user information (email, keys, etc)
ssh-key
Manage SSH keys for your account
set-region
Set your preferred region for new VMs.
integrations
Manage integrations
team
View and manage your team
pool
Manage your team's VM pools (reserved capacity slices)
billing
View and manage your billing
invite
Manage your invite link and rewards
shelley
Manage Shelley agent on VMs
browser
Generate a magic link to log in to the website
ssh
SSH into a VM
grant-support-root
Allow exe.dev support to log in to a VM
exit
Exit
stat
Show vCPU, disk, IO, and network (RX/TX) metrics for a VM
Other
Help & Community
Join our Discord
Privacy Notice
How exe.dev handles your data
Terms of Service
Terms and conditions for using exe.dev
Sub-processors
Third parties that process personal data on behalf of exe.dev
Long Tail
Repo buttons
Add "Deploy on exe.dev" and "Build with Shelley" buttons to your README
Suggest links
Pre-filled command runners at https://exe.dev/suggest
Updating coding agents on an exe.dev VM
How to update Claude Code, Codex, and Pi on the exeuntu image