Upgrade & Uninstall

One-line install, in-place upgrade, clean uninstall — plus a non-blocking new-version hint

Install PraisonAI with one command, keep it current with praisonai upgrade, and remove it cleanly with praisonai uninstall.

bash
curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh
Diagram

yes

done with it

curl install.sh

uv or pipx?

managed env

praisonai run

new version?

hint on startup

praisonai upgrade

praisonai uninstall

Quick Start

  1. Install with one line

    No Python knowledge needed. The installer provisions an isolated environment and puts praisonai on your PATH.

    bash
    curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh

    Then start:

    bash
    praisonai setup
  2. Check for a newer release

    --check reports whether an update exists without changing anything.

    bash
    praisonai upgrade --check
  3. Upgrade in place

    Run without flags to update via the detected tool manager (uv tool / pipx).

    bash
    praisonai upgrade
  4. Uninstall cleanly

    Remove the managed environment and the global praisonai shim.

    bash
    praisonai uninstall

The One-Liner

One command detects your platform and installs PraisonAI into an isolated, managed environment.

bash
curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh

The installer:

  • Detects your platform, architecture, and shell
  • Provisions an isolated environment via uv tool install (bootstrapping uv when absent) or pipx
  • Is idempotent and safe to re-run
  • Wires PATH for bash, zsh, and fish
  • Prints a first-run hint (praisonai setup)

Environment Overrides

Env varPurpose
PRAISONAI_VERSION=x.y.zPin to a specific version
`PRAISONAI_INSTALLER=uv\pipx`Force a specific tool manager
PRAISONAI_NONINTERACTIVE=1CI/headless installs — no prompts
Pin a version
PRAISONAI_VERSION=4.6.0 curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh
Force pipx
PRAISONAI_INSTALLER=pipx curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh
CI / headless
PRAISONAI_NONINTERACTIVE=1 curl -fsSL https://raw.githubusercontent.com/MervinPraison/PraisonAI/main/install.sh | sh

Commands

upgrade

Updates the managed install in place, or reports availability with --check.

bash
# Upgrade to the latest release
praisonai upgrade

# Report-only: never mutates anything
praisonai upgrade --check

# Machine-readable output for scripts
praisonai upgrade --check --json

--check JSON reports the current and latest versions plus whether an update is available:

json
{ "current": "2.4.0", "latest": "2.5.0", "update_available": true }

An actual upgrade reports the manager and version transition:

json
{ "manager": "uv", "previous": "2.4.0", "current": "2.5.0" }
FlagDescription
--checkReport whether a newer version exists without upgrading

uninstall

Removes the managed environment and shim. Use --yes to skip the prompt.

bash
# Interactive: confirms before removing
praisonai uninstall

# Non-interactive (CI): skip the confirmation prompt
praisonai uninstall --yes

# Machine-readable output
praisonai uninstall --yes --json

JSON output records the manager and the removed version:

json
{ "manager": "uv", "removed": "2.5.0" }
FlagDescription
--yes, -ySkip the confirmation prompt (non-interactive/CI)

How Your Install Is Detected

Detection mirrors the installer: isolated tool managers are preferred, with pip as the fallback for library installs.

ManagerUpgradeUninstall
uv tooluv tool upgrade praisonaiuv tool uninstall praisonai
pipxpipx upgrade praisonaipipx uninstall praisonai
pip (fallback)pip install --upgrade praisonaipip uninstall -y praisonai

CI Usage

Combine --yes and --json for non-interactive automation.

bash
# Fail the job if an update is pending
praisonai upgrade --check --json

# Tear down the managed install without prompts
praisonai uninstall --yes --json

Update-Available Hint

PraisonAI hints when a newer version is out — without ever slowing down start-up.

Diagram
PyPI~/.praisonai/statepraisonaiUserPyPI~/.praisonai/statepraisonaiUserpraisonai runread cached hint (no network)newer version? show hintrun + optional hintrefresh cache in backgroundlatest version stored for next run

The hint:

  • Is non-blocking on start (text mode only)
  • Is backed by a time-boxed cache at ~/.praisonai/state/update_check.json (24-hour freshness, honours PRAISONAI_HOME)
  • Never performs network I/O at start-up, never blocks, and never raises
  • Refreshes the cache in a detached background process for the next run

Opt Out

Set one environment variable to disable the hint entirely:

bash
export PRAISONAI_NO_UPDATE_CHECK=1
Env varEffect
PRAISONAI_NO_UPDATE_CHECK=1Disables the background update check and hint

Which Install Do I Choose?

Diagram

Managed, single-command

Control the venv myself

How do I want to install?

curl install.sh

pip install praisonai

praisonai upgrade / uninstall

pip install –upgrade praisonai

This feature lives entirely in the CLI (praisonai-code/cli) plus install.sh at the repo root. Choose the one-liner for a managed, single-command experience; choose pip when you want to control the virtual environment yourself.


Best Practices

Use the one-liner for a managed experience

The curl … | sh installer keeps PraisonAI in an isolated environment, so your global Python is untouched and praisonai upgrade / praisonai uninstall work cleanly.

Pin versions in CI

Set PRAISONAI_VERSION=x.y.z and PRAISONAI_NONINTERACTIVE=1 for reproducible, prompt-free installs in pipelines.

Script upgrade checks with –check

Run praisonai --json upgrade --check in automation to detect newer releases without mutating the install.

Silence the hint in shared environments

Set PRAISONAI_NO_UPDATE_CHECK=1 to disable the update hint on machines where outbound network checks are unwanted.


Related