Skip to main content
The PraisonAI installer automatically picks the best isolation backend (uv toolpipx → venv fallback) so you get a working praisonai CLI without touching your global Python environment.

install.sh (macOS / Linux / WSL)

How It Works

1

Detect OS

Identifies macOS, Linux distro, or WSL via uname -s and /proc/version.
2

Detect isolation backend

Checks PRAISONAI_BACKEND / --backend first. In auto mode (default), prefers uv toolpipx → venv fallback.
3

Build package spec

Defaults to praisonai[all] for a full install. Respects PRAISONAI_EXTRAS / --extras and PRAISONAI_VERSION / --version.
4

Install via chosen backend

  • uv: uv tool install --force praisonai[all] + uv tool update-shell
  • pipx: pipx install --force praisonai[all] + pipx ensurepath
  • venv: Python check → python -m venv ~/.praisonai/venvpip install praisonai[all] → symlink ~/.local/bin/praisonai → ~/.praisonai/venv/bin/praisonai
5

Ensure ~/.local/bin on PATH

Adds ~/.local/bin to the current shell session and appends an idempotent block to your shell rc (unless --no-modify-path):
# >>> PraisonAI PATH >>>
export PATH="$HOME/.local/bin:$PATH"
# <<< PraisonAI PATH <<<
6

Verify installation

  • venv backend: imports praisonaiagents via the venv python.
  • uv / pipx backends: checks that the resolved praisonai CLI runs (isolated env, not system Python).
7

Offer shell completions

Prompts once (TTY only, skipped under --no-prompt / --no-onboard / --dry-run) to install tab-completions for bash, zsh, or fish.
8

Interactive onboarding

Runs praisonai setup for LLM API key configuration, then offers praisonai onboard for Telegram / Discord / Slack / WhatsApp bot setup.

User Interaction Flow


CLI Flags

curl -fsSL https://praison.ai/install.sh | bash -s -- --help
FlagDescription
--version VERSIONInstall specific version (default: latest)
--extras EXTRASInstall with extras, e.g. ui,chat (default: all)
--backend BACKENDForce isolation backend: uv, pipx, venv, system, or auto
--install-dir DIRBase dir for the venv fallback (default: ~/.praisonai)
--no-modify-pathDo not append a PATH block to your shell rc
--no-venvSkip isolation — install into the active Python environment
--no-onboardSkip interactive onboarding after install
--python PATHUse a specific Python executable
--dry-runPrint what would happen without making any changes
--no-promptNon-interactive mode — skip all prompts
-h, --helpShow help

Environment Variables

VariableDefaultDescription
PRAISONAI_VERSIONlatestVersion to install
PRAISONAI_EXTRAS""Comma-separated extras (defaults to all)
PRAISONAI_BACKENDautoForce backend: uv / pipx / venv / system / auto
PRAISONAI_INSTALL_DIR~/.praisonaiBase dir for the venv fallback
PRAISONAI_NO_MODIFY_PATH0Skip shell rc PATH modification (1 to enable)
PRAISONAI_SKIP_VENV0Skip isolation entirely (1 to enable, same as --no-venv)
PRAISONAI_PYTHONauto-detectPath to Python executable
PRAISONAI_DRY_RUN0Preview mode (1 to enable)
PRAISONAI_NO_PROMPT0Skip all prompts (1 to enable)
PRAISONAI_NO_ONBOARD0Skip interactive onboarding (1 to enable)

Power-User Alternatives (No Installer Needed)

These are first-class supported paths — no installer required:
# Zero-install one-shot via uv
uvx praisonai "2+2"

# Isolated persistent install
pipx install praisonai

# Install into the active Python environment
pip install praisonai

Shell Completions

The installer offers to install tab-completions after a successful install:
Install bash shell completions for praisonai? [Y/n]
The prompt is auto-skipped when any of the following apply: --no-onboard, --no-prompt, --dry-run, or no TTY is available (e.g. CI). Re-run anytime:
praisonai completion bash    # append to ~/.bashrc
praisonai completion zsh     # append to ~/.zshrc
praisonai completion fish    # write ~/.config/fish/completions/praisonai.fish
Idempotency: bash/zsh completions are only appended if _praisonai_completion or #compdef praisonai is not already present. Fish completions are overwritten.

Choosing a Backend

Not sure which backend to pick? The installer chooses the best one automatically. Read more in Isolation Backends.

CI/CD Usage

- name: Install PraisonAI
  run: curl -fsSL https://praison.ai/install.sh | bash -s -- --no-prompt
  env:
    PRAISONAI_SKIP_VENV: "1"

Uninstall

uv tool uninstall praisonai

Troubleshooting

Restart your terminal or source your shell rc:
source ~/.zshrc   # zsh
source ~/.bashrc  # bash
Or add ~/.local/bin to PATH manually:
export PATH="$HOME/.local/bin:$PATH"
# Via flag
curl -fsSL https://praison.ai/install.sh | bash -s -- --backend pipx

# Via env var
PRAISONAI_BACKEND=pipx curl -fsSL https://praison.ai/install.sh | bash
curl -fsSL https://praison.ai/install.sh | bash -s -- --no-modify-path
# or
PRAISONAI_NO_MODIFY_PATH=1 curl -fsSL https://praison.ai/install.sh | bash
Then add ~/.local/bin to PATH manually in your shell rc.
The installer picks uv first in auto mode. Override with --backend pipx or PRAISONAI_BACKEND=pipx.
The installer requires Python 3.10+. If auto-install fails:
# macOS
brew install python@3.12

# Ubuntu/Debian
sudo apt install python3.12

# Then re-run installer
curl -fsSL https://praison.ai/install.sh | bash
# Install into active env without root
curl -fsSL https://praison.ai/install.sh | bash -s -- --no-venv
# or
pip install --user praisonai

install.ps1 (Windows)

What It Does

1

Detect Package Manager

Checks for winget, Chocolatey, or Scoop.
2

Check Python

Looks for Python 3.10+ using the py launcher.
3

Install Python (if needed)

  • winget: winget install Python.Python.3.12
  • Chocolatey: choco install python
  • Scoop: scoop install python
4

Create Virtual Environment

Creates at %USERPROFILE%\.praisonai\venv.
5

Install PraisonAI

Runs pip install praisonai[all].
6

Configure PATH

Adds venv Scripts folder to user PATH.

PowerShell Parameters

& ([scriptblock]::Create((iwr -useb https://praison.ai/install.ps1))) -Help
ParameterDescription
-VersionInstall specific version
-ExtrasInstall with extras
-NoVenvSkip virtual environment
-PythonUse specific Python
-DryRunPreview without changes
-HelpShow help

Post-Install Flow

After installation and verification, the installer runs an interactive onboarding sequence:
  1. Shell completions — offered once, idempotent
  2. Setup wizard (praisonai setup) — configure LLM API keys
  3. Bot onboarding (praisonai onboard) — set up Telegram / Discord / Slack / WhatsApp (default: Yes). See the onboard guide.
  4. Final summary — the onboard wizard’s ✅ Done panel, or the installer’s Next Steps block if onboarding was skipped.
If you skip the setup wizard (--no-prompt), the next praisonai invocation will detect missing credentials and offer to launch the wizard — or exit with a clear error in CI.

Quick Install

One-liner install with options

Isolation Backends

Choose between uv, pipx, and venv

Onboarding

Bot setup wizard

Scripts Reference

All developer scripts