$ nvidia-ctk --version
NVIDIA Container Toolkit CLI version 1.18.1
commit: efe99418ef87500dbe059cadc9ab418b2815b9d5
$ sudo tee /etc/docker/daemon.json >/dev/null <<'EOF'
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
},
"features": {
"cdi": true
}
}
EOF
$ sudo systemctl restart docker
$ sudo mkdir -p /etc/cdi
$ sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
$ sudo chmod 644 /etc/cdi/nvidia.yaml
$ nvidia-ctk cdi list
INFO[0000] Found 3 CDI devices
nvidia.com/gpu=0
nvidia.com/gpu=GPU-f4737b8e-40dc-1a26-f9ec-a2cae2ba46a9
nvidia.com/gpu=all
$ docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
...
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.77 Driver Version: 565.77 CUDA Version: 12.7 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4090 Off | 00000000:01:00.0 Off | 0 |
| 0% 50C P8 21W / 500W | 1254MiB / 23028MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
...
$ git clone https://github.com/NVIDIA/NemoClaw.git
$ cd NemoClaw/
$ git fetch origin main --tags
$ git switch -c pinned/gpu-onboard-4668-a2c020dc7 a2c020dc7
$ nvm use 22
Now using node v22.22.3 (npm v10.9.8)
$ npm ci
$ npm install --include=dev --ignore-scripts
$ npm run build:cli
$ node ./bin/nemoclaw.js --version
nemoclaw v0.0.56-37-ga2c020dc7
$ node ./bin/nemoclaw.js onboard \
--fresh \
--gpu
NemoClaw Onboarding
===================
[1/8] Preflight checks
──────────────────────────────────────────────────
✓ Docker is running
✓ Docker can start bridge containers
✓ Container DNS resolution works
✓ Container runtime: docker
✓ Container runtime resources: 24 vCPU / 94.0 GiB
✓ openshell CLI: openshell 0.0.44
✓ Port 8080 available (OpenShell gateway)
✓ NVIDIA GPU detected (NVIDIA GeForce RTX 4090, 23028 MB)
✓ Docker CDI GPU support detected (/etc/cdi/nvidia.yaml, /var/run/cdi/nvidia.yaml)
✓ Sandbox GPU: enabled (1)
✓ Memory OK: 96292 MB RAM + 2047 MB swap
GPU passthrough requested; passing --gpu to OpenShell gateway and sandbox creation.
[2/8] Starting OpenShell gateway
──────────────────────────────────────────────────
Starting OpenShell Docker-driver gateway...
Gateway log: /home/masaki/.local/state/nemoclaw/openshell-docker-gateway/openshell-gateway.log
OpenShell gateway compatibility patch active (host glibc 2.35 is older than openshell-gateway requirement 2.39).
Running openshell-gateway inside a Docker compatibility container.
Compatibility gateway bind: 0.0.0.0 (required for Docker sandbox callbacks).
✓ Docker-driver gateway is healthy
[3/8] Configuring inference provider
──────────────────────────────────────────────────
Detected local inference option: Ollama
Inference options:
1) NVIDIA Endpoints
2) OpenAI
3) Other OpenAI-compatible endpoint
4) Anthropic
5) Other Anthropic-compatible endpoint
6) Google Gemini
7) Local Ollama (localhost:11434) — running (suggested)
8) Model Router (experimental)
Choose [1]: 7
Configuring Ollama systemd loopback override...
Applying an Ollama systemd override (OLLAMA_HOST=127.0.0.1:11434). The next steps use sudo to write the drop-in, reload systemd, and restart the service; you may be prompted for your password.
✓ Using Ollama on localhost:11434 (proxy on :11435)
Ollama models:
1) gemma4:31b
2) bge-m3:latest
3) gpt-oss:20b
4) Other...
Choose model [1]: 3
Loading Ollama model: gpt-oss:20b
Chat Completions API available — OpenClaw will use openai-completions.
✓ Using Ollama runtime context length: 4096 tokens
Sandbox name (1-63 characters, lowercase, starts with a letter, letters/numbers/internal hyphens only, ends with letter/number) [my-assistant]: my-assistant
──────────────────────────────────────────────────
Review configuration
──────────────────────────────────────────────────
Provider: ollama-local
Model: gpt-oss:20b
API key: (not required for ollama-local)
Web search: disabled
Managed tools: none
Messaging: none
Sandbox name: my-assistant
Note: Sandbox build typically takes 3–8 minutes on this host.
──────────────────────────────────────────────────
Web search and messaging channels will be prompted next.
Apply this configuration? [Y/n]: Y
[4/8] Setting up inference provider
──────────────────────────────────────────────────
✓ Active gateway set to 'nemoclaw'
✓ Created provider ollama-local
Gateway inference configured:
Route: inference.local
Provider: ollama-local
Model: gpt-oss:20b
Version: 1
Timeout: 180s
Priming Ollama model: gpt-oss:20b
✓ Inference route set: ollama-local / gpt-oss:20b
Enable Brave Web Search? [y/N]: N
[5/8] Messaging channels
──────────────────────────────────────────────────
Available messaging channels:
[1] ○ telegram — Telegram bot messaging
[2] ○ discord — Discord bot messaging
[3] ○ wechat — WeChat (personal) bot messaging
[4] ○ slack — Slack bot messaging
[5] ○ whatsapp — WhatsApp Web messaging (QR pairing)
Press 1-5 to toggle, Enter when done (none selected skips):
Skipping messaging channels.
Resource profiles:
1) creator (cpu=50%, ram=50%)
2) gamer (cpu=25%, ram=25%)
3) game-developer (cpu=60%, ram=60%)
4) developer (cpu=75%, ram=75%)
5) custom (enter values manually)
6) No profile (OpenShell defaults)
Choose [6]: 6
[6/8] Creating sandbox
──────────────────────────────────────────────────
Docker-driver GPU patch active; allowing /proc writes required by Docker GPU initialization.
Creating sandbox 'my-assistant' (this takes a few minutes on first run)...
Pinning base image to sha256:62abb74f274f...
Building sandbox image...
Building image openshell/sandbox-from:1780491816 from /tmp/nemoclaw-build-BhSQcy/Dockerfile
Step 1/80 : ARG BASE_IMAGE=ghcr.io/nvidia/nemoclaw/sandbox-base@sha256:62abb74f274fcb4ee1a2b96f57f437ea581937b4...
Step 1/80 completed in 0.0s (ARG BASE_IMAGE=ghcr.io/nvidia/nemoclaw/sandbox-base@sha256:62abb74f274fcb4ee1a2b96...
Step 2/80 : FROM node:22-trixie-slim@sha256:2d9f5c76c8f4dd36e8f253bee5d828a83a6c09f36188f0b0414325232e0b175d AS...
Step 2/80 completed in 0.0s (FROM node:22-trixie-slim@sha256:2d9f5c76c8f4dd36e8f253bee5d828a83a6c09f36188f0b041...
Step 3/80 : ENV NPM_CONFIG_AUDIT=false NPM_CONFIG_FUND=false NPM_CONFIG_UPDATE_NOTIFIER=false NPM_C...
Step 3/80 completed in 0.0s (ENV NPM_CONFIG_AUDIT=false NPM_CONFIG_FUND=false NPM_CONFIG_UPDATE_NOTIFIER=false ...
Step 4/80 : COPY nemoclaw/package.json nemoclaw/package-lock.json nemoclaw/tsconfig.json /opt/nemoclaw/
Step 4/80 completed in 0.0s (COPY nemoclaw/package.json nemoclaw/package-lock.json nemoclaw/tsconfig.json /opt/...
Step 5/80 : COPY nemoclaw/src/ /opt/nemoclaw/src/
Step 5/80 completed in 0.0s (COPY nemoclaw/src/ /opt/nemoclaw/src/)
Step 6/80 : WORKDIR /opt/nemoclaw
Step 6/80 completed in 0.0s (WORKDIR /opt/nemoclaw)
Step 7/80 : RUN npm ci && npm run build
Step 7/80 completed in 0.0s (RUN npm ci && npm run build)
Step 8/80 : FROM ${BASE_IMAGE}
Step 8/80 completed in 0.0s (FROM ${BASE_IMAGE})
Step 9/80 : ARG OPENCLAW_VERSION=2026.5.22
Step 9/80 completed in 0.0s (ARG OPENCLAW_VERSION=2026.5.22)
Step 10/80 : ARG OPENCLAW_2026_5_22_INTEGRITY=sha512-m+zgBELGbCHjWB1IWF5WSWNPr480cMKOMff2OF72c8A0AMD4hC/9+qwYtz...
Step 10/80 completed in 0.0s (ARG OPENCLAW_2026_5_22_INTEGRITY=sha512-m+zgBELGbCHjWB1IWF5WSWNPr480cMKOMff2OF72c...
Step 11/80 : RUN set -eu; apt-mark manual procps e2fsprogs tmux 2>/dev/null || true; (apt-get remove --...
Step 11/80 completed in 0.0s (RUN set -eu; apt-mark manual procps e2fsprogs tmux 2>/dev/null || true; (apt-get ...
Step 12/80 : COPY --from=builder /opt/nemoclaw/dist/ /opt/nemoclaw/dist/
Step 12/80 completed in 0.0s (COPY --from=builder /opt/nemoclaw/dist/ /opt/nemoclaw/dist/)
Step 13/80 : COPY nemoclaw/openclaw.plugin.json /opt/nemoclaw/
Step 13/80 completed in 0.0s (COPY nemoclaw/openclaw.plugin.json /opt/nemoclaw/)
Step 14/80 : COPY nemoclaw/package.json nemoclaw/package-lock.json /opt/nemoclaw/
Step 14/80 completed in 0.0s (COPY nemoclaw/package.json nemoclaw/package-lock.json /opt/nemoclaw/)
Step 15/80 : COPY nemoclaw-blueprint/ /opt/nemoclaw-blueprint/
Step 15/80 completed in 0.0s (COPY nemoclaw-blueprint/ /opt/nemoclaw-blueprint/)
Step 16/80 : RUN chmod -R a+rX /opt/nemoclaw /opt/nemoclaw-blueprint/
Step 16/80 completed in 0.0s (RUN chmod -R a+rX /opt/nemoclaw /opt/nemoclaw-blueprint/)
Step 17/80 : WORKDIR /opt/nemoclaw
Step 17/80 completed in 0.0s (WORKDIR /opt/nemoclaw)
Step 18/80 : ENV NPM_CONFIG_AUDIT=false NPM_CONFIG_FUND=false NPM_CONFIG_UPDATE_NOTIFIER=false NPM_...
Step 18/80 completed in 0.0s (ENV NPM_CONFIG_AUDIT=false NPM_CONFIG_FUND=false NPM_CONFIG_UPDATE_NOTIFIER=false...
Step 19/80 : RUN npm ci --omit=dev
Step 19/80 completed in 0.0s (RUN npm ci --omit=dev)
Step 20/80 : COPY scripts/patch-openclaw-tool-catalog.js /usr/local/lib/nemoclaw/patch-openclaw-tool-catalog.js
Step 20/80 completed in 0.0s (COPY scripts/patch-openclaw-tool-catalog.js /usr/local/lib/nemoclaw/patch-opencla...
Step 21/80 : COPY scripts/patch-openclaw-chat-send.js /usr/local/lib/nemoclaw/patch-openclaw-chat-send.js
Step 21/80 completed in 0.0s (COPY scripts/patch-openclaw-chat-send.js /usr/local/lib/nemoclaw/patch-openclaw-c...
Step 22/80 : RUN chmod 755 /usr/local/lib/nemoclaw/patch-openclaw-tool-catalog.js /usr/local/lib/nemocl...
Step 22/80 completed in 0.0s (RUN chmod 755 /usr/local/lib/nemoclaw/patch-openclaw-tool-catalog.js /usr/local/l...
Step 23/80 : RUN set -eu; echo "$OPENCLAW_VERSION" | grep -qxE '[0-9]+(\.[0-9]+)*' || { echo "ERROR...
Step 23/80 completed in 0.0s (RUN set -eu; echo "$OPENCLAW_VERSION" | grep -qxE '[0-9]+(\.[0-9]+)*' || { echo "...
Step 24/80 : RUN set -eu; OC_DIST=/usr/local/lib/node_modules/openclaw/dist; OC_VERSION="$(openclaw --v...
Step 24/80 completed in 0.0s (RUN set -eu; OC_DIST=/usr/local/lib/node_modules/openclaw/dist; OC_VERSION="$(ope...
Step 25/80 : RUN node /usr/local/lib/nemoclaw/patch-openclaw-chat-send.js /usr/local/lib/node_modules/openc...
Step 25/80 completed in 0.0s (RUN node /usr/local/lib/nemoclaw/patch-openclaw-chat-send.js /usr/local/lib/node_...
Step 26/80 : RUN node /usr/local/lib/nemoclaw/patch-openclaw-tool-catalog.js /usr/local/lib/node_modules/op...
Step 26/80 completed in 0.0s (RUN node /usr/local/lib/nemoclaw/patch-openclaw-tool-catalog.js /usr/local/lib/no...
Step 27/80 : RUN mkdir -p /sandbox/.nemoclaw/blueprints/0.1.0 && cp -r /opt/nemoclaw-blueprint/* /sandbox/....
Step 27/80 completed in 0.0s (RUN mkdir -p /sandbox/.nemoclaw/blueprints/0.1.0 && cp -r /opt/nemoclaw-blueprint...
Step 28/80 : COPY scripts/lib/sandbox-init.sh /usr/local/lib/nemoclaw/sandbox-init.sh
Step 28/80 completed in 0.0s (COPY scripts/lib/sandbox-init.sh /usr/local/lib/nemoclaw/sandbox-init.sh)
Step 29/80 : COPY scripts/nemoclaw-start.sh /usr/local/bin/nemoclaw-start
Step 29/80 completed in 0.0s (COPY scripts/nemoclaw-start.sh /usr/local/bin/nemoclaw-start)
Step 30/80 : COPY nemoclaw-blueprint/scripts/*.js /usr/local/lib/nemoclaw/preloads/
Step 30/80 completed in 0.0s (COPY nemoclaw-blueprint/scripts/*.js /usr/local/lib/nemoclaw/preloads/)
Step 31/80 : COPY scripts/codex-acp-wrapper.sh /usr/local/bin/nemoclaw-codex-acp
Step 31/80 completed in 0.0s (COPY scripts/codex-acp-wrapper.sh /usr/local/bin/nemoclaw-codex-acp)
Step 32/80 : COPY scripts/generate-openclaw-config.mts /usr/local/lib/nemoclaw/generate-openclaw-config.mts
Step 32/80 completed in 0.0s (COPY scripts/generate-openclaw-config.mts /usr/local/lib/nemoclaw/generate-opencl...
Step 33/80 : COPY scripts/openclaw-build-messaging-plugins.py /usr/local/lib/nemoclaw/openclaw-build-messaging-...
Step 33/80 completed in 0.0s (COPY scripts/openclaw-build-messaging-plugins.py /usr/local/lib/nemoclaw/openclaw...
Step 34/80 : COPY scripts/seed-wechat-accounts.py /usr/local/lib/nemoclaw/seed-wechat-accounts.py
Step 34/80 completed in 0.0s (COPY scripts/seed-wechat-accounts.py /usr/local/lib/nemoclaw/seed-wechat-accounts...
Step 35/80 : COPY nemoclaw-blueprint/openclaw-plugins/ /usr/local/share/nemoclaw/openclaw-plugins/
Step 35/80 completed in 0.0s (COPY nemoclaw-blueprint/openclaw-plugins/ /usr/local/share/nemoclaw/openclaw-plug...
Step 36/80 : RUN chmod 755 /usr/local/bin/nemoclaw-start /usr/local/bin/nemoclaw-codex-acp /usr/local/l...
Step 36/80 completed in 0.0s (RUN chmod 755 /usr/local/bin/nemoclaw-start /usr/local/bin/nemoclaw-codex-acp /us...
Step 37/80 : ARG NEMOCLAW_MODEL=gpt-oss:20b
Step 37/80 completed in 0.0s (ARG NEMOCLAW_MODEL=gpt-oss:20b)
Step 38/80 : ARG NEMOCLAW_PROVIDER_KEY=inference
Step 38/80 completed in 0.0s (ARG NEMOCLAW_PROVIDER_KEY=inference)
Step 39/80 : ARG NEMOCLAW_PRIMARY_MODEL_REF=inference/gpt-oss:20b
Step 39/80 completed in 0.0s (ARG NEMOCLAW_PRIMARY_MODEL_REF=inference/gpt-oss:20b)
Step 40/80 : ARG CHAT_UI_URL=http://127.0.0.1:18789
Step 40/80 completed in 0.0s (ARG CHAT_UI_URL=http://127.0.0.1:18789)
Step 41/80 : ARG NEMOCLAW_INFERENCE_BASE_URL=https://inference.local/v1
Step 41/80 completed in 0.0s (ARG NEMOCLAW_INFERENCE_BASE_URL=https://inference.local/v1)
Step 42/80 : ARG NEMOCLAW_INFERENCE_API=openai-completions
Step 42/80 completed in 0.0s (ARG NEMOCLAW_INFERENCE_API=openai-completions)
Step 43/80 : ARG NEMOCLAW_CONTEXT_WINDOW=4096
Step 43/80 completed in 0.0s (ARG NEMOCLAW_CONTEXT_WINDOW=4096)
Step 44/80 : ARG NEMOCLAW_MAX_TOKENS=4096
Step 44/80 completed in 0.0s (ARG NEMOCLAW_MAX_TOKENS=4096)
Step 45/80 : ARG NEMOCLAW_REASONING=false
Step 45/80 completed in 0.0s (ARG NEMOCLAW_REASONING=false)
Step 46/80 : ARG NEMOCLAW_INFERENCE_INPUTS=text
Step 46/80 completed in 0.0s (ARG NEMOCLAW_INFERENCE_INPUTS=text)
Step 47/80 : ARG NEMOCLAW_AGENT_TIMEOUT=600
Step 47/80 completed in 0.0s (ARG NEMOCLAW_AGENT_TIMEOUT=600)
Step 48/80 : ARG NEMOCLAW_AGENT_HEARTBEAT_EVERY=
Step 48/80 completed in 0.0s (ARG NEMOCLAW_AGENT_HEARTBEAT_EVERY=)
Step 49/80 : ARG NEMOCLAW_INFERENCE_COMPAT_B64=e30=
Step 49/80 completed in 0.0s (ARG NEMOCLAW_INFERENCE_COMPAT_B64=e30=)
Step 50/80 : ARG NEMOCLAW_MESSAGING_CHANNELS_B64=W10=
Step 50/80 completed in 0.0s (ARG NEMOCLAW_MESSAGING_CHANNELS_B64=W10=)
Step 51/80 : ARG NEMOCLAW_MESSAGING_ALLOWED_IDS_B64=e30=
Step 51/80 completed in 0.0s (ARG NEMOCLAW_MESSAGING_ALLOWED_IDS_B64=e30=)
Step 52/80 : ARG NEMOCLAW_DISCORD_GUILDS_B64=e30=
Step 52/80 completed in 0.0s (ARG NEMOCLAW_DISCORD_GUILDS_B64=e30=)
Step 53/80 : ARG NEMOCLAW_TELEGRAM_CONFIG_B64=e30=
Step 53/80 completed in 0.0s (ARG NEMOCLAW_TELEGRAM_CONFIG_B64=e30=)
Step 54/80 : ARG NEMOCLAW_WECHAT_CONFIG_B64=e30=
Step 54/80 completed in 0.0s (ARG NEMOCLAW_WECHAT_CONFIG_B64=e30=)
Step 55/80 : ARG NEMOCLAW_SLACK_CONFIG_B64=e30=
Step 55/80 completed in 0.0s (ARG NEMOCLAW_SLACK_CONFIG_B64=e30=)
Step 56/80 : ARG NEMOCLAW_DISABLE_DEVICE_AUTH=1
Step 56/80 completed in 0.0s (ARG NEMOCLAW_DISABLE_DEVICE_AUTH=1)
Step 57/80 : ARG NEMOCLAW_BUILD_ID=1780491816122
Step 57/80 completed in 0.1s (ARG NEMOCLAW_BUILD_ID=1780491816122)
Step 58/80 : ARG NEMOCLAW_DARWIN_VM_COMPAT=0
Step 58/80 completed in 0.1s (ARG NEMOCLAW_DARWIN_VM_COMPAT=0)
Step 59/80 : ARG NEMOCLAW_PROXY_HOST=10.200.0.1
Step 59/80 completed in 0.1s (ARG NEMOCLAW_PROXY_HOST=10.200.0.1)
Step 60/80 : ARG NEMOCLAW_PROXY_PORT=3128
Step 60/80 completed in 0.1s (ARG NEMOCLAW_PROXY_PORT=3128)
Step 61/80 : ARG NEMOCLAW_WEB_SEARCH_ENABLED=0
Step 61/80 completed in 0.1s (ARG NEMOCLAW_WEB_SEARCH_ENABLED=0)
Step 62/80 : ENV NEMOCLAW_MODEL=${NEMOCLAW_MODEL} NEMOCLAW_PROVIDER_KEY=${NEMOCLAW_PROVIDER_KEY} NEMOCL...
Step 62/80 completed in 0.1s (ENV NEMOCLAW_MODEL=${NEMOCLAW_MODEL} NEMOCLAW_PROVIDER_KEY=${NEMOCLAW_PROVIDER_KE...
Step 63/80 : WORKDIR /sandbox
Step 63/80 completed in 0.1s (WORKDIR /sandbox)
Step 64/80 : USER sandbox
Step 64/80 completed in 0.1s (USER sandbox)
Step 65/80 : RUN NEMOCLAW_OPENCLAW_MANAGED_PROXY=0 node --experimental-strip-types /usr/local/lib/nemoclaw/gene...
Step 65/80 completed in 0.5s (RUN NEMOCLAW_OPENCLAW_MANAGED_PROXY=0 node --experimental-strip-types /usr/local/...
Step 66/80 : RUN python3 /usr/local/lib/nemoclaw/openclaw-build-messaging-plugins.py
Still building sandbox image... (20s elapsed)
Step 66/80 completed in 23.3s (RUN python3 /usr/local/lib/nemoclaw/openclaw-build-messaging-plugins.py)
Step 67/80 : ENV NPM_CONFIG_OFFLINE=true NPM_CONFIG_AUDIT=false NPM_CONFIG_FUND=false
Step 67/80 completed in 0.1s (ENV NPM_CONFIG_OFFLINE=true NPM_CONFIG_AUDIT=false NPM_CONFIG_FUND=false)
Step 68/80 : RUN openclaw plugins install /opt/nemoclaw && openclaw plugins enable nemoclaw && openclaw...
Step 68/80 completed in 6.0s (RUN openclaw plugins install /opt/nemoclaw && openclaw plugins enable nemoclaw &&...
Step 69/80 : RUN python3 -c "import json, os; path = os.path.expanduser('~/.openclaw/openclaw.json'); cfg = jso...
Step 69/80 completed in 0.4s (RUN python3 -c "import json, os; path = os.path.expanduser('~/.openclaw/openclaw....
Step 70/80 : USER root
Step 70/80 completed in 0.1s (USER root)
Step 71/80 : RUN set -eu; config_dir=/sandbox/.openclaw; data_dir=/sandbox/.openclaw-data; legacy_l...
Step 71/80 completed in 8.4s (RUN set -eu; config_dir=/sandbox/.openclaw; data_dir=/sandbox/.openclaw-data; leg...
Step 72/80 : RUN if id gateway >/dev/null 2>&1 && id sandbox >/dev/null 2>&1; then if ! id -nG gateway ...
Step 72/80 completed in 0.4s (RUN if id gateway >/dev/null 2>&1 && id sandbox >/dev/null 2>&1; then if ! id -nG...
Step 73/80 : RUN set -eu; if [ -e /tmp/nemoclaw-legacy-openclaw-layout ]; then chown -R sandbox:san...
Step 73/80 completed in 0.4s (RUN set -eu; if [ -e /tmp/nemoclaw-legacy-openclaw-layout ]; then chown -R sandbo...
Step 74/80 : RUN if ! grep -q "/tmp/nemoclaw-proxy-env.sh" /etc/profile.d/nemoclaw-proxy.sh 2>/dev/null; then ...
Step 74/80 completed in 0.4s (RUN if ! grep -q "/tmp/nemoclaw-proxy-env.sh" /etc/profile.d/nemoclaw-proxy.sh 2>...
Step 75/80 : RUN sha256sum /sandbox/.openclaw/openclaw.json > /sandbox/.openclaw/.config-hash && chmod 660 ...
Step 75/80 completed in 0.4s (RUN sha256sum /sandbox/.openclaw/openclaw.json > /sandbox/.openclaw/.config-hash ...
Step 76/80 : RUN chown root:root /sandbox/.nemoclaw && chmod 1755 /sandbox/.nemoclaw && chown -R root:r...
Step 76/80 completed in 0.5s (RUN chown root:root /sandbox/.nemoclaw && chmod 1755 /sandbox/.nemoclaw && chown ...
Step 77/80 : RUN if [ "$NEMOCLAW_DARWIN_VM_COMPAT" = "1" ]; then chmod -R a+rwX /sandbox/.openclaw; ...
Step 77/80 completed in 0.4s (RUN if [ "$NEMOCLAW_DARWIN_VM_COMPAT" = "1" ]; then chmod -R a+rwX /sandbox/.open...
Step 78/80 : HEALTHCHECK --interval=30s --timeout=5s --start-period=45s --retries=3 CMD port="${NEMOCLAW_DA...
Step 78/80 completed in 0.1s (HEALTHCHECK --interval=30s --timeout=5s --start-period=45s --retries=3 CMD port="...
Step 79/80 : ENTRYPOINT ["/usr/local/bin/nemoclaw-start"]
Step 79/80 completed in 0.1s (ENTRYPOINT ["/usr/local/bin/nemoclaw-start"])
Step 80/80 : CMD ["/bin/bash"]
Step 80/80 completed in 0.1s (CMD ["/bin/bash"])
Sandbox image build completed in 42.1s
Creating sandbox in gateway...
Built image openshell/sandbox-from:1780491816
Waiting for sandbox to become ready...
Sandbox reported Ready before create stream exited; continuing.
Recreating OpenShell Docker sandbox container with NVIDIA GPU access...
✓ Docker GPU mode selected: --gpus all
Waiting for sandbox to become ready...
Waiting for NemoClaw dashboard to become ready...
Dashboard taking longer than expected to start. Continuing...
Skipping GPU proof: sandbox 'my-assistant' is in Error phase.
Patched GPU container exited with code 1 (--gpus all).
sandbox_phase=Error
sandbox_list_row=my-assistant 2026-06-03 13:04:18 Error
patched_container_status=restarting
patched_container_exit_code=1
patched_container_health=unhealthy
patched_container_finished_at=2026-06-03T13:04:56.055879635Z
patched_create_option=--gpus all
proof_error=Sandbox 'my-assistant' entered Error phase after readiness; GPU proof skipped.
Diagnostics saved: /home/masaki/.nemoclaw/onboard-failures/2026-06-03T13-05-02-503Z-my-assistant-docker-gpu-patch
The failed sandbox/container has been left in place for inspection.
Manual cleanup:
openshell sandbox delete "my-assistant"
Description
I'm trying deploying NemoClaw with GPU.
I applied patch that solved gpu onboarding issue 4316.
But the patched GPU sandbox container exits with code 1 after NemoClaw creates the OpenShell sandbox container with NVIDIA GPU access.
This appears to be a new failure point after the Docker GPU patch is applied.
I attached logs output in
$HOME/.nemoclaw/onboard-failures.docker-inspect.json
docker-logs.txt
docker-network-summary.txt
patched-container-state.json
summary.txt
Reproduction Steps
Environment
Debug Output
Logs
Checklist