Back to Openclaw

Bun (experimental)

docs/install/bun.md

2026.5.51.5 KB
Original Source
<Warning> Bun is **not recommended for gateway runtime** (known issues with WhatsApp and Telegram). Use Node for production. </Warning>

Bun is an optional local runtime for running TypeScript directly (bun run ..., bun --watch ...). The default package manager remains pnpm, which is fully supported and used by docs tooling. Bun cannot use pnpm-lock.yaml and will ignore it.

Install

<Steps> <Step title="Install dependencies"> ```sh bun install ```
`bun.lock` / `bun.lockb` are gitignored, so there is no repo churn. To skip lockfile writes entirely:

```sh
bun install --no-save
```
</Step> <Step title="Build and test"> ```sh bun run build bun run vitest run ``` </Step> </Steps>

Lifecycle scripts

Bun blocks dependency lifecycle scripts unless explicitly trusted. For this repo, the commonly blocked scripts are not required:

  • @whiskeysockets/baileys preinstall -- checks Node major >= 20 (OpenClaw defaults to Node 24 and still supports Node 22 LTS, currently 22.14+)
  • protobufjs postinstall -- emits warnings about incompatible version schemes (no build artifacts)

If you hit a runtime issue that requires these scripts, trust them explicitly:

sh
bun pm trust @whiskeysockets/baileys protobufjs

Caveats

Some scripts still hardcode pnpm (for example docs:build, ui:*, protocol:check). Run those via pnpm for now.