Browse modern docs

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.

Configuration

Core runtime configuration lives at .pi/claw.jsonc. Pi package loading lives separately at .pi/settings.json. Do not put Clawa worker definitions into Pi settings or package paths into the Clawa config.

Core configuration example

{
  "bootstrapped": true,
  "clawas": {
    "baseDir": "clawas",
    "workers": [
      {
        "id": "researcher",
        "title": "Research Clawa",
        "emoji": "🔎",
        "cwd": "clawas/researcher",
        "enabled": true,
        "autostart": true,
        "startupPrompt": "Return to the research lane.",
        "model": "provider/model-id",
        "thinking": "high",
        "reportMode": "auto",
        "extensions": []
      }
    ]
  },
  "clawa": {
    "humanName": "human",
    "mainClawName": "Clawa",
    "clawasName": "Clawas",
    "workerSessionPrefix": "Clawas",
    "controlPlaneDir": "clawas",
    "controlSocketDir": "clawas-control"
  }
}

JSON with comments is accepted. Saving through Clawa rewrites normalized JSON without preserving comments.

Worker session history and terminal handles share .pi/clawas/session-registry.json by default. Tab location is runtime state, not another setting.

Worker fields

Field Meaning
id Required stable routing ID.
title Display name and tab label; defaults to the ID.
cwd Required worker home, usually relative to project root. Legacy workspace is accepted.
enabled Whether the worker is available to the runtime.
autostart Whether the main session should open its tab in the background.
startupPrompt Prompt used when starting its lane. Legacy initialPrompt is accepted.
model Optional Pi model selector for this worker.
thinking off, minimal, low, medium, high, or xhigh.
fastMode Optionally force Fast Mode on or off for this worker when supported by its provider extension.
reportMode auto, explicit, or off.
extensions Extra extension paths passed to this worker.

Malformed worker arrays, duplicate IDs, missing IDs/cwds, and invalid worker values throw visible config errors. Optional fields may be omitted, but a present boolean, thinking level, report mode, or extension list must have the documented type.

Continuity settings belong to Pi

Plain Pi owns compaction and overflow recovery. Optional Pi Codex owns its configured continuity. Clawa no longer has contextManagement, memoryPass, or memoryPassThreshold fields. Remove those obsolete entries from older configs; do not move them into Pi settings as Clawa options.

House memory and history remain available through clawa_memory and clawa_history. /memory remember freezes this conversation, starts a fresh one, and queues optional consolidation at idle. /memory retry <jobId> retries a failed job. Consolidation is not a context threshold or a rollover policy.

Pi project settings

Load the package checkout through project settings:

{
  "packages": ["/absolute/path/to/pi-clawa"]
}

To load only Clawa for a diagnostic run without changing settings:

pi --no-extensions -e /absolute/path/to/pi-clawa

Workers run from their own cwd, so Pi project settings discovered there can differ from the main home. If an extension works in main but is missing in a worker, check that worker’s settings. When the Discord adapter is loaded with Clawa, it propagates to worker tabs automatically. Each home’s optional Discord settings belong in its own .pi/clawa-discord/bot.env, not a worker flag or the main home’s .pi/claw.jsonc.