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

# Isolation Backends

> Choose between uv tool and pipx for installing PraisonAI

PraisonAI's installer keeps the CLI isolated from your global Python environment. It picks `uv tool` or `pipx`, bootstrapping `uv` when neither is present.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph TB
    Start([Which backend?]):::agent
    Start --> Q1{Is uv installed?}
    Q1 -->|Yes| UV[uv tool\nFastest. Zero extra deps.]:::success
    Q1 -->|No| Q2{Is pipx installed?}
    Q2 -->|Yes| PIPX[pipx\nWell-known. Broad ecosystem.]:::tool
    Q2 -->|No| BOOT[bootstrap uv\nAuto-installed.]:::process

    classDef agent fill:#8B0000,stroke:#7C90A0,color:#fff
    classDef tool fill:#189AB4,stroke:#7C90A0,color:#fff
    classDef process fill:#F59E0B,stroke:#7C90A0,color:#fff
    classDef success fill:#10B981,stroke:#7C90A0,color:#fff
```

## Backend Comparison

|                      | **uv tool**                                               | **pipx**                                |
| -------------------- | --------------------------------------------------------- | --------------------------------------- |
| **Isolation**        | ✅ Isolated                                                | ✅ Isolated                              |
| **Persistence**      | ✅ Permanent                                               | ✅ Permanent                             |
| **Speed**            | ⚡ Fastest                                                 | 🐢 Slower                               |
| **PATH management**  | `~/.local/bin` shim                                       | `pipx ensurepath` + `~/.local/bin` shim |
| **Extra install**    | [uv](https://github.com/astral-sh/uv) (auto-bootstrapped) | [pipx](https://pipx.pypa.io/)           |
| **Who manages env**  | uv                                                        | pipx                                    |
| **When it's picked** | `uv` present, or neither (bootstrapped)                   | `uv` absent, `pipx` present             |

## Using Each Backend

### uv tool (recommended)

`uv tool install` creates a fully isolated environment managed by uv. The fastest option, and the installer auto-bootstraps `uv` when neither `uv` nor `pipx` is present.

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Auto-detected if uv is installed (or bootstrapped if neither exists)
curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh

# Force explicitly
PRAISONAI_INSTALLER=uv curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh

# Or directly (no installer needed)
uv tool install praisonai
```

### pipx

`pipx install` creates an isolated venv managed by pipx. Familiar to Python developers.

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Auto-detected if uv is absent and pipx is installed
curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh

# Force explicitly
PRAISONAI_INSTALLER=pipx curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh

# Or directly (no installer needed)
pipx install praisonai
```

### uvx (zero-install one-shot)

Runs PraisonAI in a temporary environment without a persistent install. Good for one-off commands.

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
uvx praisonai "2+2"
```

## Environment Variable

Force a manager without changing the install command:

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
PRAISONAI_INSTALLER=pipx curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh
PRAISONAI_INSTALLER=uv   curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh
```

Valid values: `uv`, `pipx`. `pipx` errors if not installed; `uv` bootstraps itself when missing.

## PATH Management

Both backends expose the CLI at `~/.local/bin/praisonai`. The installer appends an idempotent block (grepped before writing) to your shell rc:

* **zsh** → `~/.zshrc`
* **bash** → `~/.bashrc` **and** the applicable login profile (`~/.bash_profile` → `~/.bash_login` → `~/.profile`)
* **fish** → `~/.config/fish/config.fish`
* anything else → `~/.profile`

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# bash / zsh
export PATH="$HOME/.local/bin:$PATH"
```

```fish theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# fish (fish_add_path when available, POSIX-safe fallback otherwise)
if type -q fish_add_path
    fish_add_path $HOME/.local/bin
else
    set -gx PATH $HOME/.local/bin $PATH
end
```

## Uninstalling

Use the built-in self-management command — it removes any managed install via the detected manager.

<Card title="praisonai uninstall" icon="trash" href="/docs/features/praisonai-uninstall">
  `praisonai uninstall` (or `--yes` for CI) removes the managed install cleanly
</Card>

***

## Related

<CardGroup cols={2}>
  <Card title="Quick Install" icon="bolt" href="/docs/install/quickstart">
    One-liner install command
  </Card>

  <Card title="Installer Internals" icon="gear" href="/docs/install/installer">
    Full install.sh reference
  </Card>

  <Card title="Upgrade" icon="arrow-up" href="/docs/features/praisonai-upgrade">
    Update the CLI in place
  </Card>

  <Card title="Uninstall" icon="trash" href="/docs/features/praisonai-uninstall">
    Remove the managed install
  </Card>
</CardGroup>
