fix(desktop): resolve skill install failure in packaged app#240
Merged
fix(desktop): resolve skill install failure in packaged app#240
Conversation
npx is not available on PATH inside the packaged Electron environment, causing community skill installs to fail with "spawn npx ENOENT". Replace npx with direct bin resolution via process.execPath + require.resolve(). Also fixes the sidecar dependency copier silently skipping bin-only packages (no main/exports), adds path traversal protection to desktop uninstall, and adds structured logging to the skillhub install/uninstall flow.
When a BYOK provider uses a non-default baseUrl (e.g. LiteLLM proxy), OpenClaw strips the provider prefix from model IDs. Use a byok_ prefixed provider key so the full model ID (e.g. anthropic/claude-sonnet-4) is preserved for the proxy.
Deploying nexu-docs with
|
| Latest commit: |
6395420
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://a2431a86.nexu-docs.pages.dev |
| Branch Preview URL: | https://fix-skillhub-install-logging.nexu-docs.pages.dev |
…logging # Conflicts: # AGENTS.md # apps/api/src/lib/config-generator.ts # apps/desktop/main/runtime/manifests.ts
Contributor
Author
|
/cr |
|
✅ CR topic created in Feishu topic group Refly CR. |
Siri-Ray
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
npx clawhub installfails withspawn npx ENOENTin the packaged Electron app because the API sidecar runs with a restricted env that has no shell PATHnpxwith direct bin resolution —process.execPath+require.resolve("clawhub/package.json")to find the bundled clawhub CLIcopyRuntimeDependencyClosuresilently skipped bin-only packages (nomain/exports). Added fallback to resolve viapackage.jsonCatalogManager.uninstallSkill(), matching the existing API route validationTest plan
pnpm vitest run tests/desktop/— 14 tests pass (slug validation, path traversal, bin-only package resolution)pnpm typecheck— all packages pass~/Library/Application Support/@nexu/logs/runtime-units/api.log