You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've submitted two PRs which fix this issue. The fix is split across two PRs because the failure sits at the repo boundary between NullHub and the embeddable chat package: #48 updates NullHub's UI-module installer to resolve the actual released archive asset and flatten the extracted package layout so lands where NullHub expects it. nullclaw/nullclaw-chat-ui#9 updates the chat-ui release packaging to actually ship the embeddable entrypoint alongside the static app bundle. Performed local validation after applying both changes locally and chat tabs for and loaded successfully. This issue should be resolved once both PRs are merged and new release of NullClaw (agent) with the chat-ui fix becomes available for download.
The PR for nullclaw/nullclaw-chat-ui was merged, but no new release published. Nullhub is fetching nullclaw-chat-ui from GitHub Releases which predates the PR being merged, so it's not being included in the build.
If you're really interested in getting things going so you can test, you could do the following:
cd ../nullclaw-chat-ui
npm install
npm run build:module
4. Build nullhub (embeds UI automatically)
cd ../nullhub
zig build
5. Run from nullhub/ directory (CWD matters for sibling discovery)
./zig-out/bin/nullhub
This produces:
../nullclaw/zig-out/bin/nullclaw — found at install time via stageLocalBinary()
../nullclaw-chat-ui/dist/module.js — found and built at startup via findLocalUiModuleDir()
chat tab loads from ~/.nullhub/ui/nullclaw-chat-ui@dev-local/module.js
When nullhub's installer runs, stageLocalBinary() finds ../nullclaw/zig-out/bin/nullclaw and findLocalUiModuleDir() finds ../nullclaw-chat-ui/, then runs npm run build:module and copies dist/ into ~/.nullhub/ui/nullclaw-chat-ui@dev-local/.
No GitHub release downloads, no release tags needed. The sibling directory layout handles everything.
Ok, sorry, I should have mentioned that I was building directly out of the repo as you described above. The one thing I didn't do though was pull the nullclaw-chat-ui. I'll give that a try
Hopefully @DonPrus can create a new release for nullclaw-chat-ui that includes the already merged PR so that when nullhub builds and pulls directly from the GitHub Releases it pulls in a version with the fix.
The nullclaw-chat-ui v2026.9.28 release is now out, and this is verified fixed end-to-end:
The release archives include the fixed module.js — the file missing from the March-era v2026.3.4 archives that broke the module install.
NullHub pulls it correctly from GitHub Releases: POST /api/ui-modules/nullclaw-chat-ui/install succeeds on both a main build and the released nullhub v2026.5.29 binary, and the module is served at /ui/nullclaw-chat-ui@latest/module.js (~1.6 MB).
Browser-verified on a fresh setup: the Chat tab loads the chat UI, renders the live conversation, and a message round-trip through a managed NullClaw instance completes normally.
One gap to be aware of (NullHub-side, worth a follow-up issue): the module is not installed automatically on a fresh NullHub install — neither startup nor instance creation triggers it, and the Chat tab's "Reinstall this instance to add it" hint doesn't either. Until that's addressed, a one-time:
curl -X POST http://<hub-host>:<port>/api/ui-modules/nullclaw-chat-ui/install
gets it installed, after which the Chat tab works for all instances.
Closing as resolved by nullclaw-chat-ui v2026.9.28.
Activity
vernonstinebaker commentedon May 5, 2026
I've submitted two PRs which fix this issue. The fix is split across two PRs because the failure sits at the repo boundary between NullHub and the embeddable chat package: #48 updates NullHub's UI-module installer to resolve the actual released archive asset and flatten the extracted package layout so lands where NullHub expects it. nullclaw/nullclaw-chat-ui#9 updates the chat-ui release packaging to actually ship the embeddable entrypoint alongside the static app bundle. Performed local validation after applying both changes locally and chat tabs for and loaded successfully. This issue should be resolved once both PRs are merged and new release of NullClaw (agent) with the chat-ui fix becomes available for download.
vernonstinebaker commentedon Jun 6, 2026
@ondrejhajek I think this is fixed now. Can you pull a recent release or build from head to confirm an close the issue if it's fixed.
cheribral commentedon Jun 16, 2026
For what it is worth, I pulled the latest changes for both of these repos today wanting to try out nullhub, and hit this same error.
vernonstinebaker commentedon Jun 16, 2026
The PR for nullclaw/nullclaw-chat-ui was merged, but no new release published. Nullhub is fetching nullclaw-chat-ui from GitHub Releases which predates the PR being merged, so it's not being included in the build.
If you're really interested in getting things going so you can test, you could do the following:
1. Clone all three as siblings
git clone https://github.com/nullclaw/nullhub.git
git clone https://github.com/nullclaw/nullclaw.git
git clone https://github.com/nullclaw/nullclaw-chat-ui.git
2. Build nullclaw (ReleaseSmall — required)
cd nullclaw
zig build -Doptimize=ReleaseSmall
3. Build nullclaw-chat-ui module
cd ../nullclaw-chat-ui
npm install
npm run build:module
4. Build nullhub (embeds UI automatically)
cd ../nullhub
zig build
5. Run from nullhub/ directory (CWD matters for sibling discovery)
./zig-out/bin/nullhub
This produces:
When nullhub's installer runs, stageLocalBinary() finds ../nullclaw/zig-out/bin/nullclaw and findLocalUiModuleDir() finds ../nullclaw-chat-ui/, then runs npm run build:module and copies dist/ into ~/.nullhub/ui/nullclaw-chat-ui@dev-local/.
No GitHub release downloads, no release tags needed. The sibling directory layout handles everything.
cheribral commentedon Jun 16, 2026
Ok, sorry, I should have mentioned that I was building directly out of the repo as you described above. The one thing I didn't do though was pull the nullclaw-chat-ui. I'll give that a try
cheribral commentedon Jun 16, 2026
Yes, that worked. Thank you!
vernonstinebaker commentedon Jun 16, 2026
Great! Glad to hear it's working.
Hopefully @DonPrus can create a new release for nullclaw-chat-ui that includes the already merged PR so that when nullhub builds and pulls directly from the GitHub Releases it pulls in a version with the fix.
eabase commentedon Sep 27, 2026
@DonPrus
Igor,
Do you have any updates on this?
Was there fix as said by Vernon?
vernonstinebaker commentedon Sep 28, 2026
The nullclaw-chat-ui v2026.9.28 release is now out, and this is verified fixed end-to-end:
module.js— the file missing from the March-erav2026.3.4archives that broke the module install.POST /api/ui-modules/nullclaw-chat-ui/installsucceeds on both amainbuild and the released nullhub v2026.5.29 binary, and the module is served at/ui/nullclaw-chat-ui@latest/module.js(~1.6 MB).One gap to be aware of (NullHub-side, worth a follow-up issue): the module is not installed automatically on a fresh NullHub install — neither startup nor instance creation triggers it, and the Chat tab's "Reinstall this instance to add it" hint doesn't either. Until that's addressed, a one-time:
gets it installed, after which the Chat tab works for all instances.
Closing as resolved by nullclaw-chat-ui v2026.9.28.