openclaw - 💡(How to fix) Fix Build fails resolving protobufjs google/protobuf descriptor on WSL source checkout

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

A fresh WSL/Linux source checkout on current origin/main fails before the CLI can run because the on-demand TypeScript/runtime build cannot resolve ../google/protobuf/descriptor.json from protobufjs/ext/descriptor.js.

This blocks using pnpm openclaw ... from source and forced dogfood setup to use the published package (npx openclaw@latest) instead.

Root Cause

A fresh WSL/Linux source checkout on current origin/main fails before the CLI can run because the on-demand TypeScript/runtime build cannot resolve ../google/protobuf/descriptor.json from protobufjs/ext/descriptor.js.

Fix Action

Workaround

Use the published package (npx openclaw@latest) for dogfood runs. This does not fix source checkout builds.

Code Example

pnpm openclaw --version
# or
pnpm openclaw agents --help

---

[UNRESOLVED_IMPORT] Could not resolve '../google/protobuf/descriptor.json' in node_modules/protobufjs/ext/descriptor.js

---

node_modules/protobufjs/ext/descriptor.js
node_modules/@grpc/proto-loader/build/src/index.js
node_modules/@grpc/grpc-js/build/src/index.js
node_modules/@opentelemetry/otlp-grpc-exporter-base/...
node_modules/@opentelemetry/sdk-node/build/src/index.js
extensions/diagnostics-otel/src/service.ts
extensions/diagnostics-otel/index.ts

---

node_modules/protobufjs/google/api/annotations.json
node_modules/protobufjs/google/api/http.json
# missing: node_modules/protobufjs/google/protobuf/descriptor.json

---

npx --yes openclaw@latest --version
# OpenClaw 2026.5.20 (e510042)
RAW_BUFFERClick to expand / collapse

Bug type

Build / source checkout failure

Summary

A fresh WSL/Linux source checkout on current origin/main fails before the CLI can run because the on-demand TypeScript/runtime build cannot resolve ../google/protobuf/descriptor.json from protobufjs/ext/descriptor.js.

This blocks using pnpm openclaw ... from source and forced dogfood setup to use the published package (npx openclaw@latest) instead.

Steps to reproduce

  1. In WSL Ubuntu 24.04, create a clean Linux-side worktree from origin/main.
  2. Run pnpm install --frozen-lockfile.
  3. Run any source CLI command that triggers scripts/run-node.mjs, for example:
pnpm openclaw --version
# or
pnpm openclaw agents --help

Expected behavior

The source CLI should build its runtime artifacts and run the requested command.

Actual behavior

The build fails during bundled plugin/runtime build with:

[UNRESOLVED_IMPORT] Could not resolve '../google/protobuf/descriptor.json' in node_modules/protobufjs/ext/descriptor.js

The import chain includes:

node_modules/protobufjs/ext/descriptor.js
node_modules/@grpc/proto-loader/build/src/index.js
node_modules/@grpc/grpc-js/build/src/index.js
node_modules/@opentelemetry/otlp-grpc-exporter-base/...
node_modules/@opentelemetry/sdk-node/build/src/index.js
extensions/diagnostics-otel/src/service.ts
extensions/diagnostics-otel/index.ts

Environment

  • OS: WSL Ubuntu 24.04
  • Node: v24.15.0
  • pnpm: v11.2.2
  • Source checkout: origin/main at 8f8638393e (docs: tighten landable bug sweep gates)
  • Worktree: Linux-native under /root/src/openclaw-dogfood-sebby
  • Install command: pnpm install --frozen-lockfile

Evidence

node_modules/protobufjs exists and has google/api/*.json, but not the required descriptor file:

node_modules/protobufjs/google/api/annotations.json
node_modules/protobufjs/google/api/http.json
# missing: node_modules/protobufjs/google/protobuf/descriptor.json

pnpm why protobufjs resolves [email protected]. The lockfile/workspace override also pins protobufjs: 8.4.0.

The published package path still runs:

npx --yes openclaw@latest --version
# OpenClaw 2026.5.20 (e510042)

Impact

  • Blocks source CLI dogfooding from current main on WSL/Linux.
  • Blocks setting up a source-built WSL Sebby/OpenClaw dogfood runtime.
  • Affects build-time bundling through the diagnostics-otel OpenTelemetry gRPC path.

Workaround

Use the published package (npx openclaw@latest) for dogfood runs. This does not fix source checkout builds.

Additional notes

This may be a [email protected] package contents/exports issue, or the bundler may need to treat this descriptor import differently. I did not patch source because the immediate goal was to get WSL Sebby running, and the packaged CLI path worked.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The source CLI should build its runtime artifacts and run the requested command.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Build fails resolving protobufjs google/protobuf descriptor on WSL source checkout