Troubleshooting
Recovery steps for common NemoClaw / OpenClaw / VSS orchestrator issues. Substitute your sandbox name wherever <sandbox> appears. The manual notebook flow in Deploy VSS and Skills uses vss-harness-sandbox by default. If you override NEMOCLAW_SANDBOX_NAME, use the sandbox name printed by the notebook instead.
If the Build Vision AI Skill provisioned NemoClaw, use the sandbox name returned
by the Skill. Ask your coding agent to resume the Skill for the existing build
and rerun the harness setup; the Skill executes deploy_nemoclaw.ipynb
non-interactively and recreates an existing sandbox so the selected provider,
endpoint, model, and credentials are applied. Recreation discards that
sandbox’s agent sessions. Do not manually rerun individual notebook cells for
this flow. The
numbered-section recovery steps below apply when you ran the notebook manually.
Cursor or IDE Kernel Uses Node.js 20
Symptom: Section 3.1 of deploy_nemoclaw.ipynb fails during the NemoClaw installer with a Node.js version error.
Cause: NemoClaw’s pinned installer needs Node.js >= 22.19. Cursor and some other IDEs can put their bundled Node.js 20 ahead of nvm on the Jupyter kernel’s PATH.
Solution: Fix the Node.js version manually in a host terminal, then restart the Jupyter kernel and re-run the failed Section 3.1 cell:
Launching Cursor from a terminal where node -v reports v22.x makes the kernel inherit the correct PATH. Alternatively, leave Cursor as-is and run this NemoClaw step from a plain terminal instead of the IDE kernel.
Agent UI Not Reachable
Symptom: The Agent UI link from deploy_nemoclaw.ipynb Section 3.5 fails to load, hangs, or times out.
Cause: The OpenShell dashboard forward on 18789 stopped, was never created, or points at the wrong sandbox.
Solution:
-
Check the local health endpoint:
-
List active forwards:
Look for
<sandbox>on port18789with statusrunning. -
Restart the forward:
-
If you are not on the Brev instance directly, keep an SSH tunnel open from your laptop:
Dashboard Port Already in Use
Symptom: The Build Vision AI Skill stops at harness selection, before deploying, naming what holds 18789 or 18790. On a manual notebook run the same conflict surfaces later: Section 3.1 onboarding ends with “Port 18789 is not available.” if you exported NEMOCLAW_DASHBOARD_PORT, or puts the sandbox dashboard on the next free port in 18789–18799 if you did not, leaving the rest of the notebook addressing 18789; Section 3.5 stops with “Port 18790 is held by pid …, which is not ‘<sandbox>‘s dashboard relay”. A NemoClaw older than the pinned NEMOCLAW_INSTALL_REF reported the onboarding half as “did not receive the required baseline scopes” instead.
Cause: Every sandbox defaults to the same two ports — NEMOCLAW_DASHBOARD_PORT (18789) and NEMOCLAW_DASHBOARD_RELAY_PORT (18790) — so any sandbox left running on the host holds them. The notebook reclaims a port only from its own sandbox name: Section 3.1 replaces the sandbox named NEMOCLAW_SANDBOX_NAME when NEMOCLAW_RECREATE_SANDBOX is True, and Section 3.5 replaces that name’s relay started from the same checkout. Anything else — another sandbox name, a relay from a second clone, or an unrelated listener — is left alone by design.
The auto-allocation range (18789–18799) includes the relay’s own default, so an onboard that reallocates because 18789 is taken can hand the sandbox dashboard 18790 and leave Section 3.5 with nowhere to bind. Export both NEMOCLAW_DASHBOARD_PORT and NEMOCLAW_DASHBOARD_RELAY_PORT to keep the two apart: that also makes the dashboard port explicit, so onboard reports a conflict instead of moving the sandbox, and the notebook’s equality check only catches values you set yourself.
Limitation: Neither the notebook nor teardown cleans up a sandbox it does not own. Teardown also leaves the relay and watchdog of any sandbox it did not destroy.
Solution: Identify the owner, then clear it yourself — neither the Skill nor the notebook will destroy a sandbox it does not own:
The bind test decides free or held on its own, so a host without lsof or ss
still sees the conflict — it just cannot name the holder. Probe the ports your
deployment actually uses: the loop reads NEMOCLAW_DASHBOARD_PORT and
NEMOCLAW_DASHBOARD_RELAY_PORT when you have overridden either default.
A matching sandbox name is not enough for the relay: Section 3.5 keeps one only
when its script path is the one under VSS_REPO_DIR too, so a same-name relay
from a second clone is foreign and must be stopped like any other. If you
deployed from a harness source ref, that path is the _builds/<name>/harness-src
worktree rather than the checkout — compare against the worktree, or the
checkout’s own relay will look like yours when Section 3.5 will reject it. With
VSS_REPO_DIR unset the notebook uses $HOME/video-search-and-summarization,
so export it when your checkout lives elsewhere.
Each port must be free, or held by your own sandbox name — which Section 3.1 reclaims with NEMOCLAW_RECREATE_SANDBOX — before you continue. Then ask your coding agent to resume the Skill, or re-run Section 3 after a manual notebook run.
MCP Tools Not Visible or Not Reachable
Symptom: The agent cannot list vss_orchestrator__* tools, tool calls time out, or the Section 5 Agent UI verification cannot reach the MCP server.
Solution: Run the following checks on the VSS host that runs the orchestrator MCP server:
-
Re-run
deploy_vss_orchestrator.ipynbSection 4. It stops any previously recordedVSS_ORCHESTRATOR_MCP_PID, starts the MCP server on9988, and polls health. -
Check the MCP log:
-
From
services/agent/on the VSS host, call the health tool directly: -
If the server fails before health, verify
deploy/docker/scripts/vss_orchestrator_mcp_config.ymlpaths are valid and writable, especiallymdx_data_dirandoutput_dir. -
If NemoClaw and VSS run on separate hosts, verify that the MCP URL registered in the sandbox uses a hostname or IP address that the NemoClaw host can reach.
0.0.0.0is a server bind address, and127.0.0.1reaches only the local host.
Agent Model or Provider Misconfigured
Symptom: Chat fails, what model are you using? reports the wrong model, or Section 3.1 of deploy_nemoclaw.ipynb errors during nemoclaw onboard.
Solution:
- If the UI opens but chat fails, re-check the provider setup and active policy.
- If you reproduce the failure from a terminal, use
nemoclaw sandbox exec <sandbox> -- <command>rather thandocker execso the command runs through the documented NemoClaw path with workspace plugins and gateway routing. - For build.nvidia.com, clear
NEMOCLAW_ENDPOINT_URLand setNVIDIA_API_KEY.NEMOCLAW_MODELcan be blank to usenvidia/nemotron-3-super-120b-a12b. - For a custom provider, set all three values:
NEMOCLAW_ENDPOINT_URL,NEMOCLAW_MODEL, andCOMPATIBLE_API_KEY. - For a local provider, bind the server to
0.0.0.0or another non-loopback host address. From inside the sandbox, usehost.openshell.internalrather than host127.0.0.1. - Re-run the selected Section 1.2 provider cell, then Section 1.3 and Section 3 of
deploy_nemoclaw.ipynb.
If the sandbox still keeps stale provider state, destroy and recreate it:
Then re-run Section 3 of deploy_nemoclaw.ipynb.
VSS Skills Missing
Symptom: list your available skills does not show VSS skills, the Skills tab is empty, or Section 3.6 reports no non-bundled skills.
Solution:
The following diagnostic commands apply to OpenClaw. If you onboarded Hermes or another agent harness, run the equivalent checks for that harness.
-
Run
deploy_nemoclaw.ipynbSection 3.6 to inspectopenclaw plugins doctorandopenclaw skills list --json. -
Check skills from the host:
-
Confirm the VSS checkout includes the
skills/directory and the agent harness directory for the selected harness,.openclaw/or.hermes/(each with itsDockerfile). -
The skills and workspace docs are baked into the sandbox image (
.<harness>/Dockerfile); re-run Section 3.1 withNEMOCLAW_RECREATE_SANDBOXset to rebuild it. In an OpenClaw sandbox,vss-openclaw-syncre-selects the active skills fromvss configure check; in a Hermes sandbox,vss-hermes-syncdoes the same.
NGC or Model Artifact Downloads Fail
Symptom: The perception container (vss-rtvi-cv) fails during ds-start.sh phase 0, NGC CLI commands fail, or docker login nvcr.io fails.
Solution:
- Verify
NGC_CLI_API_KEYis set indeploy_vss_orchestrator.ipynbSection 1.1. It is passed through to the perception container, which downloads the models listed in the profile’smodels-download.json. - Re-run Section 3.1 of
deploy_vss_orchestrator.ipynbon the host to redodocker login nvcr.io. The host needs no NGC CLI and no~/.ngc/config— the perception container bootstraps its own and reads the key from the environment. - Check that
mdx_data_dirindeploy/docker/scripts/vss_orchestrator_mcp_config.ymlis writable. Model artifacts are written under<mdx_data_dir>/models.
Compose Operation Stuck or Retried
Symptom: A deployment appears stuck, repeated deploy prompts fail with “operation already running”, or teardown is needed after a failed docker_up.
Solution:
- Poll status with the
docker_statustool using thedocker_compose_ops_idreturned bydocker_upordocker_down. - Ask the agent to fetch logs with
docker_logsfor the failing container. - To stop a running deployment, ask the agent to tear it down.
docker_downcan preempt a runningdocker_upfor the samedocker_compose_id. - Use
deep_clean=trueondocker_downonly when you intentionally want to delete the configuredmdx_data_dirafter a successful teardown.
Sandbox or Gateway in a Bad State
Symptom: nemoclaw or openshell commands hang or error out, the agent stops responding, the OpenShell gateway container is missing or unhealthy, or VSS skills fail to load after repeated reinstall attempts.
Solution: Destroy the sandbox, garbage-collect leftover state, then recreate it from the notebook.
Then re-run Section 3 of deploy_nemoclaw.ipynb. This recreates the sandbox
from the harness image that contains the VSS skills and workspace docs, then
reapplies the VSS policy and deployment origin. It also configures optional
webhooks and, when HTTPS is enabled, registers the orchestrator MCP path. Run
Section 3.5 to generate a fresh Agent UI link.
Clean Reinstall
Symptom: Destroying the sandbox and restarting the forward does not restore a working environment.
Solution: Completely uninstall NemoClaw and OpenClaw, then reinstall from the notebook.
-
Run the bundled NemoClaw uninstaller from the source checkout created by the installer:
The uninstaller removes:
- All OpenShell sandboxes and the NemoClaw gateway/providers.
- NemoClaw helper services.
- NemoClaw / OpenShell / OpenClaw Docker images created during onboarding.
~/.nemoclawand~/.config/{openshell,nemoclaw}state.- The global
nemoclawnpm install/link and theopenshellbinary.
Docker, Node.js, npm, and Ollama are preserved.
-
Reinstall by re-running Section 3 of
deploy_nemoclaw.ipynb. Section 3 fetches the pinnedNEMOCLAW_INSTALL_REF, recreates the sandbox from the harness image, and reapplies the VSS policy and deployment origin.