> ## Documentation Index
> Fetch the complete documentation index at: https://docs.claw.boo/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Release history of the clawboo CLI from the initial 0.1.0 release through v0.3.1.

Release history for the published artifact, the **`clawboo` CLI**. Clawboo is a monorepo of 30 `@clawboo/*` workspace packages (25 top-level plus 5 runtime adapters under `packages/adapters/`), but every one of those libraries is marked `private: true` and is never published to npm. They are bundled into the CLI's single executable at build time (`tsup` with `noExternal: [/^@clawboo\//]` for the server, leaving only `better-sqlite3`, `ws`, `pino`, `pino-pretty`, and `@opentelemetry/*` external), so the version line below is the version line of `apps/cli/package.json`.

Clawboo follows [Changesets](https://github.com/changesets/changesets). A change lands a `.changeset/*.md` file; merging the resulting "Version Packages" bot PR runs `publish.yml`, which re-runs the full PR gate (`verify:catalog`, `build`, `lint`, `typecheck`, `test`) plus the bundled-CLI clean-install smoke test, and then runs `pnpm changeset publish`. The catalog gate on that path is the offline one, checking the committed catalog against its committed integrity manifest; the live upstream re-derive (`verify:ingest`) runs in its own `verify-ingest.yml` workflow (weekly cron, plus PRs touching the ingest scripts), so an upstream outage cannot hold up a release. The full mechanics are in [Release process](/internals/release-process).

<Note>
  The current npm `latest` is **`clawboo@0.3.1`**, the version these docs describe, so `npx clawboo`
  installs v0.3.1.
</Note>

<Warning>
  Every `0.1.x` release (0.1.0 through 0.1.9) is **deprecated** on npm. The 0.1.x line is
  OpenClaw-only and predates the v0.2.0 native-first multi-runtime rewrite, so it no longer works
  reliably against current OpenClaw. Install the supported release with `npm install -g
      clawboo@latest`, or run `npx clawboo@latest`. The `@latest` is load-bearing here: a bare `npx
      clawboo` can re-serve a deprecated build already sitting in npm's `_npx` cache, which is the exact
  situation this warning is about.
</Warning>

## At a glance

| Version | Tag             | npm        | Theme                                                                                          |
| ------- | --------------- | ---------- | ---------------------------------------------------------------------------------------------- |
| 0.3.1   | `clawboo@0.3.1` | published  | Team-chat reliability, live status badges, per-runtime provider manager                        |
| 0.3.0   | `clawboo@0.3.0` | published  | Native-first: run Gateway-free on one provider key, mixed-runtime teams, live native team chat |
| 0.2.0   | `clawboo@0.2.0` | published  | The liberated cut, full multi-runtime orchestrator                                             |
| 0.1.9   | `clawboo@0.1.9` | deprecated | Welcome redesign, lighter install, team colors                                                 |
| 0.1.8   | `clawboo@0.1.8` | deprecated | Light/dark theme + design-system pass                                                          |
| 0.1.7   | `clawboo@0.1.7` | deprecated | Device pairing in the wizard + Windows hardening                                               |
| 0.1.6   | `clawboo@0.1.6` | deprecated | Bootstrap: verify install state, don't trust localStorage                                      |
| 0.1.5   | `clawboo@0.1.5` | deprecated | In-dashboard device pairing (OpenClaw 2026.5+)                                                 |
| 0.1.4   | `clawboo@0.1.4` | deprecated | OpenClaw protocol-4 + Windows install support                                                  |
| 0.1.3   | `clawboo@0.1.3` | deprecated | CLI port discovery: HTTP-verify Clawboo identity                                               |
| 0.1.2   | `clawboo@0.1.2` | deprecated | SPA root-path fix (`Cannot GET /`)                                                             |
| 0.1.1   | `clawboo@0.1.1` | deprecated | First real release (v0.1.0 marketplace milestone)                                              |
| 0.1.0   | `clawboo@0.1.0` | deprecated | Initial package scaffold                                                                       |

The 0.1.1–0.1.7 line is a run of first-time-user-blocker fixes: each one closed a concrete reason a fresh `npx clawboo` install failed to reach a working dashboard. 0.1.8 and 0.1.9 are the visual/onboarding releases. 0.2.0 is the architectural leap that made Clawboo runtime-agnostic, and 0.3.0 is the product that leap made possible: native-first, so the first run needs one provider key and nothing else. 0.3.1 is the follow-up patch that made the native path trustworthy day to day.

***

## 0.3.1, team-chat reliability and provider UX

A patch release on top of native-first. Nothing architectural moved; the changes are the ones you feel while actually using a native team.

**Team chat**

* **Replies no longer vanish.** Every streamed team-chat reply now commits to the transcript or is cleanly cleared, so a delegating agent's message can't disappear on the next update or on reload. A native 1:1 reply that fails mid-stream is preserved rather than silently dropped.
* **Live Working / Idle badges.** The sidebar agent and Group Chat status indicators update in real time for native and server-orchestrated team runs and native 1:1 chats, not only for OpenClaw over a live Gateway.

**Providers and models**

* **Runtime provider manager.** The Runtimes panel's Manage view for Clawboo Native, OpenClaw, and Hermes lists the LLM providers you have actually connected (synced with Settings → Providers), each with per-provider connect and disconnect, one-click reconnect using an existing key, and a default-model picker for Native. A native runtime with no key now honestly reads "Disconnected" with a "Set up in Runtimes" shortcut.
* **Reconnect any provider.** Reconnecting Clawboo Native is no longer Anthropic-only; reconnect with any provider you have already configured.
* **Two-layer team model picker.** When creating a team you pick a provider first (only the connected ones), then its model. The trigger shows the exact default model that will run instead of an opaque "Recommended", and the panel opens on the provider the current model actually belongs to. See [Teams](/using/teams).

**Onboarding and polish**

* The Add-runtimes step shows connected providers read-only, with a Back button to the provider step where keys are added.
* The sidebar mascot's hover tooltip appears promptly and reads "Boo Zero", matching what clicking it opens.

***

## 0.3.0, native-first

0.2.0 made Clawboo runtime-agnostic. 0.3.0 is what that unlocked: **the first run needs one provider key and nothing else**. No OpenClaw install, no Gateway, no external CLI. Everything else, OpenClaw, Claude Code, Codex, and Hermes, is now something you add to a working setup rather than a prerequisite for having one.

**Onboarding and providers**

* **Native-first wizard**: the first real step connects a provider key, then optionally adds runtimes, then deploys a real team from the 82-team marketplace. Connect, Runtimes, Team, Ready. The generic auto-seeded pair is gone: you pick the team you actually want, and it deploys fully native. See [Quickstart (native)](/getting-started/quickstart-native).
* **Ten key-based native providers plus keyless Ollama**: Anthropic, OpenAI, OpenRouter, and Ollama, plus Google, xAI, Groq, Mistral, Together, Cerebras, and Moonshot routed through an OpenAI-compatible base URL. Pasting a key fetches that provider's live model list, so the model picker offers what your key can actually reach.
* **Providers hub** in Settings, with API keys moved out of Maintenance into one surface, backed by an encrypted vault under `~/.clawboo/secrets/`. A key you connect once is reused: an Anthropic key satisfies Claude Code, an OpenRouter key satisfies Hermes, and OpenClaw setup no longer asks for a second key.
* **First-run capability tour**: a one-time, skippable spotlight over the real sidebar controls that ends by opening your team's group chat. See the [dashboard tour](/getting-started/dashboard-tour).

**Teams, models, and chat**

* **Per-agent runtime and model pickers** in create-team: every member, leader included, gets its own runtime (Native, OpenClaw, Claude Code, Codex, Hermes) and, where the runtime honors one, its own model. An unavailable choice degrades to Native rather than blocking the deploy, so a marketplace team still ships with the Gateway down. See the [multi-runtime team guide](/guides/multi-runtime-team).
* **Native team chat, live**: a native-only team sends from the group-chat composer and streams back. The earlier read-only limitation is gone. Native 1:1 chat resumes its prior session each turn, so Boo Zero remembers the conversation. See [Using group chat](/using/group-chat).
* **Server-side, persistent orchestration**: every team's delegation engine runs on the server, per team, over one shared core, with the browser a thin client over REST and SSE. A cascade continues with no client connected and survives a tab close or a server restart. See [Delegation and orchestration](/concepts/delegation-and-orchestration).
* **Native multi-agent delegation**: a native leader hands work to teammates through a structured `delegate` signal the engine observes, so the claim, run, and report-up loop fires for native teams exactly as it does for OpenClaw. Failed and abandoned delegations now surface on the board instead of leaving the delegator waiting. See [The board](/concepts/the-board).
* **Editable model per agent**: the agent view fuses each agent's runtime badge with its model control, so you can see which runtime an agent runs on and change its model where that is meaningful. Codex and Claude Code show a runtime-managed note rather than a dropdown that would not take effect.

**The graph**

* **Runtime badges and model orbitals**: every Boo carries its runtime's brand mark, and expanding one reveals the model it runs on. See [Ghost Graph](/using/ghost-graph).
* **MCP connector nodes**: an agent's attached MCP servers appear as their own tiles with per-service glyphs, alongside its skills and built-ins, each type colour-coded so the fan reads at a glance. An agent with no per-agent capabilities of its own now surfaces its runtime's shared ones, so Codex, OpenClaw, and Hermes agents are no longer bare. See [Capabilities dashboard](/using/capabilities-dashboard).
* The Gateway's built-in `main` agent is hidden from the graph and sidebar unless it is genuinely your default agent, so a native-first install is not cluttered by Gateway plumbing.

**Resilience**

* **A degraded Gateway no longer blocks you**: if you have any non-OpenClaw agent, the dashboard loads and a non-blocking banner offers recovery, instead of a full-screen wall. The banner offers the action that actually applies: restarting the Gateway when it rejected the token, approving the device when it is unpaired, retrying when it is genuinely unreachable.
* **Hermes installs on a modern Python**: the installer resolves a 3.11+ interpreter instead of failing against the system 3.9. **Codex login is detected**, so an existing `codex login` is recognised rather than prompting again.
* **Security**: a non-loopback bind now refuses to start without an access token, and CI workflows run with least-privilege permissions.

The 304-agent, 82-team marketplace catalog, the MCP quartet, verification, governance, and observability all carry forward from 0.2.0. There is no schema migration between 0.2.0 and 0.3.0; the [no-migration-ladder](/operating/data-and-state) reset caveat is the same.

***

## 0.2.0, the liberated cut

The version that turns Clawboo from an OpenClaw control surface into a runtime-agnostic orchestrator. The headline: **native agents are built in**: paste a provider key, no external CLI, no Gateway. OpenClaw, Claude Code, Codex, and Hermes join as peer teammates in one chat, sharing one durable [board](/concepts/the-board), one tiered [memory](/concepts/memory), and one [capability dashboard](/using/capabilities-dashboard), all [governed](/concepts/governance) and [verified](/concepts/verification).

What this cut brings over the 0.1.x line:

* **Five runtimes** behind one `RuntimeAdapter` trait (`clawboo-native`, `openclaw`, `claude-code`, `codex`, `hermes`): see [Runtimes overview](/runtimes/index).
* **A durable task board** as the canonical coordination surface, with an atomic single-assignee claim and a board-driven orchestration path that replaced the prose/regex chat-relay engine: see [The board](/concepts/the-board) and [Delegation & orchestration](/concepts/delegation-and-orchestration).
* **The MCP quartet**: four clawboo-hosted servers (tasks, memory, tools, teamchat) exposing the board/memory/tools/peer-chat as MCP tools an external agent can attach: see [MCP tools reference](/reference/mcp-tools).
* **Verification (builder ≠ judge)**: a deterministic gate plus an independent critic, with a `completed_with_debt` outcome: see [Verification](/concepts/verification).
* **Governance**: USD budgets with a kill-switch, tool-loop circuit breakers, depth/fan-out caps, and an audit log: see [Governance](/concepts/governance).
* **Observability**: an append-only orchestration event log, traces, an error taxonomy, and a Ghost-Graph-over-event-log projection: see [Observability](/concepts/observability).
* **Native-first onboarding**: the wizard's first real choice is which runtime to run, with the native path seeding a default leader + specialist team: see [Quickstart (native)](/getting-started/quickstart-native).
* **Per-runtime native homes** under `~/.clawboo/runtimes/<runtime>/<agentId>/`, an **encrypted credential vault** under `~/.clawboo/secrets/`, the **team-task scheduler** (Routines), and a release-cut security audit (case-folded access gate, loopback-exempt `/api/mcp/*`, default loopback bind).

<Info>
  Schema model: there is **no migration ladder**. The `createDb` inline `CREATE TABLE IF NOT EXISTS`
  DDL is the sole schema source; a schema change is a hard reset, and there is no in-place upgrade
  from a 0.1.x database to 0.2.0. See [Data & state](/operating/data-and-state).
</Info>

***

## 0.1.9

Welcome redesign, lighter install, and team color collections (changesets `53a05b2`, `6f718e2`).

* **Calm Day-sky welcome**: a soft animated sky with drifting clouds (pure CSS/SVG) replaces the WebGL ShaderGradient atmosphere on the onboarding splash and home welcome, with a faint "boo-verse" of distant boo silhouettes drifting behind the clouds. The welcome is theme-independent (always the bright sky).
* **Removed the WebGL/three.js stack** (`@shadergradient/react`, `@react-three/fiber`, `three`, `three-stdlib`), smaller install/bundle, no GPU cost on first paint.
* **Fresh installs default to light theme** so onboarding happens in light mode; switchable to light/dark/system afterward.
* **Team color collections**: each team picks from 8 color palettes with per-team hue rotation, and the create-team preview matches the deployed palette.
* **Token-usage tracking by team and agent**; onboarding flow improvements; removed the unused Ollama-check API.
* **Windows `/api/system/status` hang fixed**; the synchronous `where`/`which` binary probe (`findExecutable`) is now timeout-bounded, so a slow spawn under Windows Defender can no longer block the server's event loop and stall the onboarding DetectStep.

## 0.1.8

Light/dark theme with toggle + persisted preference; premium design-system pass (4-tier surfaces, type scale, motion); Atlas radial layout; GitHub star CTA; authentic provider brand marks and an app-consistent model dropdown in onboarding; onboarding-hang and atmosphere fixes (changeset `4ecda72`). This was the first feature release after the 0.1.1–0.1.7 blocker-fix run. See [Theming](/using/theming).

## 0.1.7

Device pairing in the onboarding wizard and Windows compatibility hardening (changesets `9309ee0`, `9038cab`).

* **Device pairing fixed on fresh macOS installs**: `POST /api/system/approve-device` uses `spawnSync` for the `openclaw devices approve --latest` preview step so the CLI's preview-mode non-zero exit code no longer swallows the request-id stdout that the handler parses. The wizard's `StartGatewayStep` now catches `GatewayResponseError { code: 'NOT_PAIRED' }` and renders the in-product `DevicePairingApproval` card inline, so users no longer need a manual page refresh to escape the wizard on a fresh install with OpenClaw 2026.5.x.
* **Windows `.cmd` spawn compatibility**: launch `.cmd`/`.bat` shims with `shell: isWindows` + `windowsHide: isWindows` across six `child_process` sites (CVE-2024-27980 hardening; no `cmd.exe` console popup), with the SSE-emitting sites wrapped in try/catch so a synchronous spawn throw surfaces as a clean SSE error instead of crashing the request handler. Also bumped the CLI dashboard poll to 45s for slow Windows cold-boot, raised gateway-client RPC timeouts (default 60s, per-call 120s on `agents.create`/`agents.files.set`), and added mid-launch Gateway-detection so a Retry click joins the existing launch instead of spawning a duplicate `openclaw` process. All no-ops on Unix.

## 0.1.6

Bootstrap reliability: always verify OpenClaw install state instead of trusting stale `localStorage` (changeset `7a8c3ff`). A user who had onboarded an older Clawboo and then uninstalled OpenClaw was dumped onto the connect screen with no path back to the install wizard, because `GatewayBootstrap` short-circuited on the `clawboo.onboarded` localStorage flag (which persists by browser origin and survives both an npm uninstall and clearing `~/.openclaw/`). The fix always fetches `/api/system/status`: on-disk state is the source of truth, and the localStorage flag is cleared whenever it disagrees.

## 0.1.5

In-dashboard device pairing approval for OpenClaw 2026.5+ (changeset `1cc97fe`). OpenClaw 2026.5.x dropped auto-pair-on-first-connect, so every fresh install hit a `NOT_PAIRED` rejection requiring two manual `openclaw devices approve` CLI commands. This release added an inline "Approve this device" UI: when the connect throws `NOT_PAIRED`, the form swaps to a single button hitting `POST /api/system/approve-device`, which shells out to `openclaw devices approve --latest` to extract the pending request-id, then `openclaw devices approve <UUID>` for the approval. After approval the SPA auto-retries the connect. See [Device pairing](/runtimes/openclaw).

## 0.1.4

OpenClaw protocol-4 compatibility and Windows install support (changeset `68ebc29`).

* **Protocol mismatch**: OpenClaw 2026.5.18 bumped the WS connect protocol from 3 to 4, but the gateway-client advertised `maxProtocol: 3` only, so fresh installs (which ran `npm install -g openclaw@latest`) hit a protocol mismatch at connect. The fix bumped `maxProtocol` to 4 (`minProtocol` stays at 3 for older OpenClaw) and pinned the install spec to `openclaw@^2026.5` so a future protocol 5 cannot silently break users.
* **Windows spawn `ENOENT`**: `execFileSync('which', ...)` and `spawn('npm', ...)` are Unix-only (Windows npm is `npm.cmd`), causing `spawn npm ENOENT` at the Install step and a persistent "not installed" detection. The fix added a `platform.ts` helper (`findExecutable` for cross-platform `which`/`where`, `resolveShimName` to append `.cmd`), plus a `netstat`-based port-to-PID fallback. CI's clean-install smoke test now runs on a `[ubuntu-latest, windows-latest]` matrix.

## 0.1.3

CLI port discovery: HTTP-verify Clawboo identity during port scanning instead of probing TCP blindly (changeset `aef820f`). The OpenClaw Gateway listens on auxiliary ports (18791, 18792) inside Clawboo's 18790–18809 fallback window, so a TCP-only probe could mistake an unrelated listener (Gateway aux ports, Chrome's `--remote-debugging-port`, etc.) for an already-running Clawboo dashboard and open the browser to a 401 page. The fix added `probeClawbooDashboard()`, which does a TCP probe **and** a Clawboo-shaped JSON check on `/api/settings`; only ports that return a real Clawboo response are accepted. The release also added `scripts/test-clean-install.mjs`, a full clean-install simulation that boots a fake non-Clawboo listener on 18791 before invoking the CLI, wired into both CI and the publish gate.

## 0.1.2

SPA root-path fix in the bundled production server (changeset `e7b9363`). v0.1.1 shipped an Express 5 wildcard catch-all (`/{*splat}`) that failed to match the bare `/` route under `path-to-regexp` v8, so users got `Cannot GET /` instead of the SPA. The fix replaced it with a version-agnostic `app.use(handler)` pattern and added a `smoke-test-bundle` CI job that boots the bundled server and curls `/`.

## 0.1.1

First real release, replaces the v0.0.0 / v0.1.0 placeholder builds (changeset `be71923`). Ships the v0.1.0 marketplace-redesign milestone:

* 304 first-class agent catalog entries across 3 sources (agency-agents, awesome-openclaw, clawboo builtin) and 82 workflow team templates (5 builtin, 5 agency-workflows, 42 awesome-openclaw, 30 synthetic excellence partitions).
* A 3-tab marketplace (Skills / Agents / Teams) with single-agent deploy flow.
* The Atlas global org-graph, Group Chat team halos, and Boo Zero as universal leader.
* Multi-agent orchestration via the structured `<delegate>` protocol, multi-step `<plan>` state machine, and parallel workstreams with auto-synthesis.
* Auto-install onboarding (Detect → Install → Configure → StartGateway → Team → Deploy).
* Dynamic API port resolution (default 18790, auto-fallback through 18809) so the server never collides with other dev servers.
* Local-DB ghost cleanup and per-agent KV cleanup on agent delete.

<Note>
  The 0.1.1 orchestration model, prose/regex chat-relay with
  DelegationCards/PlanCards/WorkstreamCards, was superseded in v0.2.0 by board-driven orchestration
  over structured lifecycle events. The marketplace catalog (304 agents, 82 teams) carries forward
  and is still codegen'd by `scripts/ingest-marketplace-content.ts`. See [Codegen &
  ingestion](/internals/codegen-and-ingestion) for the gates that keep it honest.
</Note>

## 0.1.0

Name-claim placeholder. Published to reserve the `clawboo` name on npm; superseded by the first real release at 0.1.1.

***

## See also

* [Known issues](/appendices/known-issues), candid limitations and dormant seams
* [Release process](/internals/release-process), Changesets, `publish.yml`, the clean-install gate
* [Installation](/getting-started/installation), `npx clawboo` and what it launches
* [What is Clawboo](/intro/what-is-clawboo), positioning and the v0.2.0 wedge
* [Glossary](/appendices/glossary), canonical term definitions
