Install guide

All the ways to install

Looking for the quick path? Grab the installer for your OS on the Download page. This page has the per-distro commands, pip/pipx, from source, and troubleshooting.

Linux — Debian / Ubuntu (.deb)

Install the package (pulls python3 + numpy; adds an app-menu launcher):

sudo apt install ./priorstates-latest.deb

Double-clicking a .deb on Ubuntu often opens the Archive Manager instead of installing — use the command above (it also resolves dependencies), or install gdebi for a graphical installer.

Add agent tools + semantic recall, then wire your agents:

PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install --user mcp onnxruntime tokenizers
priorstates init && priorstates init --download-model   # wire agents · 127 MB local model

Non-English memory? Add --multilingual (priorstates init --download-model --multilingual, ~130 MB) for a 50+-language model with cross-lingual recall — an English query finds a Chinese / Russian / … memory. The zero-download hashing fallback is already Unicode-aware, so any language works even before you download a model.

Linux — RHEL / Rocky / Alma / Fedora (.rpm)

One noarch package (on EL9 it pulls Python 3.12 automatically):

sudo dnf install ./priorstates-latest.noarch.rpm
PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install --user mcp onnxruntime tokenizers
priorstates init && priorstates init --download-model   # RHEL/Rocky/Alma 9: python3.12 -m pip

Any distro / macOS — tarball

Extract and run the installer (wires agents + semantic recall; --lite skips the model):

tar -xzf priorstates-latest.tar.gz
cd priorstates-* && ./install.sh

Needs Python 3.10+ on PATH. RHEL / Rocky / Alma 9 ship 3.9 — first sudo dnf install python3.12; the installer picks it up automatically.

macOS (.pkg) & Windows (Setup.exe)

macOS — double-click the .pkg. It's “install for me only” — no admin password (signed & notarized, so no Gatekeeper prompt). Installs to your home; uninstall with sh ~/Library/PriorStates/install.sh --uninstall.

Windows — double-click Setup.exe (per-user, no admin; installs Python if needed).

Get both from the Download page. None of the installers need root/admin — the Linux .deb/.rpm use sudo (the system package model), but the one-liner, pip and tarball don't.

Command line

One command (Linux / macOS) — installs, initializes, and wires every detected agent:

curl -fsSL https://priorstates.com/install.sh | sh

Or let your AI agent do it — just tell it:

Install PriorStates: fetch https://priorstates.com/install.md and follow it.

pip / pipx

Any OS with Python 3.10+:

pip install -U priorstates

On Debian/Ubuntu (PEP 668), use pipx install priorstates — or pip install --user --break-system-packages -U priorstates.

Then wire your agents and open the cockpit:

priorstates init             # wires all detected agents automatically
priorstates cockpit          # → http://127.0.0.1:7700

Corporate / locked-down Windows (no .exe)

If your environment blocks downloading or running .exe installers, PriorStates is a Python package — install it without any installer:

py -m pip install --user pipx
py -m pipx install priorstates
priorstates init             # wire your agents

No installer to download, per-user (no admin), and clean to remove (pipx uninstall priorstates). PyPI is commonly allow-listed; if your org mirrors PyPI (Artifactory / Nexus), point pip at that index. You can also run it as py -m priorstates … with no launcher at all.

winget (coming soon): we're working on publishing PriorStates to winget (the Windows package manager built into Win 10/11) — it's not in winget-pkgs yet, so winget install PriorStates.PriorStates won't resolve for now. Once published it'll be a path IT often allow-lists even where direct .exe downloads are blocked.

From source

git clone your-repo-url priorstates
cd priorstates && ./install.sh   # install + init + wire agents

After installing

Restart your agents, then:

priorstates doctor           # which agents are wired · current memory scope
priorstates cockpit          # local web cockpit
priorstates gui              # desktop control panel

Global vs project memory: memory is global (~/.priorstates/) by default, and gains a project layer when an agent runs inside a repo where you ran priorstates init. priorstates doctor shows the active scope.