Description
When NEMOCLAW_VLLM_MODEL is set to an unrecognised slug and nemoclaw onboard is run in non-interactive vLLM mode, the command correctly fast-fails (prints an error listing valid slugs, no docker pull is triggered), but exits with code 0 instead of non-zero. Any script or CI job checking the exit code to detect failure will incorrectly treat this as success.
Related: NVBug 6282062 fixed the same exit-code-0 symptom for the nemoclaw connect + gated-model path. This bug covers the onboard + invalid-slug path, which is a separate code location.
Environment
Device: DGX Spark (GB10)
OS: Ubuntu 22.04
Architecture: x86_64
Node.js: v22.22.1
npm: 10.9.4
Docker: 28.3.3
OpenShell CLI: embedded in NemoClaw (no standalone openshell binary)
NemoClaw: v0.0.63
OpenClaw: N/A (issue occurs at onboard time, sandbox not created)
Steps to Reproduce
- Confirm no sandbox exists:
nemoclaw list
- Run:
NEMOCLAW_EXPERIMENTAL=1 \
NEMOCLAW_PROVIDER=install-vllm \
NEMOCLAW_VLLM_MODEL=not-a-real-model \
NEMOCLAW_NON_INTERACTIVE=1 \
NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE=1 \
nemoclaw onboard --fresh --name vllm-bad-slug 2>&1 | tee /tmp/vllm-bad.log
- Check exit code:
echo "EXIT:$?"
- Check log:
grep -i 'slug\|valid\|recognised\|unrecognised' /tmp/vllm-bad.log
- Confirm no docker pull started:
docker ps --filter name=nemoclaw-vllm
Expected Result
- Step 3:
EXIT:1 (or any non-zero value)
- Step 4: Log contains an actionable error listing valid slugs, e.g.
Unrecognised vLLM model 'not-a-real-model'. Valid values: qwen3.6-35b-a3b-nvfp4, qwen3.6-27b, ...
- Step 5: No
nemoclaw-vllm container running (fast-fail before docker pull — correct)
Actual Result
- Step 3:
EXIT:0 ← incorrect; should be non-zero
- Step 4: Error message IS printed correctly (unrecognised slug listed with valid values)
- Step 5: No docker pull triggered — fast-fail behavior is correct
The error message is present but the process exits 0, making the failure undetectable by exit-code checks.
Logs
Not captured (exit code observed interactively during v0.0.63 PR #5038 test run; DevTest folder 1197336, task 698753 marked FAIL for this bug).
NVB#6303374
Description
When
NEMOCLAW_VLLM_MODELis set to an unrecognised slug andnemoclaw onboardis run in non-interactive vLLM mode, the command correctly fast-fails (prints an error listing valid slugs, no docker pull is triggered), but exits with code 0 instead of non-zero. Any script or CI job checking the exit code to detect failure will incorrectly treat this as success.Related: NVBug 6282062 fixed the same exit-code-0 symptom for the
nemoclaw connect+ gated-model path. This bug covers theonboard+ invalid-slug path, which is a separate code location.Environment
Steps to Reproduce
nemoclaw listecho "EXIT:$?"grep -i 'slug\|valid\|recognised\|unrecognised' /tmp/vllm-bad.logdocker ps --filter name=nemoclaw-vllmExpected Result
EXIT:1(or any non-zero value)Unrecognised vLLM model 'not-a-real-model'. Valid values: qwen3.6-35b-a3b-nvfp4, qwen3.6-27b, ...nemoclaw-vllmcontainer running (fast-fail before docker pull — correct)Actual Result
EXIT:0← incorrect; should be non-zeroThe error message is present but the process exits 0, making the failure undetectable by exit-code checks.
Logs
Not captured (exit code observed interactively during v0.0.63 PR #5038 test run; DevTest folder 1197336, task 698753 marked FAIL for this bug).
NVB#6303374