Skip to content

[DGX Spark][CLI&UX] nemoclaw <sandbox> agent exits 0 with no output and never delivers the message, while the same openclaw agent call inside the sandbox works #8796

Description

@wangericnv

Description

nemoclaw <sandbox> agent reports success and does nothing. It exits 0, prints no reply with or without --json, and the message never reaches the agent — the session records no user message with any content. There is no error, no warning, and no non-zero exit, so the caller has no signal that the turn did not happen.

The same turn works when the equivalent OpenClaw command is run inside the same sandbox against the same gateway and the same agent — so the agent, the gateway and the model are all healthy. Only the NemoClaw wrapper path is affected.

Platform scope: Reproduced on DGX Spark only; other platforms not tested.

Regression: Unknown — earlier versions not tested.

Environment

Device:        DGX Spark (GB10)
OS:            Ubuntu 24.04.4 LTS
Architecture:  aarch64
Node.js:       v22.23.1
npm:           10.9.8
Docker:        29.2.1, build a5c7197
OpenShell CLI: 0.0.85
NemoClaw:      v0.0.103
OpenClaw:      2026.7.1 (2d2ddc4)

Steps to Reproduce

  1. Onboard a sandbox non-interactively — on DGX Spark this selects the Express default (local vLLM, nvidia/Qwen3.6-35B-A3B-NVFP4):
nemoclaw onboard --non-interactive --name my-assistant --yes-i-accept-third-party-software
  1. Confirm the sandbox is healthy — nemoclaw my-assistant status shows Inference: reachable and Inference (vllm backend): healthy.
  2. Find the agent id and session key:
nemoclaw my-assistant exec -- openclaw agents list   # -> "- main (default)"
nemoclaw my-assistant sessions list                  # -> key "agent:main:main"
  1. Run a turn through the NemoClaw wrapper:
nemoclaw my-assistant agent --session-key agent:main:main -m "Say PONG and nothing else"
  1. Repeat with --json, again by agent id, and again against a session key that has never been used:
nemoclaw my-assistant agent --session-key agent:main:main --json -m "Say PONG and nothing else"
nemoclaw my-assistant agent --agent main -m "Say PONG and nothing else"
nemoclaw my-assistant agent --session-key agent:main:qa-fresh-001 -m "Say PONG and nothing else"
  1. Inspect the session transcript for delivered user messages, and re-run nemoclaw my-assistant sessions list.
  2. Control — run the equivalent command inside the sandbox, same gateway, same agent:
nemoclaw my-assistant exec -- openclaw agent --agent main -m "Say PONG and nothing else"

Expected Result

Steps 4 and 5 run an agent turn and surface the reply, as step 7 does. If the invocation cannot be routed, the command should fail with a non-zero exit and an error naming the reason — the CLI already does this correctly when no target is given at all:

No target session selected. Use --agent <id>, --session-key <key>, --session-id <id>, or --to <E.164>.

Actual Result

All four wrapper invocations behave identically:

  • exit code 0
  • no output at all beyond the CLI's own Active gateway set to 'nemoclaw' line
  • --json changes nothing; no JSON is emitted

The message is never delivered. After the wrapper invocations the session transcript contains:

total rows: 21 | user msgs: 2 | user msgs with content: 0

The two user messages are empty heartbeat entries; the only assistant replies in the whole transcript are HEARTBEAT_OK. None of the prompts appears anywhere.

Targeting a never-used session key does not create a session at allsessions list still reports Sessions listed: 1 with only the pre-existing key, and no new .jsonl file appears in the session directory.

The control in step 7 works on the same sandbox, gateway, agent and model, and returns a reply:

[gateway]   NemoClaw registered
[gateway]   Endpoint:  Managed Inference Route (inference.local)
[gateway]   Provider:  Local vLLM
[gateway]   Model:     nvidia/Qwen3.6-35B-A3B-NVFP4

Hey — what's up?

Separate but related: passing the prompt as a positional argument instead of -m makes the wrapper hang until killed (observed at 150 s, 300 s and 850 s; exit 124 under timeout), whereas the same positional form run inside the sandbox fails fast and correctly with Too many arguments for this command. The wrapper turns a clean argument error into an indefinite hang.

Related, not a duplicate

#8466 ("openclaw agent second turn exits successfully without an assistant response") is close but distinct. There, the first turn works and writes both the user message and the assistant response to the session; only a second turn against the same session id comes back empty, and it is reported against openclaw agent run directly.

This report is about the NemoClaw wrapper and does not depend on session reuse. Targeting a brand-new session key that has never been used produces the same silent no-op: exit 0, no output, and sessions list still shows only the pre-existing session — no session file is created for the new key at all, so the turn never starts. The direct OpenClaw control turn on this same sandbox succeeds, which is the opposite of #8466's first-turn behaviour being the working case.

Logs

Wrapper invocation, full capture, nothing filtered:

$ timeout 330 nemoclaw my-assistant agent --session-key agent:main:main --json -m "Say PONG and nothing else"
✓ Active gateway set to 'nemoclaw'
[exit=0]

Wrapper invocation against a never-used session key:

$ timeout 330 nemoclaw my-assistant agent --session-key agent:main:qa-fresh-001 -m "Say PONG and nothing else"
[exit=0]

$ nemoclaw my-assistant sessions list
Sessions listed: 1
direct   agent:main:main   8m ago   ...        <- no session created for qa-fresh-001

Session transcript check after the wrapper invocations:

total rows: 21 | user msgs: 2
user msgs with content: 0

2026-08-11T08:57:37.495Z ::   HEARTBEAT_OK
2026-08-11T09:27:17.771Z ::   HEARTBEAT_OK

Positional-argument hang (wrapper) versus the correct fast error (inside the sandbox):

$ timeout 150 nemoclaw my-assistant agent --session-key agent:main:qa-probe "Say PONG"
✓ Active gateway set to 'nemoclaw'
[exit=124]

$ nemoclaw my-assistant exec -- openclaw agent --local "Say PONG"
Too many arguments for this command.
Try: openclaw agent Say --help

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

VDRLinked to VDR findingarea: cliCommand line interface, flags, terminal UX, or outputintegration: hermesHermes integration behaviorintegration: openclawOpenClaw integration behaviorplatform: arm64Affects ARM64 or aarch64 architectureplatform: dgx-sparkAffects DGX Spark hardware or workflows

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions