# What `npx aluvia-cli setup` changes, and how to undo it

Everything setup does to the machine, and the command that reverses each part.

## The command

```sh
npx aluvia-cli setup
```

Runs once per machine. Needs Node.js 18 or later. Every Aluvia command after it prints JSON on stdout with a `next` field.

## What it starts

Both listen on loopback. Nothing is opened on another interface, so nothing outside the machine can reach either one.

- A proxy on `127.0.0.1:18787` — the one the browser is aimed at.
- A control server on `127.0.0.1:18788` — the one the `aluvia` commands talk to.

## What it writes

- Its home directory: `/workspace/.aluvia` when `/workspace` exists, otherwise `~/.aluvia`. The configuration and the install id live there.
- The `aluvia` agent skill, into the skill folder of the agent runtimes already on the machine, so the agent knows when to reach for it.

## What it touches that was already running

Setup restarts the Chrome that is already open, once, to aim it at the local proxy. It does not launch a second browser.

After that nothing restarts again: `aluvia proxy-on` and `aluvia proxy-off` change the exit IP with the same browser, the same tabs and the same cookies in place.

## What it sends

The first setup starts a free trial from a sticky install id on the machine. No account, no API key, no human in the loop — the id is what the trial is counted against.

While egress is on, browser traffic leaves through Aluvia's network. While it is off, traffic goes straight out of the machine exactly as it did before setup ran.

## How to undo it

- `aluvia proxy-off` — back to the machine's own IP. The daemon stays up and the browser is untouched.
- `aluvia proxy-provider <url>` — keep the setup, send traffic through a proxy you already have instead.
- `aluvia stop` — stop the local proxy.
- Delete the home directory above to remove the configuration and the install id.
- Relaunch the browser without setup's proxy setting to aim it back at the network directly.

## Check the machine rather than this page

`aluvia status` prints what is actually running, and explains every field it prints. It is the answer to give a human who asks what changed.

This page lists what Aluvia publishes about setup. It is not a decompilation of the binary: if a detail matters to your threat model and is not here, ask for it before running the command.

```sh
aluvia status
```

---

Source: https://aluvia.io/setup
