Modern 0.4.0 is the stable default. Install v0.4.0 for the release or follow modern for development. Requires Pi 0.99.2 or newer. Compare editions.
Installation
Clawa is a Pi package loaded from a git checkout, not a standalone agent runtime. Install it per
home through project settings or an explicit -e path, not globally. Keep the package checkout
separate from the folder that will become the Clawa’s home.
These docs describe modern 0.4.0, the stable default released on 2026-10-01.
Install v0.4.0 for the release. The modern branch is an optional development checkout.
Use the edition comparison to choose between modern and legacy.
What you need
- Git.
- Linux with
flockavailable. Local memory uses Linux no-follow file checks and process locks. - Node.js 24.15 or newer, but lower than 27.
- Pi 0.99.2 or newer, with a configured model provider.
- A clean folder for the home. First run explains the exact bootstrap boundary.
Both modern 0.4.0 and supported legacy 0.3.1 require Pi 0.99.2 or newer.
Neither maintained line supports older Pi installations. Legacy retains its RPC workers and
SQLite memory without adopting modern’s runtime architecture. The historical v0.3.0 tag stays
unchanged and does not include current maintenance.
Pi extensions execute with your user permissions. Read the trust boundaries before putting personal context into a home.
Install modern
Clone the stable release tag:
mkdir -p ~/src
git clone --branch v0.4.0 \
https://github.com/IgorWarzocha/pi-clawa.git ~/src/pi-clawa
This leaves the checkout detached at the release commit. To follow development instead, replace
v0.4.0 with modern in the clone command. Use v0.3.1 and the
legacy installation guide if you want
the earlier architecture.
Create a separate home:
mkdir -p ~/clawa-home
cd ~/clawa-home
You can try it directly:
pi -e ~/src/pi-clawa
For a permanent project-local install, run the helper from the home:
~/src/pi-clawa/scripts/install-project.sh
pi
The helper writes .pi/settings.json with the package checkout in packages. It refuses to replace
an existing settings file. If the home already has Pi settings, merge this entry yourself instead:
{
"packages": ["/home/you/src/pi-clawa"]
}
Do not use CLAWA_INSTALL_OVERWRITE=1 casually. It replaces the complete settings file, not only
the package list.
Global installs stay out of ordinary projects
Global installation is discouraged. Dormancy is a safety net, not an alternative setup path.
A globally loaded Clawa activates in an existing home with .pi/claw.jsonc. Without that config,
it stays dormant: no Clawa tools, skills, prompt changes, or running home services.
A project-local install or explicit pi -e ~/src/pi-clawa is a deliberate request to make a home.
These still bootstrap automatically in a clean folder. First run creates files but waits for the
first human message or task before starting a conversation. Pi Codex is optional, not an install
requirement.
Developing Clawa
Use a checkout of the modern branch for development, not the detached release tag.
Keep the full Git history. The strict gate builds modern docs from the working tree and maintained
legacy docs from Git. The build looks for local legacy, then origin/legacy. You can select an
available ref explicitly:
cd ~/src/pi-clawa
bun install
CLAWA_LEGACY_REF=origin/legacy bun run ai:check:strict
With either default ref available, run bun run ai:check:strict without the override. A shallow,
modern-only clone cannot build both editions. The release policy
explains how branch updates, docs deployments, and tagged releases differ.
The files and runtime state page separates home data from disposable runtime artifacts and lists what belongs in a backup or ignore policy.
Next
Start Pi in the home and continue to First run. Clawa creates its own files; there is
no separate init or setup wizard.
For later updates or a legacy migration, follow Upgrading, including its agent procedure and first restart checks.