Description
Description
`nemoclaw uninstall` completes successfully (exit 0, all 6 phases report "Removed" /
"Deleted") but only removes the `openshell` CLI binary from `~/.local/bin/`. The
helper binaries `openshell-sandbox` and `openshell-gateway` — both installed by
`./install.sh` (and by curl|bash) into the same directory — are left behind.
A subsequent install of a DIFFERENT NemoClaw version then fails with a version-
mismatch error because the leftover openshell binary on disk is newer than the
incoming NemoClaw release's max supported openshell version.
Environment
Device: GitLab CI runner host (nemoclaw-runner-ubuntu24-new)
OS: Ubuntu 24.04
Architecture: x86_64
Node.js: v22.22.2
npm: 10.9.7
Docker: 29.4.0
OpenShell CLI: openshell 0.0.39 (residual, before reproducer)
NemoClaw: v0.0.39-45-gc517d622c (uninstalled before reproducer)
OpenClaw: N/A (uninstall completes before any OpenClaw run)
Steps to Reproduce
1. Clean Linux host with Node 22, Docker, etc.
2. Install NemoClaw from main source: git clone NemoClaw && cd NemoClaw && ./install.sh
This places openshell 0.0.39 binaries at:
~/.local/bin/openshell
~/.local/bin/openshell-gateway
~/.local/bin/openshell-sandbox
3. Run: nemoclaw uninstall --yes
Observe output reports successful cleanup:
[3/6] NemoClaw CLI
Removed /home/.../.local/bin/nemoclaw
Removed NemoClaw PATH entries from .bashrc
...
[6/6] State and binaries
Removed /home/.../.local/bin/openshell
...
NemoClaw
Claws retracted. Until next time.
4. ls ~/.local/bin/
Observe: openshell-sandbox and openshell-gateway are STILL THERE.
5. Install a DIFFERENT NemoClaw version that pins a different openshell range,
e.g. via test-by-templates.mjs → curl|bash install of v0.0.38:
NEMOCLAW_TEST_INSTALL_TAG=v0.0.38 npm run test:sanity
6. The new install fails immediately with:
[install] openshell 0.0.39 is above the maximum (0.0.36) supported by this NemoClaw release.
Upgrade NemoClaw first.
Even though the user just ran `nemoclaw uninstall` (which exited 0)!
Expected Result
After `nemoclaw uninstall --yes` exits 0, ALL openshell-related binaries are
removed:
~/.local/bin/openshell (CLI wrapper)
~/.local/bin/openshell-gateway (gateway binary)
~/.local/bin/openshell-sandbox (sandbox binary)
A subsequent fresh install of any NemoClaw version (different from the one that
was just uninstalled) should succeed without version-mismatch errors.
Actual Result
Only `openshell` (CLI wrapper) is removed. `openshell-gateway` and
`openshell-sandbox` binaries stay on disk:
$ ls -la ~/.local/bin/openshell* (after uninstall)
-rwxr-xr-x 1 gitlab-runner gitlab-runner 17920016 May 13 16:59 .../openshell-sandbox
Then v0.0.38 install fails:
[install] Detected Linux (x86_64)
[install] openshell 0.0.39 is above the maximum (0.0.36) supported by this NemoClaw release.
Upgrade NemoClaw first.
Curl Bash Installation exit code: 1
This bug compounds with the broader dead-loop onboarding bug (filed separately
as NVBug 6171920): a QA flow that mixes `main` HEAD dev-install with `vX.Y.Z`
tag-install will repeatedly fail until the user knows to manually delete the
stragglers.
Logs
nemoclaw uninstall trace (relevant lines — note phase [6/6] removes only "openshell"):
[1/6] Stopping services
[2/6] OpenShell resources
Deleted all OpenShell sandboxes
Deleted provider 'nvidia-nim'
Deleted provider 'vllm-local'
Deleted provider 'ollama-local'
Deleted provider 'nvidia-ncp'
Deleted provider 'nim-local'
Destroyed gateway 'nemoclaw' skipped
[3/6] NemoClaw CLI
Removed global NemoClaw CLI package
Removed /home/gitlab-runner/.local/bin/nemoclaw
Removed NemoClaw PATH entries from /home/gitlab-runner/.bashrc
[4/6] Docker resources
No NemoClaw/OpenShell Docker containers found
Removed Docker image e438a1c71883
[5/6] Ollama models
Keeping Ollama models as requested.
[6/6] State and binaries
No /swapfile found; skipping swap cleanup.
Removed /home/gitlab-runner/.local/bin/openshell ← ONLY this one
Removed /home/gitlab-runner/.nemoclaw
Removed /home/gitlab-runner/.config/openshell
NemoClaw
Claws retracted. Until next time.
Post-uninstall directory listing on ubuntu24-new (during pipeline 51140577 retry diagnosis):
$ ls -la ~/.local/bin/openshell*
-rwxr-xr-x 1 gitlab-runner gitlab-runner 17920016 May 13 16:59 openshell-sandbox
Downstream impact:
Test pipeline 51140577 had ubuntu24 (and previously ubuntu24-gpu) fail on
v0.0.38 sanity install because the upstream main-HEAD experiments left
openshell-sandbox 0.0.39 on disk. Manual cleanup
(`rm ~/.local/bin/openshell-sandbox`) was required to recover.
Suggested fix:
In the uninstall source (likely scripts/uninstall.sh or src/commands/uninstall.ts):
[6/6] phase should glob-remove all openshell-* binaries, not just `openshell`:
rm -f ~/.local/bin/openshell ~/.local/bin/openshell-sandbox ~/.local/bin/openshell-gateway
Bug Details
| Field |
Value |
| Priority |
Unprioritized |
| Action |
Dev - Open - To fix |
| Disposition |
Open issue |
| Module |
Machine Learning - NemoClaw |
| Keyword |
NemoClaw, NEMOCLAW_GH_SYNC_APPROVAL, NemoClaw_Install |
[NVB#6171984]
Description
Description
Environment Steps to Reproduce1. Clean Linux host with Node 22, Docker, etc. 2. Install NemoClaw from main source: git clone NemoClaw && cd NemoClaw && ./install.sh This places openshell 0.0.39 binaries at: ~/.local/bin/openshell ~/.local/bin/openshell-gateway ~/.local/bin/openshell-sandbox 3. Run: nemoclaw uninstall --yes Observe output reports successful cleanup: [3/6] NemoClaw CLI Removed /home/.../.local/bin/nemoclaw Removed NemoClaw PATH entries from .bashrc ... [6/6] State and binaries Removed /home/.../.local/bin/openshell ... NemoClaw Claws retracted. Until next time. 4. ls ~/.local/bin/ Observe: openshell-sandbox and openshell-gateway are STILL THERE. 5. Install a DIFFERENT NemoClaw version that pins a different openshell range, e.g. via test-by-templates.mjs → curl|bash install of v0.0.38: NEMOCLAW_TEST_INSTALL_TAG=v0.0.38 npm run test:sanity 6. The new install fails immediately with: [install] openshell 0.0.39 is above the maximum (0.0.36) supported by this NemoClaw release. Upgrade NemoClaw first. Even though the user just ran `nemoclaw uninstall` (which exited 0)!Expected Result Actual Result LogsBug Details
[NVB#6171984]