Description
Two CLI error paths name the root cause and exit non-zero correctly, but neither emits the copy-paste-ready recovery command that T5987921's spec requires.
Sub-C — uppercase sandbox name:
- Spec wants:
"Sandbox name must be lowercase / start with letter / hyphens ok.
Try: myassistant"
- Actual:
"Invalid sandbox name: 'MyAssistant'. Allowed format: 1-63 characters, lowercase, starts with a letter, letters/numbers/internal hyphens only, ends with letter/number."
- Gap: no
Try: <suggested-lowercase-form> line; user has to manually infer the corrected name.
Sub-D — missing NVIDIA_API_KEY in non-interactive onboard:
- Spec wants:
"NVIDIA_API_KEY required for non-interactive onboard. Set with:
export NVIDIA_API_KEY=nvapi-..."
- Actual:
"NVIDIA_API_KEY (or NEMOCLAW_PROVIDER_KEY) is required for NVIDIA Endpoints in non-interactive mode."
- Gap: no concrete
export NVIDIA_API_KEY=nvapi-... line; user has to recall the env-var-set syntax.
Both behaviors verified word-for-word identical on two platforms: DGX Station (aarch64 Ubuntu 24.04) and Ubuntu 24.04 x86_64. The gap is in product code, not in environment.
Environment
Verified on two hosts, identical output:
Host 1 — DGX Station
Device: DGX Station (galaxy-sku2-018)
OS: Ubuntu 24.04.4 LTS
Architecture: aarch64
Kernel: 6.17.0-1018-nvidia-64k
GPUs: NVIDIA RTX PRO 6000 Blackwell Max-Q + NVIDIA GB300
Node.js: v22.22.3
npm: 10.9.8
Docker: Docker Engine 29.x (CDI nvidia runtime)
OpenShell CLI: openshell 0.0.44
NemoClaw: nemoclaw v0.0.53
OpenClaw: 2026.5.22 (a374c3a) — inside fresh sandbox
Host 2 — Ubuntu 24.04 x86_64
OS: Ubuntu 24.04 LTS
Architecture: x86_64
NemoClaw: nemoclaw v0.0.53
(other versions match Host 1)
Steps to Reproduce
Sub-C — uppercase sandbox name:
- Run the onboard command with an uppercase sandbox name:
nemoclaw onboard --non-interactive --yes --yes-i-accept-third-party-software --name MyAssistant
- Capture stderr.
echo "EXIT=$?"
- Verify the output contains a
Try: <suggested-lowercase-form> recovery line.
Sub-D — missing NVIDIA_API_KEY in non-interactive onboard:
- Unset the credential env vars:
unset NVIDIA_API_KEY NEMOCLAW_PROVIDER_KEY
- Run:
nemoclaw onboard --non-interactive --yes --yes-i-accept-third-party-software --name probe-nokey
- Capture stderr.
echo "EXIT=$?"
- Verify the output contains a
export NVIDIA_API_KEY=nvapi-... recovery line.
Expected Result
Per T5987921 spec — every error path must include:
- A one-line root-cause statement.
- A copy-pasteable recovery command on its own line.
- Exit code non-zero.
Sub-C specific:
"Sandbox name must be lowercase / start with letter / hyphens ok.
Try: myassistant"
Sub-D specific:
"NVIDIA_API_KEY required for non-interactive onboard. Set with:
export NVIDIA_API_KEY=nvapi-..."
Actual Result
Sub-C — uppercase sandbox name (identical on DGX Station + Ubuntu 24.04 x86_64):
$ nemoclaw onboard --non-interactive --yes --yes-i-accept-third-party-software --name MyAssistant
Invalid sandbox name: 'MyAssistant'. Allowed format: 1-63 characters, lowercase, starts with a letter, letters/numbers/internal hyphens only, ends with letter/number.
EXIT=1
✗ No Try: <suggested-lowercase-name> line. grep for "Try:" in stderr returns 0.
Sub-D — missing NVIDIA_API_KEY (identical on DGX Station + Ubuntu 24.04 x86_64):
$ unset NVIDIA_API_KEY NEMOCLAW_PROVIDER_KEY
$ nemoclaw onboard --non-interactive --yes --yes-i-accept-third-party-software --name probe-nokey
...
[3/8] Configuring inference provider
──────────────────────────────────────────────────
[non-interactive] Provider: build
NVIDIA_API_KEY (or NEMOCLAW_PROVIDER_KEY) is required for NVIDIA Endpoints in non-interactive mode.
EXIT=1
✗ No export NVIDIA_API_KEY=nvapi-... line. grep for "export NVIDIA_API_KEY" in stderr returns 0.
Cross-platform parity: Both sub-bugs reproduce byte-for-byte identically on DGX Station (aarch64, Ubuntu 24.04.4) and Ubuntu 24.04 x86_64 — confirming this is a product code gap, not an environment artifact.
Code Analysis
File: needs investigation. Likely locations:
1) Sub-C — sandbox-name validation in the onboard flow
Suspect file: nemoclaw/dist/lib/onboard.js (or src/onboard/...). The validator already produces a clean Invalid sandbox name: 'X'. Allowed format: ... string. The fix is to additionally compute and emit a suggested form:
suggested = name.toLowerCase().replace(/[^a-z0-9-]/g, '-')
.replace(/^-+|-+$/g, '')
then print:
2) Sub-D — non-interactive onboard provider-key check
Suspect file: nemoclaw onboard provider-configuration step (search for "NVIDIA_API_KEY (or NEMOCLAW_PROVIDER_KEY) is required"). Add a line that prints:
export NVIDIA_API_KEY=nvapi-...
immediately after the requirement message.
Both sites already exit non-zero — only the second hint line is missing. Pattern is consistent with the broader T5987921 spec goal: every error must carry a runnable recovery command.
Suggested fix scope: small string additions at the two error sites + (for sub-C) a 3-line slug-normalizer.
Logs
Not applicable — issue is at the CLI surface; no runtime logs involved.
NVB#6235776
Description
Two CLI error paths name the root cause and exit non-zero correctly, but neither emits the copy-paste-ready recovery command that T5987921's spec requires.
Sub-C — uppercase sandbox name:
Try: <suggested-lowercase-form>line; user has to manually infer the corrected name.Sub-D — missing
NVIDIA_API_KEYin non-interactive onboard:export NVIDIA_API_KEY=nvapi-...line; user has to recall the env-var-set syntax.Both behaviors verified word-for-word identical on two platforms: DGX Station (aarch64 Ubuntu 24.04) and Ubuntu 24.04 x86_64. The gap is in product code, not in environment.
Environment
Verified on two hosts, identical output:
Steps to Reproduce
Sub-C — uppercase sandbox name:
echo "EXIT=$?"Try: <suggested-lowercase-form>recovery line.Sub-D — missing
NVIDIA_API_KEYin non-interactive onboard:unset NVIDIA_API_KEY NEMOCLAW_PROVIDER_KEYecho "EXIT=$?"export NVIDIA_API_KEY=nvapi-...recovery line.Expected Result
Per T5987921 spec — every error path must include:
Sub-C specific:
Sub-D specific:
Actual Result
Sub-C — uppercase sandbox name (identical on DGX Station + Ubuntu 24.04 x86_64):
✗ No
Try: <suggested-lowercase-name>line.grepfor"Try:"in stderr returns 0.Sub-D — missing
NVIDIA_API_KEY(identical on DGX Station + Ubuntu 24.04 x86_64):✗ No
export NVIDIA_API_KEY=nvapi-...line.grepfor"export NVIDIA_API_KEY"in stderr returns 0.Cross-platform parity: Both sub-bugs reproduce byte-for-byte identically on DGX Station (aarch64, Ubuntu 24.04.4) and Ubuntu 24.04 x86_64 — confirming this is a product code gap, not an environment artifact.
Code Analysis
File: needs investigation. Likely locations:
1) Sub-C — sandbox-name validation in the onboard flow
Suspect file:
nemoclaw/dist/lib/onboard.js(orsrc/onboard/...). The validator already produces a cleanInvalid sandbox name: 'X'. Allowed format: ...string. The fix is to additionally compute and emit a suggested form:then print:
2) Sub-D — non-interactive onboard provider-key check
Suspect file: nemoclaw onboard provider-configuration step (search for
"NVIDIA_API_KEY (or NEMOCLAW_PROVIDER_KEY) is required"). Add a line that prints:immediately after the requirement message.
Both sites already exit non-zero — only the second hint line is missing. Pattern is consistent with the broader T5987921 spec goal: every error must carry a runnable recovery command.
Suggested fix scope: small string additions at the two error sites + (for sub-C) a 3-line slug-normalizer.
Logs
Not applicable — issue is at the CLI surface; no runtime logs involved.
NVB#6235776