Skip to content

[Ubuntu 24.04][DGX Station][CLI&UX] nemoclaw error messages lack copy-paste recovery commands (sandbox-name validation + missing NVIDIA_API_KEY) #4425

@hulynn

Description

@hulynn

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:

  1. Run the onboard command with an uppercase sandbox name:
    nemoclaw onboard --non-interactive --yes --yes-i-accept-third-party-software --name MyAssistant
  2. Capture stderr.
  3. echo "EXIT=$?"
  4. Verify the output contains a Try: <suggested-lowercase-form> recovery line.

Sub-D — missing NVIDIA_API_KEY in non-interactive onboard:

  1. Unset the credential env vars:
    unset NVIDIA_API_KEY NEMOCLAW_PROVIDER_KEY
  2. Run:
    nemoclaw onboard --non-interactive --yes --yes-i-accept-third-party-software --name probe-nokey
  3. Capture stderr.
  4. echo "EXIT=$?"
  5. Verify the output contains a export NVIDIA_API_KEY=nvapi-... recovery line.

Expected Result

Per T5987921 spec — every error path must include:

  1. A one-line root-cause statement.
  2. A copy-pasteable recovery command on its own line.
  3. 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:

Try: <suggested>

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

Metadata

Metadata

Assignees

Labels

NV QABugs found by the NVIDIA QA Teamarea: cliCommand line interface, flags, terminal UX, or outputplatform: dgx-stationAffects DGX Station hardware or workflowsplatform: ubuntuAffects Ubuntu Linux environments

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions