openclaw - 💡(How to fix) Fix Control UI assets missing from npm installs — Dashboard blank [1 participants]

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…
GitHub stats
openclaw/openclaw#68777Fetched 2026-04-19 15:07:42
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

Root Cause

Source code tracing reveals:

  1. prepack script (scripts/openclaw-prepack.ts:114-115) correctly runs pnpm build && pnpm ui:build
  2. Main build script (scripts/build-all.mjs) does not include a UI build step
  3. package.json files list (line 29) includes "dist/", so a proper npm publish should contain control-ui
  4. .gitignore excludes dist/, so a git clone will not have it

Likely failure paths:

  • CI or developer uses npm pack directly without going through the prepack hook
  • CI cache reuse causes dist/control-ui to not be rebuilt
  • Users install from git clone + npm install -g . instead of the npm registry
RAW_BUFFERClick to expand / collapse

Problem

Users report that after installation, the Dashboard is blank. Errors point to missing dist/control-ui assets.

Root Cause Analysis

Source code tracing reveals:

  1. prepack script (scripts/openclaw-prepack.ts:114-115) correctly runs pnpm build && pnpm ui:build
  2. Main build script (scripts/build-all.mjs) does not include a UI build step
  3. package.json files list (line 29) includes "dist/", so a proper npm publish should contain control-ui
  4. .gitignore excludes dist/, so a git clone will not have it

Likely failure paths:

  • CI or developer uses npm pack directly without going through the prepack hook
  • CI cache reuse causes dist/control-ui to not be rebuilt
  • Users install from git clone + npm install -g . instead of the npm registry

Suggested Fixes

  1. Add an optional UI build step to scripts/build-all.mjs, or clearly document that pnpm build does not include the UI
  2. Make ensureControlUiAssetsBuilt in the gateway emit a clear user-facing message when it fails (currently may fail silently)
  3. Consider triggering a UI build during npm postinstall for source-install scenarios

Related Files

  • scripts/openclaw-prepack.ts
  • scripts/build-all.mjs
  • src/infra/control-ui-assets.ts
  • package.json (files field)

extent analysis

TL;DR

Modify the scripts/build-all.mjs to include a UI build step or ensure the prepack script is executed before packaging to include the missing dist/control-ui assets.

Guidance

  • Review the scripts/build-all.mjs file to determine why the UI build step is not included and consider adding it as an optional step.
  • Verify that the prepack script is being executed before packaging by checking the package.json file for the prepack script and ensuring it is running pnpm build && pnpm ui:build.
  • Investigate the CI/CD pipeline to ensure that the dist/control-ui assets are being rebuilt correctly and not cached incorrectly.
  • Consider adding a clear user-facing message when the ensureControlUiAssetsBuilt function in the gateway fails to build the UI assets.

Example

No code snippet is provided as the issue does not require a specific code change, but rather a review and modification of the existing build scripts.

Notes

The suggested fixes assume that the issue is related to the build process and the missing dist/control-ui assets. However, the root cause may be more complex and require further investigation.

Recommendation

Apply a workaround by modifying the scripts/build-all.mjs file to include a UI build step or ensuring the prepack script is executed before packaging. This is because the issue is likely related to the build process and including the UI build step or executing the prepack script should resolve the issue.

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…

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 Control UI assets missing from npm installs — Dashboard blank [1 participants]