# Install (/docs/users/install)



Every install path runs the same engine: the `cento` CLI and its
`cento host install` command. Pick the entry point that fits how you work.

## Terminal (macOS, Linux, WSL) [#terminal-macos-linux-wsl]

```bash
curl -fsSL https://get.cento.app | sh
```

The script detects your platform, downloads and verifies the signed `cento`
binary, then hands off to `cento host install`. It never mutates your system
itself — all setup logic lives in the CLI.

## PowerShell (Windows) [#powershell-windows]

```powershell
irm https://get.cento.app/cli/install.ps1 | iex
```

Same flow as the curl script. On Windows, Cento runs its workspaces inside
WSL; the installer guides you through WSL setup if it's missing.

## Coding agent [#coding-agent]

Paste this prompt into your coding agent (Cursor, Codex, …):

> Set up Cento on this machine by following
> [https://cento.sh/install/agent.md](https://cento.sh/install/agent.md). When Cento asks for pairing, show me
> the approval link and wait. Stop only when `cento doctor --json` exits 0.

The agent installs through the same CLI, pauses when your approval is needed,
and verifies the result mechanically.

## What `cento host install` does [#what-cento-host-install-does]

1. Places the Cento daemon (the background service that runs workspaces).
2. Registers it to start automatically on login (systemd, launchd, or a
   Windows logon task).
3. Runs `cento login` if the machine isn't paired yet — see
   [pairing](/docs/users/pairing).
4. Starts the daemon and runs the same checks as `cento doctor`.

It's idempotent: re-running it converges your machine to a working state
rather than breaking an existing install.
