Skip to main content
Boxd machines are lightning fast, persistent, hardware-isolated linux environments for developers, agents, apps, and automations. We’ve optimized our machines to make you develop faster. The recommended way to use boxd is through our CLI. However, for use cases that require orchestration and automation, we’d recommend our TypeScript and Python SDKs. To get started, we recommend you go through the onboarding on app.boxd.sh. If you prefer the terminal, below are the steps to get you going quickly.

1. Install

This script auto-detects your platform, verifies checksums, and installs the latest boxd CLI to ~/.local/bin/boxd.

2. Authenticate

Sign in with GitHub or Google:

boxd new boots a fresh machine in milliseconds.

3. Create a machine

You’ll see:
You’ve created your first machine. Great work. This machine has a persistent disk and its own HTTPS domain. TLS is already terminated. Visit the URL. You’ll see a default landing page until you start a server.

4. Get into the machine

You get a shell on the machine straight away. Type exit or Ctrl-D to come back to your local shell.

5. Serve something on your public URL

Every machine already has a public HTTPS address at https://myapp.boxd.sh. Anything you run on port 8000 is served there. To see it working, start the nginx that comes pre-installed:
Now open https://myapp.boxd.sh in your browser. You are looking at a server running on your machine, reachable by anyone you send the link to. Swap nginx for your own app on port 8000 and the same URL serves that instead.

6. Fork your machine

A fork is a copy of a machine exactly as it is right now, including its disk, its memory, and whatever it is running. Fork the machine you just set up:
That takes milliseconds. You now have a second machine, myapp-test, with its own URL at https://myapp-test.boxd.sh. The important part is that running processes come with it. The nginx you started in step 5 is already serving on the fork’s URL. Nothing had to boot or start up again. Open both URLs side by side and you will see the same page twice.

7. Snapshot your machine

A snapshot is a saved copy of a machine that you keep. A fork gives you a second machine running right now. A snapshot gives you an image you can create machines from later, and it stays around even after you delete the machine it came from. Save myapp as a snapshot:
The machine keeps running while it saves. Now you can stamp out fresh machines from that saved state whenever you want:
Each one comes up in the saved state, so this is how you keep a known-good setup and hand copies of it to your team or to an agent.

8. Make a checkpoint

A checkpoint is an undo button for one machine. Save one before you try something risky, and if it goes wrong, rewind the same machine back to that moment. The machine keeps its name and its URL. Save a checkpoint:
Then if a change goes wrong, roll the machine back:
The machine reboots into exactly the state it was in when you saved. Checkpoints live on the machine, so they go away when you delete it. Use a snapshot when you want something that outlives the machine.

9. Talk between machines

Machines can manage each other. The boxd CLI and both SDKs are already installed on every machine, and inside a machine they sign in as you automatically. There is no API key to copy in and nothing to configure. Get into myapp as you did in step 4, then run any of these from in there:
To control which machines are allowed to reach which, see VM to VM.

10. Share a machine

Machines are private to you by default. Sharing one opens it to every member of your org, so a teammate can connect to it and work in the same machine.
Only the owner can share or unshare a machine, and sharing never moves it between organizations. It only changes who can reach it.
Sharing wipes the agent logins inside the machine, so a teammate with a shell can never read your Claude Code, Codex, or OpenCode tokens. Do not share a machine an agent is working in, because it gets logged out immediately. If you want a copy with your logins intact, fork the machine instead. A fork of a shared machine is private to you.
See VM sharing for more information.

What’s next

Dive deeper into the guides, or explore the use cases.

Development workspaces

A real computer for you and your team.

Preview environments

A URL for every pull request.

Coding agents

Give an agent its own machine to work in.

Personal assistants

An always-on machine your assistant lives on.

Sandboxes

Run untrusted code behind a hardware boundary.

Agentic SaaS offerings

Give every one of your users their own machine.