exe Documentation

Learn how exe hosts persistent development VMs you can reach over SSH or the browser.

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 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 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

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