pnpm, which is fully supported and used by docs tooling. Bun cannot use pnpm-lock.yaml and ignores it, and current Bun versions fail to resolve this repo’s pnpm-workspace.yaml layout during bun install, so dependency installs should use pnpm install.
Install
1
Install dependencies
bun install fails during workspace resolution. Use pnpm install.2
Build and test
3
Run OpenClaw with Bun
To run onboarding under Bun and install the managed Gateway under Bun:For a managed node host, select Bun separately:
Lifecycle scripts
Bun blocks dependency lifecycle scripts unless explicitly trusted. For this repo, the commonly blocked scripts are not required:baileyspreinstall: checks Node major >= 20 (OpenClaw requires Node 22.22.3+, 24.15+, or 25.9+, with Node 26 recommended)protobufjspostinstall: emits warnings about incompatible version schemes (no build artifacts)
Caveats
On macOS, Bun uses Apple’s system SQLite, which omits native extension loading. OpenClaw can open ordinary agent databases without extension loading when that library meets the WAL safety floor. Operations that require extensions, includingsqlite-vec, need an
extension-capable SQLite library. Use Node, or preload a compatible SQLite
library with Bun’s custom SQLite setup
before opening any database. OpenClaw does not select a different SQLite library
automatically.
Some package scripts hardcode pnpm internally (for example check:docs, ui:*, protocol:check). Running them via bun run still shells out to pnpm, so just run those via pnpm directly.