Skip to content

[Bug]: No public directory after global npm install, dashboard fails to load (配對 UI 消失) #21918

@nuinuikou-gif

Description

@nuinuikou-gif

Summary

Global npm install of OpenClaw does not include the public directory, causing the dashboard UI to fail to load and preventing device pairing.

Steps to reproduce

Run sudo npm install --global openclaw on macOS.
Check the installation directory: /usr/local/lib/node_modules/openclaw/ (or the global npm modules path).
Note that there is no public directory present.
Start the gateway with openclaw gateway start.
Open a browser and navigate to http://127.0.0.1:18789/.
Observe that the dashboard fails to load and only shows an error about a missing gateway token, with no UI available for pairing.

Expected behavior

After installing OpenClaw globally via npm, the public directory should exist in the installation path (e.g., /usr/local/lib/node_modules/openclaw/public), and opening http://127.0.0.1:18789/ in a browser should display the dashboard UI, allowing the user to enter the gateway token and complete device pairing.

Actual behavior

After installing OpenClaw globally via npm, the public directory is missing from the installation path. When opening http://127.0.0.1:18789/, the dashboard does not load and only displays an error message (disconnected (1008): unauthorized: gateway token missing), with no UI available to enter the gateway token for pairing.

OpenClaw version

2026.2.19-2

Operating system

macOS 15.7.2 24G325

Install method

npm global

Logs, screenshots, and evidence

No public directory present after global npm install:
niu-niu@MacBookPro ~ % ls -l /usr/local/lib/node_modules/openclaw/public
ls: /usr/local/lib/node_modules/openclaw/public: No such file or directory
Dashboard error message in browser:
disconnected (1008): unauthorized: gateway token missing (open the dashboard URL and paste the token in Control UI settings)
OpenClaw version:
niu-niu@MacBookPro ~ % openclaw --version
2026.2.19-2
Operating system version:
niu-niu@MacBookPro ~ % sw_vers
ProductName:    macOS
ProductVersion: 14.2.1
BuildVersion:   23C71

Impact and severity

Affected users/systems/channels:
All users installing OpenClaw globally via npm on macOS (and potentially other platforms using global npm install).
Severity:
High — This issue blocks access to the dashboard, prevents device pairing, and makes it impossible to complete onboarding or use essential features. It is a blocking issue for new installations.
Frequency:
Always occurs when installing OpenClaw globally via npm (reproducible 100%).
Consequence:
Users are unable to access the dashboard UI, cannot pair devices, and as a result, cannot use or manage their OpenClaw instance locally. This completely blocks the UI onboarding workflow and may prevent new users from successfully setting up OpenClaw.

Additional information

The issue persists across different browsers (Chrome, Safari, Firefox) and after clearing browser cache and using incognito/private mode.
The bug was observed with Node.js v25.6.1 and npm 11.9.0 on macOS.
Other installation methods (such as Docker) are not affected and provide the dashboard UI as expected.
Attempting to manually add a public directory or copy one from another system is impossible, as the directory does not exist in the npm package or GitHub repository.
No dashboard frontend resources are present after installation, suggesting a packaging or publishing problem with the npm release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions