Description
After restarting the host system (Windows 11 + WSL2), the openshell forward command consistently fails with SSH Exit 255. The sandbox shows as Ready in kubectl, but the OpenShell API reports "sandbox not found". The only workaround is running nemoclaw onboard again, which takes 2-5 minutes.
Reproduction Steps
- Run nemoclaw onboard and create a sandbox (e.g. clawbot)
- Confirm forward works: openshell forward start 18789 clawbot
- Restart Windows/WSL2
- Run: docker start openshell-cluster-nemoclaw
- Run: openshell forward start 18789 clawbot
- Result: ssh exited with status exit status: 255
Environment
OS: Windows 11 with WSL2 (Ubuntu 24.04 Noble)
Container Runtime: Docker Desktop 29.2.1
OpenShell Version: 0.0.12
NemoClaw Version: 0.1.0
GPU: NVIDIA GeForce RTX 5070
Debug Output
bread@David-PC:~$ nemoclaw debug --quick
[debug] Collecting diagnostics for sandbox 'openclaw'...
[debug] Quick mode: true
═══ System ═══
Sun Mar 22 11:09:20 CET 2026
Linux David-PC 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
11:09:20 up 1:29, 2 users, load average: 0.41, 0.28, 0.29
total used free shared buff/cache available
Mem: 15559 1583 10545 4 3674 13975
Swap: 4096 0 4096
═══ Processes ═══
PID PPID CMD %MEM %CPU
3892 1980 node /home/bread/.local/bin 0.2 16.6
1 0 /sbin/init 0.0 0.0
808 807 /mnt/wsl/docker-desktop/doc 0.1 0.0
44 1 /usr/lib/systemd/systemd-jo 0.0 0.0
1975 1974 /init 0.0 0.0
91 1 /usr/lib/systemd/systemd-ud 0.0 0.0
2827 1 /usr/lib/polkit-1/polkitd - 0.0 0.0
170 1 @dbus-daemon --system --add 0.0 0.0
107 1 /usr/lib/systemd/systemd-re 0.0 0.0
1980 1975 -bash 0.0 0.0
112 1 /usr/lib/systemd/systemd-ti 0.0 0.0
177 1 /usr/lib/systemd/systemd-lo 0.0 0.0
701 1 /usr/lib/systemd/systemd -- 0.0 0.0
346 1 /usr/lib/systemd/systemd -- 0.0 0.0
207 1 /usr/bin/python3 /usr/share 0.1 0.0
193 1 /usr/sbin/rsyslogd -n -iNON 0.0 0.0
807 298 /init 0.0 0.0
371 302 -bash 0.0 0.0
302 2 /bin/login -f 0.0 0.0
169 1 /usr/sbin/cron -f -P 0.0 0.0
8 2 plan9 --control-socket 7 -- 0.0 0.0
2 1 /init 0.0 0.0
181 1 /sbin/agetty -o -p -- \u -- 0.0 0.0
200 1 /sbin/agetty -o -p -- \u -- 0.0 0.0
298 2 /init 0.0 0.0
301 298 /init 0.0 0.0
305 301 sh 0.0 0.0
347 346 (sd-pam) 0.0 0.0
654 2 /bin/login -f 0.0 0.0
═══ GPU ═══
Sun Mar 22 11:09:20 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 590.57 Driver Version: 591.86 CUDA Version: 13.1 |
+-----------------------------------------+------------------------+----------------------+
| 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 5070 On | 00000000:01:00.0 On | N/A |
| 0% 35C P3 15W / 250W | 2501MiB / 12227MiB | 3% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
═══ Docker ═══
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74cfac8dd49e ghcr.io/nvidia/openshell/cluster:0.0.12 "/usr/local/bin/clus…" 3 hours ago Up About an hour (healthy) 0.0.0.0:8080->30051/tcp openshell-cluster-nemoclaw
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
74cfac8dd49e openshell-cluster-nemoclaw 2.45% 319.8MiB / 15.19GiB 2.06% 81.9kB / 102kB 3.68MB / 5.42MB 107
═══ OpenShell ═══
Server Status
Gateway: nemoclaw
Server: https://127.0.0.1:8080
Status: Connected
Version: 0.0.12
NAME NAMESPACE CREATED PHASE
clawbot openshell 2026-03-22 07:38:06 Ready
Error: × status: NotFound, message: "sandbox not found", details: [], metadata: MetadataMap { headers: {"content-type":
│ "application/grpc", "date": "Sun, 22 Mar 2026 10:09:22 GMT"} }
(command exited with non-zero status)
Error: × status: NotFound, message: "sandbox not found", details: [], metadata: MetadataMap { headers: {"content-type":
│ "application/grpc", "date": "Sun, 22 Mar 2026 10:09:22 GMT"} }
(command exited with non-zero status)
═══ Kernel Messages ═══
[ 1162.549225] veth40acb194: entered allmulticast mode
[ 1162.549295] veth40acb194: entered promiscuous mode
[ 1162.550739] cni0: port 2(veth30be7a84) entered blocking state
[ 1162.550742] cni0: port 2(veth30be7a84) entered disabled state
[ 1162.550749] veth30be7a84: entered allmulticast mode
[ 1162.550799] veth30be7a84: entered promiscuous mode
[ 1162.550819] cni0: port 2(veth30be7a84) entered blocking state
[ 1162.550845] cni0: port 2(veth30be7a84) entered forwarding state
[ 1162.555884] cni0: port 1(veth40acb194) entered blocking state
[ 1162.555889] cni0: port 1(veth40acb194) entered forwarding state
[ 1162.560421] cni0: port 3(veth141e7f24) entered blocking state
[ 1162.560424] cni0: port 3(veth141e7f24) entered disabled state
[ 1162.560432] veth141e7f24: entered allmulticast mode
[ 1162.560490] veth141e7f24: entered promiscuous mode
[ 1162.560509] cni0: port 3(veth141e7f24) entered blocking state
[ 1162.560511] cni0: port 3(veth141e7f24) entered forwarding state
[ 1162.562293] cni0: port 4(vethe2aedc81) entered blocking state
[ 1162.562297] cni0: port 4(vethe2aedc81) entered disabled state
[ 1162.562305] vethe2aedc81: entered allmulticast mode
[ 1162.562359] vethe2aedc81: entered promiscuous mode
[ 1162.562375] cni0: port 4(vethe2aedc81) entered blocking state
[ 1162.562377] cni0: port 4(vethe2aedc81) entered forwarding state
[ 1162.563008] cni0: port 5(vethd88667a2) entered blocking state
[ 1162.563012] cni0: port 5(vethd88667a2) entered disabled state
[ 1162.563020] vethd88667a2: entered allmulticast mode
[ 1162.563087] vethd88667a2: entered promiscuous mode
[ 1162.563128] cni0: port 5(vethd88667a2) entered blocking state
[ 1162.563131] cni0: port 5(vethd88667a2) entered forwarding state
[ 1162.564474] cni0: port 4(vethe2aedc81) entered disabled state
[ 1162.564677] cni0: port 5(vethd88667a2) entered disabled state
[ 1162.567870] cni0: port 4(vethe2aedc81) entered blocking state
[ 1162.567872] cni0: port 4(vethe2aedc81) entered forwarding state
[ 1162.568548] cni0: port 5(vethd88667a2) entered blocking state
[ 1162.568551] cni0: port 5(vethd88667a2) entered forwarding state
[ 1163.379750] cni0: port 6(veth82350307) entered blocking state
[ 1163.379781] cni0: port 6(veth82350307) entered disabled state
[ 1163.379791] veth82350307: entered allmulticast mode
[ 1163.379865] veth82350307: entered promiscuous mode
[ 1163.379887] cni0: port 6(veth82350307) entered blocking state
[ 1163.379890] cni0: port 6(veth82350307) entered forwarding state
[ 1174.630193] cni0: port 7(veth6e18b342) entered blocking state
[ 1174.630197] cni0: port 7(veth6e18b342) entered disabled state
[ 1174.630206] veth6e18b342: entered allmulticast mode
[ 1174.630262] veth6e18b342: entered promiscuous mode
[ 1174.634517] cni0: port 7(veth6e18b342) entered blocking state
[ 1174.634520] cni0: port 7(veth6e18b342) entered forwarding state
[ 1177.476514] cni0: port 7(veth6e18b342) entered disabled state
[ 1177.477027] veth6e18b342 (unregistering): left allmulticast mode
[ 1177.477029] veth6e18b342 (unregistering): left promiscuous mode
[ 1177.477032] cni0: port 7(veth6e18b342) entered disabled state
[ 1181.021049] cni0: port 2(veth30be7a84) entered disabled state
[ 1181.021616] veth30be7a84 (unregistering): left allmulticast mode
[ 1181.021619] veth30be7a84 (unregistering): left promiscuous mode
[ 1181.021622] cni0: port 2(veth30be7a84) entered disabled state
[ 1181.755163] cni0: port 2(veth6aadc7a5) entered blocking state
[ 1181.755167] cni0: port 2(veth6aadc7a5) entered disabled state
[ 1181.755174] veth6aadc7a5: entered allmulticast mode
[ 1181.755234] veth6aadc7a5: entered promiscuous mode
[ 1181.755255] cni0: port 2(veth6aadc7a5) entered blocking state
[ 1181.755257] cni0: port 2(veth6aadc7a5) entered forwarding state
[ 1346.647388] cni0: port 7(vethb3c4baa1) entered blocking state
[ 1346.647394] cni0: port 7(vethb3c4baa1) entered disabled state
[ 1346.647424] vethb3c4baa1: entered allmulticast mode
[ 1346.647481] vethb3c4baa1: entered promiscuous mode
[ 1346.651599] cni0: port 7(vethb3c4baa1) entered blocking state
[ 1346.651601] cni0: port 7(vethb3c4baa1) entered forwarding state
[ 1347.874327] cni0: port 6(veth82350307) entered disabled state
[ 1347.875042] veth82350307 (unregistering): left allmulticast mode
[ 1347.875044] veth82350307 (unregistering): left promiscuous mode
[ 1347.875059] cni0: port 6(veth82350307) entered disabled state
[ 1928.199447] cni0: port 6(veth40e43cd1) entered blocking state
[ 1928.199452] cni0: port 6(veth40e43cd1) entered disabled state
[ 1928.199478] veth40e43cd1: entered allmulticast mode
[ 1928.199560] veth40e43cd1: entered promiscuous mode
[ 1928.204421] cni0: port 6(veth40e43cd1) entered blocking state
[ 1928.204424] cni0: port 6(veth40e43cd1) entered forwarding state
[ 1929.049545] cni0: port 7(vethb3c4baa1) entered disabled state
[ 1929.050392] vethb3c4baa1 (unregistering): left allmulticast mode
[ 1929.050395] vethb3c4baa1 (unregistering): left promiscuous mode
[ 1929.050409] cni0: port 7(vethb3c4baa1) entered disabled state
[ 2325.859683] cni0: port 7(veth49e9bf7b) entered blocking state
[ 2325.859688] cni0: port 7(veth49e9bf7b) entered disabled state
[ 2325.859695] veth49e9bf7b: entered allmulticast mode
[ 2325.859751] veth49e9bf7b: entered promiscuous mode
[ 2325.864222] cni0: port 7(veth49e9bf7b) entered blocking state
[ 2325.864225] cni0: port 7(veth49e9bf7b) entered forwarding state
[ 2327.365150] cni0: port 6(veth40e43cd1) entered disabled state
[ 2327.365831] veth40e43cd1 (unregistering): left allmulticast mode
[ 2327.365834] veth40e43cd1 (unregistering): left promiscuous mode
[ 2327.365837] cni0: port 6(veth40e43cd1) entered disabled state
[ 2441.779890] cni0: port 6(veth4a8ae921) entered blocking state
[ 2441.779895] cni0: port 6(veth4a8ae921) entered disabled state
[ 2441.779902] veth4a8ae921: entered allmulticast mode
[ 2441.779961] veth4a8ae921: entered promiscuous mode
[ 2441.784086] cni0: port 6(veth4a8ae921) entered blocking state
[ 2441.784089] cni0: port 6(veth4a8ae921) entered forwarding state
[ 2443.418749] cni0: port 7(veth49e9bf7b) entered disabled state
[ 2443.419750] veth49e9bf7b (unregistering): left allmulticast mode
[ 2443.419753] veth49e9bf7b (unregistering): left promiscuous mode
[ 2443.419756] cni0: port 7(veth49e9bf7b) entered disabled state
[debug] Done. If filing a bug, run with --output and attach the tarball to your issue:
[debug] nemoclaw debug --output /tmp/nemoclaw-debug.tar.gz
Logs
kubectl: clawbot Phase = Ready
OpenShell API: "sandbox not found"
SSH connection: handshake verification failed
Error: ssh exited with status exit status: 255
Checklist
Description
After restarting the host system (Windows 11 + WSL2), the openshell forward command consistently fails with SSH Exit 255. The sandbox shows as Ready in kubectl, but the OpenShell API reports "sandbox not found". The only workaround is running nemoclaw onboard again, which takes 2-5 minutes.
Reproduction Steps
Environment
OS: Windows 11 with WSL2 (Ubuntu 24.04 Noble)
Container Runtime: Docker Desktop 29.2.1
OpenShell Version: 0.0.12
NemoClaw Version: 0.1.0
GPU: NVIDIA GeForce RTX 5070
Debug Output
Logs
Checklist