> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xynthis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> What the installer does on each platform, plus upgrading and uninstalling.

## macOS and Linux

```bash theme={null}
curl -sSfL https://xynthis.com/install.sh | bash
```

The script needs only `curl`, `uname`, and `tar`. It then:

1. Detects your platform. Supported: macOS arm64 and x86\_64, Linux x86\_64 and arm64.
2. Resolves the latest release from GitHub (`github.com/Xynthis/xynthis-release`) and downloads the matching tarball. The tarball contains stripped release binaries only: no source, no debug symbols.
3. Verifies the download's SHA-256 against the `.sha256` sidecar published next to every tarball. A mismatch aborts the install.
4. Extracts and installs three binaries into `~/.xynthis/bin/`: `xynthis` (the CLI), `xynthis-brain` (the brain), and `xynthis-mcp` (the MCP bridge). On macOS it also removes the quarantine attribute so Gatekeeper doesn't block the downloaded binaries.
5. Adds `~/.xynthis/bin` to your shell `PATH`.
6. Registers the brain as a service and starts it, then waits up to 7.5 seconds for `~/.xynthis/brain.sock` to appear.

Two environment variables change the download:

```bash theme={null}
XYNTHIS_VERSION=0.2.0 curl -sSfL https://xynthis.com/install.sh | bash   # pin a version
XYNTHIS_DOWNLOAD_BASE=https://my-mirror/xynthis curl -sSfL … | bash      # use a mirror
```

### Auto-start

On macOS the installer writes a launchd agent to `~/Library/LaunchAgents/com.xynthis.brain.plist` and loads it. The brain starts at login and restarts automatically if it crashes. On Linux it writes a systemd user unit to `~/.config/systemd/user/xynthis-brain.service`, enables and starts it (`Restart=on-failure`), and calls `loginctl enable-linger` so the brain keeps running after you log out.

Both platforms log to the same place, so `tail -f ~/.xynthis/logs/brain.err.log` works everywhere.

## The macOS app

The menu-bar app is a separate install: download the DMG from [xynthis.com](https://xynthis.com) and drag Xynthis to Applications. The app is a resident menu-bar client. It spawns the bundled brain and daemon on launch, so it works on its own; you don't need the CLI install first, though the two share `~/.xynthis/` when both are present.

The app updates itself: it polls for new releases and applies SHA-256-verified DMG updates in place. The current version is 1.0.89. See [The macOS app](/getting-started/mac-app) for what's inside.

## Windows

```powershell theme={null}
irm https://xynthis.com/install.ps1 | iex
```

Windows gets the CLI and the brain, not the app (the app is a macOS-only client). The installer requires 64-bit Windows and `tar.exe`, which Windows 10 (1803+) and Windows 11 ship by default. It downloads the `x86_64-pc-windows-msvc` tarball, verifies its SHA-256, installs `xynthis.exe`, `xynthis-brain.exe`, and `xynthis-mcp.exe` into `%LOCALAPPDATA%\xynthis\bin`, adds that directory to your user `PATH`, and starts the brain as a background process.

On Windows the CLI, the MCP bridge, and the brain talk over a named pipe instead of a Unix socket. Access to the pipe is restricted to your own user account.

<Warning>
  There is no Windows service registration yet. The brain runs as a detached process and will not survive a reboot or logout. Re-run the installer, or run `xynthis-brain.exe` directly, to bring it back. Pin a version with `$env:XYNTHIS_VERSION = "0.2.0"` before the install line.
</Warning>

## Upgrading

Re-run the installer. It is idempotent: it re-copies the binaries and reloads the service while preserving `~/.xynthis/{bmc,skill,logs,auth.json,config.toml}`; your memory, keys, and config are never touched. The macOS app upgrades itself independently through its built-in updater.

## Uninstalling

macOS:

```bash theme={null}
launchctl unload ~/Library/LaunchAgents/com.xynthis.brain.plist
rm -rf ~/.xynthis/bin ~/Library/LaunchAgents/com.xynthis.brain.plist
```

Linux:

```bash theme={null}
systemctl --user disable --now xynthis-brain.service
rm -rf ~/.xynthis/bin ~/.config/systemd/user/xynthis-brain.service
```

Windows:

```powershell theme={null}
Stop-Process -Name xynthis-brain
Remove-Item -Recurse "$env:LOCALAPPDATA\xynthis\bin"
```

All of these remove the binaries but preserve your memory in `~/.xynthis/{bmc,skill}` (or `%LOCALAPPDATA%\xynthis` on Windows). For a full wipe, delete the whole directory:

```bash theme={null}
rm -rf ~/.xynthis
```
