Docs

You do not install this. Your agent does.

Three sentences, and you never touch a config file

1. Ask your agent to set it up

Paste this into whatever agent you already have open. It will add unlocalhost, restart itself if it needs to, and tell you when it is ready.

say this to your agent
Read https://www.unlocalhost.tech/install and set up unlocalhost for me

That page is written for agents rather than people. Yours will fetch it, work out which config file to edit, and do it.

If you would rather do it yourself

Claude Code, in your terminal:

claude mcp add unlocalhost -- npx -y @unlocalhost/unlocalhost

Cursor, Windsurf, and everything else, in your MCP config file:

{
  "mcpServers": {
    "unlocalhost": {
      "command": "npx",
      "args": ["-y", "@unlocalhost/unlocalhost"]
    }
  }
}

2. Sign in, once

Ask your agent to sign in. It shows a short code, you approve it in the browser, and that machine is signed in for good.

say this
sign in to unlocalhost

You sign in with GitHub, and you will be asked to let us read the repositories you want to deploy. Read only, and only the ones you pick.

3. Deploy

Say what to ship and who is allowed in. Your agent creates the repository, pushes with your own git credentials, and asks us to build it.

say this
deploy this and let sarah@gmail.com in

You get a link like sarahs-todo.unlocalhost.tech. Sarah opens it, signs in, and lands in your app. Everyone else is turned away before your code runs.

Changing who has access

Say it in words. Removing someone takes effect immediately.

say this
also let mike@example.com into the todo app
remove sarah from the todo app

Environment variables

Never commit a .env file. We scan every deploy and refuse to publish anything with a secret in it. Tell your agent to pass the values instead, and they are encrypted at rest and injected into your app when it builds.

Storing data

Every app gets a disk at /app/data that survives restarts and redeploys, and a DATABASE_PATH variable pointing at /app/data/app.db. Tell your agent to use SQLite there. There is no managed Postgres, and anything written outside that folder is lost on the next deploy.

When something breaks

Ask for the logs. Your agent can read the build output, find the problem, fix the code, and deploy again without you reading a stack trace.

say this
the todo app failed to build, check the logs and fix it

Run it yourself

unlocalhost is MIT licensed and the whole platform runs from one compose file on a single server. Point the package at your own instance with an environment variable.

UNLOCALHOST_URL=https://api.yourdomain.com npx @unlocalhost/unlocalhost

The full setup guide lives in the repository.