# Install Titen

> Install the Titen CLI on macOS, Linux, WSL, or Windows, or add the SDK with your JavaScript package manager.

Section: Start here · Source: https://titen.dev/docs/install

---
## macOS, Linux, and WSL

The installer adds Bun when it is missing or older than 1.2, then installs the
`titen` command for your current user. It does not use `sudo`, start a service,
or create a Titen database.

```sh
curl -fsSL https://titen.dev/install.sh | bash
```

To review it first:

```sh
curl -fsSL https://titen.dev/install.sh -o install.sh
less install.sh
bash install.sh
```

## Windows

Run this in Windows PowerShell 5.1 or PowerShell 7. The installer does not need
Administrator access and does not change your execution policy.

```powershell
irm https://titen.dev/install.ps1 | iex
```

To review it first:

```powershell
irm https://titen.dev/install.ps1 -OutFile install.ps1
Get-Content .\install.ps1
& .\install.ps1
```

## Pin a version

Installers accept `latest` or one exact stable version. A pin never accepts a
range or prerelease by accident.

```sh
curl -fsSL https://titen.dev/install.sh | bash -s -- --version 0.4.0
```

```powershell
& ([scriptblock]::Create((irm https://titen.dev/install.ps1))) -Version 0.4.0
```

Both installers finish by running `titen --version`. Installing the CLI alone
does not bootstrap an organization, print an API key, or start a server.

## Package managers

The npm package is named `titen-memory`; the executable is named `titen`. Bun
must be on `PATH` because the local server uses `bun:sqlite`.

<div class="table-wrap">

| Use | Bun | npm | pnpm |
| --- | --- | --- | --- |
| Global CLI | `bun add -g titen-memory@latest` | `npm i -g titen-memory@latest` | `pnpm add -g titen-memory@latest` |
| One command | `bunx --bun titen-memory@latest --version` | `npx titen-memory@latest --version` | `pnpm dlx titen-memory@latest --version` |
| Project SDK | `bun add titen-memory` | `npm i titen-memory` | `pnpm add titen-memory` |

</div>

Yarn can install the SDK with `yarn add titen-memory`. Its Node-owned `yarn dlx`
runner cannot execute Titen's Bun TypeScript CLI, so use `bunx --bun` for a
one-off CLI command instead.

## Update or remove

Rerun the installer to update to npm `latest`, or pass an exact version to move
to that release. Remove the package with the manager that installed it:

```sh
bun remove -g titen-memory
# npm uninstall -g titen-memory
# pnpm remove -g titen-memory
```

Removing the package does not delete a Titen database, configuration, backup,
or API key. Those files belong to you and remain where you created them.

## Start Titen

Create the first organization once, save the printed key, then run the local
service:

```sh
titen bootstrap --org "My Org"
titen serve
```

Continue with the [Quickstart](/docs/quickstart) to check readiness and connect
an agent.