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. 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.
The current npm
latest is clawboo@0.3.1, the version these docs describe, so npx clawboo
installs v0.3.1.At a glance
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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- Native multi-agent delegation: a native leader hands work to teammates through a structured
delegatesignal 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. - 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.
- 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.
- 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.
- The Gateway’s built-in
mainagent 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.
- 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 loginis 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.
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, one tiered memory, and one capability dashboard, all governed and verified. What this cut brings over the 0.1.x line:- Five runtimes behind one
RuntimeAdaptertrait (clawboo-native,openclaw,claude-code,codex,hermes): see Runtimes overview. - 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 and Delegation & 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.
- Verification (builder ≠ judge): a deterministic gate plus an independent critic, with a
completed_with_debtoutcome: see Verification. - Governance: USD budgets with a kill-switch, tool-loop circuit breakers, depth/fan-out caps, and an audit log: see Governance.
- Observability: an append-only orchestration event log, traces, an error taxonomy, and a Ghost-Graph-over-event-log projection: see 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).
- 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).
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.0.1.9
Welcome redesign, lighter install, and team color collections (changesets53a05b2, 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/statushang fixed; the synchronouswhere/whichbinary 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 (changeset4ecda72). This was the first feature release after the 0.1.1–0.1.7 blocker-fix run. See Theming.
0.1.7
Device pairing in the onboarding wizard and Windows compatibility hardening (changesets9309ee0, 9038cab).
- Device pairing fixed on fresh macOS installs:
POST /api/system/approve-deviceusesspawnSyncfor theopenclaw devices approve --latestpreview step so the CLI’s preview-mode non-zero exit code no longer swallows the request-id stdout that the handler parses. The wizard’sStartGatewayStepnow catchesGatewayResponseError { code: 'NOT_PAIRED' }and renders the in-productDevicePairingApprovalcard inline, so users no longer need a manual page refresh to escape the wizard on a fresh install with OpenClaw 2026.5.x. - Windows
.cmdspawn compatibility: launch.cmd/.batshims withshell: isWindows+windowsHide: isWindowsacross sixchild_processsites (CVE-2024-27980 hardening; nocmd.execonsole 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 onagents.create/agents.files.set), and added mid-launch Gateway-detection so a Retry click joins the existing launch instead of spawning a duplicateopenclawprocess. All no-ops on Unix.
0.1.6
Bootstrap reliability: always verify OpenClaw install state instead of trusting stalelocalStorage (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+ (changeset1cc97fe). 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.
0.1.4
OpenClaw protocol-4 compatibility and Windows install support (changeset68ebc29).
- Protocol mismatch: OpenClaw 2026.5.18 bumped the WS connect protocol from 3 to 4, but the gateway-client advertised
maxProtocol: 3only, so fresh installs (which rannpm install -g openclaw@latest) hit a protocol mismatch at connect. The fix bumpedmaxProtocolto 4 (minProtocolstays at 3 for older OpenClaw) and pinned the install spec toopenclaw@^2026.5so a future protocol 5 cannot silently break users. - Windows spawn
ENOENT:execFileSync('which', ...)andspawn('npm', ...)are Unix-only (Windows npm isnpm.cmd), causingspawn npm ENOENTat the Install step and a persistent “not installed” detection. The fix added aplatform.tshelper (findExecutablefor cross-platformwhich/where,resolveShimNameto append.cmd), plus anetstat-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 (changesetaef820f). 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 (changesete7b9363). 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 (changesetbe71923). 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.
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 for the gates that keep it honest.0.1.0
Name-claim placeholder. Published to reserve theclawboo name on npm; superseded by the first real release at 0.1.1.
See also
- Known issues, candid limitations and dormant seams
- Release process, Changesets,
publish.yml, the clean-install gate - Installation,
npx clawbooand what it launches - What is Clawboo, positioning and the v0.2.0 wedge
- Glossary, canonical term definitions