NVIDIA / NVIDIA/NemoClaw

[Linux][Install] nemoclaw uninstall aborts with "Portable lifecycle state is unsafe" on standard single-gateway installs (regression of GH#9709, fixed v0.0.113)

Open
#11,541 0 comments 0 reactions 0 assignees View on GitHub
needs: triage NV QA
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

> [!WARNING]
> **Regression** — worked in v0.0.113 (verified fixed, GitHub #9709), broken again in v0.0.123.

## Description

`nemoclaw uninstall --yes` (and the documented curl-based fallback `uninstall.sh`) aborts with `Portable lifecycle state is unsafe: Completed onboarding session authority is incomplete` on a standard, single-gateway OpenClaw install, immediately after a fully successful onboard — sandbox reached Ready, inference healthy, no partial or failed onboard state involved. Reproduced 3/3 on three independent Linux hosts in the same automated test run.

This is the same symptom as #9709 ("nemoclaw uninstall aborts with 'Portable lifecycle state is unsafe' on all standard single-gateway OpenClaw installations"), which was fixed and verified working on v0.0.113. The identical symptom is now reproducing again on v0.0.123 — ten releases later.

Platform scope: Reproduced on Linux x86_64 (three distinct Ubuntu versions); other platforms not tested this round.
OpenShell issue: No

## Environment

```text
Device: Linux x86_64 server
OS: Ubuntu 22.04 (also reproduced on two other Ubuntu versions on the same run)
Architecture: x86_64
Node.js: v22.23.2
npm: 10.9.8
Docker: Docker Engine 29.6.1
OpenShell CLI: openshell 0.0.106
NemoClaw: nemoclaw v0.0.123
OpenClaw: unknown (sandbox was destroyed by the failed uninstall before its version could be queried; OpenClaw 2026.7.1 was reported by the onboard step immediately prior on the same host)
```

## Steps to Reproduce

1. Install NemoClaw v0.0.123 on a clean Linux host:
```bash
curl -fsSL https://www.nvidia.com/nemoclaw.sh | NEMOCLAW_INSTALL_TAG=v0.0.123 bash -s -- --yes-i-accept-third-party-software
```
2. Complete a standard non-interactive onboard against NVIDIA Endpoints (or let the installer's own auto-onboard complete). Confirm the sandbox reaches Ready:
```bash
nemoclaw list
```
3. Immediately run:
```bash
nemoclaw uninstall --yes
```
4. If that fails, try the documented fallback:
```bash
curl -fsSL https://raw.githubusercontent.com/NVIDIA/NemoClaw/refs/heads/main/uninstall.sh | bash -s -- --yes
```

## Expected Result

Uninstall completes the full six-stage teardown and exits 0 — matching the behavior verified working on v0.0.113 for this exact same standard single-gateway scenario.

## Actual Result

Both the official `nemoclaw uninstall --yes` and the documented fallback abort with the same message and no cleanup is performed:

```text
Uninstall exit code: 1
nemoclaw uninstall exited 1: Portable lifecycle state is unsafe: Completed onboarding session authority is incomplete

Falling back to the documented curl-based uninstall.sh produces the identical failure:
Uninstall (curl fallback) exit code: 1
Portable lifecycle state is unsafe: Completed onboarding session authority is incomplete
```

## Logs

```text
Removing existing nemoclaw installation via nemoclaw uninstall --yes
Uninstall exit code: 1
Fall back to removing existing nemoclaw installation via curl -fsSL https://raw.githubusercontent.com/NVIDIA/NemoClaw/refs/heads/main/uninstall.sh | bash -s -- --yes
nemoclaw uninstall exited 1: Portable lifecycle state is unsafe: Completed onboarding session authority is incomplete
Uninstall (curl fallback) exit code: 1
Portable lifecycle state is unsafe: Completed onboarding session authority is incomplete
```

Downstream consequence observed on the same run: because the failed uninstall leaves some NemoClaw-managed files behind that a plain uninstall would normally remove, the next fresh install on the same host subsequently failed with:

```text
Installation stopped because {path}/nemoclaw-acp already exists and is not a NemoClaw-managed shim. NemoClaw left it unchanged. Move or remove that path, then rerun the installer.
```

Byte-identical `Portable lifecycle state is unsafe: Completed onboarding session authority is incomplete` message reproduced on two additional independent Linux hosts (different kernel builds, different Docker Engine minor versions) in the same automated run — not a single-host fluke.

Independent manual check: attempted the same onboard-then-uninstall sequence on a separate, persistent Linux host already running other NemoClaw gateway instances (multi-gateway topology). Uninstall there completed successfully on both v0.0.122 and v0.0.123 — but that host's uninstall took a materially different code path throughout ("sibling gateways remain, keeping shared resources" messaging at every stage), so it did not exercise the same single-gateway teardown path as the failing hosts. Not treated as a contradicting result — noted for completeness.

Contributor guide

Open the contributing guide

Research direction

Start with the `nemoclaw uninstall` entry point and the documented `uninstall.sh` fallback, then reproduce the onboard-then-uninstall sequence on Linux at v0.0.123. Trace the single-gateway teardown check that emits `Portable lifecycle state is unsafe`; done means both uninstall paths complete all six stages, remove managed files, and exit 0 without breaking a subsequent install.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell, typescript
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.