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

> ## Agent Instructions
> Praesia is in closed beta. Cards work in the sandbox with test funds, and no real money moves. To use Praesia, you need an invite. To request an invite, open https://praesia.ai/contact.

# Install the Praesia CLI and MCP server by hand

> Finish the install yourself when your harness can't do it for your agent, then hand back.

Your agent installs Praesia by itself, as the [Quickstart](https://docs.praesia.ai/quickstart.md) shows. Use this page when your harness stops it, for example by refusing a command or by blocking a change to its settings.

Do only the steps your agent couldn't finish, then hand back. Your agent runs everything after that. A hosted assistant, such as Dot or Grok Bot, runs the install by itself.

> [!WARNING]
>
> In auto mode, Claude Code can block some of these commands. Run them yourself in a terminal, or run `/permissions` in Claude Code and allow them.

## What you need

| Item | Where it comes from |
| - | - |
| CLI download link | The text at your skill link |
| Skill link | Your invite |
| macOS or Linux | WSL (Windows Subsystem for Linux) is experimental for now. |
| Node.js 22.18.0 or later | [nodejs.org](https://nodejs.org). Run `node --version` to check. |

## Install

**1. Install the CLI**

Open your skill link and copy the download link from its text, then check the install:

```bash theme={"theme":"material-theme-darker"}
npm install -g 'DOWNLOAD_LINK'
praesia request --help
```

The check prints the usage of the sign-in command, for example:

```text theme={"theme":"material-theme-darker"}
Usage: praesia request --name NAME [--profile NAME] [--invite CODE] ...
Asks Praesia for the sign-in link of this agent, and prints the link ...
```

If npm fails with `EACCES`, run the install again with `sudo` in front.

**2. Save the skill**

The skill tells your agent how to use Praesia. Use the skill link from your invite.

> [tab] Claude Code
>
> ```bash theme={"theme":"material-theme-darker"}
> curl -fsS --create-dirs \
>   -o ~/.claude/skills/praesia/SKILL.md \
>   'SKILL_LINK'
> ```

> [tab] Codex CLI
>
> ```bash theme={"theme":"material-theme-darker"}
> curl -fsS --create-dirs \
>   -o ~/.agents/skills/praesia/SKILL.md \
>   'SKILL_LINK'
> ```

> [tab] OpenCode
>
> ```bash theme={"theme":"material-theme-darker"}
> curl -fsS --create-dirs \
>   -o ~/.agents/skills/praesia/SKILL.md \
>   'SKILL_LINK'
> ```

> [tab] OpenClaw
>
> ```bash theme={"theme":"material-theme-darker"}
> curl -fsS --create-dirs \
>   -o ~/.agents/skills/praesia/SKILL.md \
>   'SKILL_LINK'
> ```
>
> If OpenClaw runs with `OPENCLAW_STATE_DIR` set, save the skill there instead:
>
> ```bash theme={"theme":"material-theme-darker"}
> curl -fsS --create-dirs \
>   -o "${OPENCLAW_STATE_DIR:?}"/skills/praesia/SKILL.md \
>   'SKILL_LINK'
> ```

> [tab] Another harness
>
> Your harness may not read this folder.
>
> ```bash theme={"theme":"material-theme-darker"}
> curl -fsS --create-dirs \
>   -o ~/.agents/skills/praesia/SKILL.md \
>   'SKILL_LINK'
> ```

**3. Add the Praesia server**

Add the server once for each machine. Run this block, then the command for your harness in the same terminal.

```bash theme={"theme":"material-theme-darker"}
SERVER_COMMAND=$(praesia server-command |
  node -p 'JSON.parse(require("fs").readFileSync(0)).command')
SERVER_FILE=$(praesia server-command |
  node -p 'JSON.parse(require("fs").readFileSync(0)).args[0]')
```

> [tab] Claude Code
>
> ```bash theme={"theme":"material-theme-darker"}
> claude mcp add --scope user praesia -- \
>   "$SERVER_COMMAND" "$SERVER_FILE" serve
> ```
>
> If the server already exists, run `claude mcp remove --scope user praesia`, then add it again.

> [tab] Codex CLI
>
> ```bash theme={"theme":"material-theme-darker"}
> codex mcp add praesia -- \
>   "$SERVER_COMMAND" "$SERVER_FILE" serve
> ```

> [tab] OpenCode
>
> Run `opencode --version` to pick the command.
>
> ```bash OpenCode 2 or later theme={"theme":"material-theme-darker"}
> opencode mcp add praesia --global -- \
>   "$SERVER_COMMAND" "$SERVER_FILE" serve
> ```
>
> ```bash OpenCode 1 theme={"theme":"material-theme-darker"}
> opencode mcp add praesia -- \
>   "$SERVER_COMMAND" "$SERVER_FILE" serve
> ```

> [tab] OpenClaw
>
> Stop the local OpenClaw Gateway first, because OpenClaw can't change a saved server while it runs.
>
> ```bash theme={"theme":"material-theme-darker"}
> openclaw mcp add praesia \
>   --command "$SERVER_COMMAND" \
>   --arg="$SERVER_FILE" \
>   --arg=serve
> ```
>
> If the server already exists, run `openclaw mcp unset praesia`, then add it again.

> [tab] Another harness
>
> Any harness that can use MCP can connect this way. Run `praesia server-command`. In the MCP (Model Context Protocol) configuration of your harness, put the line that it prints as the `praesia` entry:
>
> ```json theme={"theme":"material-theme-darker"}
> {
>   "mcpServers": {
>     "praesia": {"command": "...", "args": ["...", "serve"]}
>   }
> }
> ```

**4. Check the browser tool**

Your agent reads the checkout page and types the card with a browser tool. If your harness gives it one, skip this step. Otherwise, we recommend agent-browser.

```bash theme={"theme":"material-theme-darker"}
npm install -g agent-browser@0.39.1
agent-browser install
```

> [accordion] If the install fails
>
> | Error | Fix |
> | - | - |
> | `EACCES` | Run the same command with `sudo` in front. |
> | `EBADENGINE` (a warning about the Node version) | Go on. Install no other Node. |
> | `error while loading shared libraries` (Linux) | Run `agent-browser install --with-deps`. |
> | `No usable sandbox!` (Linux) | Run the sandbox command below. |
>
> Ubuntu limits user namespaces, and Chrome needs them for its sandbox. This command adds an AppArmor profile that allows them only for agent-browser's Chrome, at `~/.agent-browser/browsers/chrome-*/chrome`. Your other programs don't change. A process of your user that writes a file at that path also gets this permission.
>
> ```bash theme={"theme":"material-theme-darker"}
> sudo tee /etc/apparmor.d/praesia-agent-browser >/dev/null <<EOF
> abi <abi/4.0>,
> include <tunables/global>
>
> profile praesia-agent-browser $HOME/.agent-browser/browsers/chrome-*/chrome flags=(unconfined) {
>   userns,
>   include if exists <local/praesia-agent-browser>
> }
> EOF
> sudo apparmor_parser -r /etc/apparmor.d/praesia-agent-browser
> ```
>
> To undo it:
>
> ```bash theme={"theme":"material-theme-darker"}
> sudo apparmor_parser -R /etc/apparmor.d/praesia-agent-browser
> sudo rm /etc/apparmor.d/praesia-agent-browser
> ```

**5. Hand back to your agent**

Start a new session or restart the current one, so that the Praesia tools appear, then send this message. Your agent picks up from the sign-in, then interviews you for your first mandate.

```text theme={"theme":"material-theme-darker"}
Set up Praesia.
```

If your harness doesn't read the saved skill, send this message instead:

```text theme={"theme":"material-theme-darker"}
Read SKILL_LINK and set up payments.
```

If it has no shell, send this message with your invite code:

```text theme={"theme":"material-theme-darker"}
Enroll with Praesia. My invite code is INVITE_CODE.
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.