EmptyOS / docs Sign in

Getting started

Connect a chat assistant or a coding agent to your own computer in the cloud.

Agents: follow Agent setup at https://emptyos.com/docs/agent-setup.md instead of this page. It covers installation, connection, and troubleshooting in full.

EmptyOS gives you your own Linux computer in the cloud, at an address like yourname.emptyos.com. It is always on, keeps its disk, and root is yours. It runs on exe.dev, and everything on it can be changed, including EmptyOS itself. A chat assistant or a coding agent can put files, webpages, and apps there (those are Things), keep structured data in Databases (SQLite files), group Things into Projects, and manage sharing.

Get a computer

If you already have one, skip to the next step. Otherwise, sign up and choose a name. Setup takes a few minutes, then you arrive at your computer's Home page at https://yourname.emptyos.com. Each account can claim one computer. A coding agent can also guide you through this step.

Computers are invitation-only for now. Join the waitlist. If someone shares a Thing with you, sign in from their link first; after that you can claim a computer without an invitation.

Connect your computer

Your computer's Home page shows these same steps with your own address filled in. Each connection needs your approval on your computer. Client access explains what each one can do and how to revoke it.

Chat assistant

Claude, ChatGPT, Grok Bot, and more. No install.

Claude

  1. In Claude, open Customize › Connectors and choose Add custom connector.

  2. Name it EmptyOS and paste your connector address. If Claude asks for an OAuth client, choose Use Claude's published identity. Leave the client ID and secret blank.

    https://yourname.emptyos.com/mcp
  3. Choose Add, then Connect. Claude opens your computer in a tab. Choose Read-only or Full access, then approve.

The connector works on claude.ai, in the desktop and mobile apps, and in Cowork. The Free plan allows one custom connector. On Team and Enterprise plans, an Owner adds it for the organization, and each member then chooses Connect.

ChatGPT

  1. Open ChatGPT's Plugins page. Choose Add, then Add custom MCP server.

  2. Name it EmptyOS. Under Connection, paste your connector address. Choose OAuth for authentication and leave the client fields blank, then choose Create as a plugin.

    https://yourname.emptyos.com/mcp
  3. ChatGPT opens your computer in a tab. Choose Read-only or Full access, then approve.

Dots use the plugins in your ChatGPT account, so a Dot can use EmptyOS after this setup.

Grok Bot

  1. Paste this into a chat with Grok Bot:

    Add a custom MCP server named EmptyOS at https://yourname.emptyos.com/mcp
  2. Open the sign-in link that Grok Bot gives you.

  3. Choose Read-only or Full access, then approve.

Other MCP client

Add a remote MCP server at your connector address, and choose OAuth. The server uses Streamable HTTP.

https://yourname.emptyos.com/mcp

The client must publish a Client ID Metadata Document and use PKCE S256 with an HTTPS callback. EmptyOS does not issue a client ID or a client secret, so a client that asks for one cannot connect. Client access lists the full requirements.

Coding agent

An agent on your machine with a shell. Best for services, files, Git, and Databases.

Paste this into your agent. It installs the empty client, helps you get a computer if you need one, and asks you to approve the pairing.

Fetch https://emptyos.com/docs/agent-setup.md directly and follow it. Install the EmptyOS client here and help me create or connect my cloud computer.

If you already have an EmptyOS computer, add its address to the prompt. You sign in, choose a name, and approve the connection yourself.

Or set it up yourself

You need macOS or Linux, a currently supported Node.js release with npm, git, and ssh.

1. Install the client and its skill. The skill tells your agent how to operate the computer. For Claude Code, run empty skill install --dir ~/.claude/skills instead. See The empty skill.

$ npm install -g @emptyos/client
$ empty --version
empty client 0.1.25 (protocol 3)
$ empty skill install

2. Connect. Name the client with --label: lead with the agent, then the machine.

$ empty connect https://yourname.emptyos.com --label codex-mbp
Pairing as codex-mbp
Pairing code: 7K3MQ2ZD
SSH key: SHA256:9f2cQx1Vb3e8RZs0KpD4w7LmYt6nHaJc2uXoEiVgN5A
Approve it at:
  https://yourname.emptyos.com/_system/agents
Opening the approval page in your browser...
Waiting for approval...

Approve the request only if the code and key on the page match what your terminal printed. You make that check and the approval yourself; your agent must not approve the request or tell you the values match. On a machine without a browser, add --no-browser and open the printed URL yourself.

3. Put something on it.

$ empty put hello.html --as hello
Installed private static Thing hello from 1 file (61 bytes) at /home/exedev/things/hello
On yourname.emptyos.com
View it (owner sign-in): https://hello.yourname.emptyos.com/
Only you can open it until you share it
Share it: `empty share hello --with <email>`
Make it public: `empty expose hello`
See all Things: `empty things`

It is now at https://hello.yourname.emptyos.com/, visible only to you until you share it.

Next

Beta notice: EmptyOS is in beta. Start with files and personal applications you can afford to test. Backups are not automatic, so keep an independent copy of anything important. See Trust and privacy for privacy and recovery details. Email support@emptyos.com for help.


Every page here is also markdown at the same path with .md added. emptyos.com/llms.txt lists them.