Description
On macOS (Colima docker driver, nemoclaw v0.0.68 / openshell 0.0.44), nemoclaw <name> destroy aborts fatally and cannot delete the sandbox when the OpenShell gateway is not listening on 127.0.0.1:8080.
Verbose (RUST_LOG=debug) output proves every call — each provider detach and the final delete — connects to 127.0.0.1:8080 (the gateway), not to the messaging-bridge / devtunnel endpoints. When the gateway process is not running, all of them get Connection refused (os error 61). The per-provider detaches are logged as non-fatal Warnings, but the final delete call's transport error is fatal and aborts the whole destroy (Failed to destroy sandbox).
Unlike nemoclaw <name> status / doctor, which auto-start the gateway, destroy assumes the gateway is already up and does not start/recover it. Neither --force nor --yes bypasses the failure — per nemoclaw sandbox destroy --help, both only "Skip the confirmation prompt." So when the gateway is down there is no supported way to delete a sandbox.
Originally hit after shutting down a devtunnel (and Colima), which led to the assumption the messaging bridges were the unreachable target — the verbose trace disproves that: the target is always the gateway at 127.0.0.1:8080.
Workaround that worked: bring the gateway up first (run nemoclaw <name> status once Docker is running — it starts the gateway; or openshell gateway start --name nemoclaw), confirm 127.0.0.1:8080 is LISTENing, then nemoclaw <name> destroy --force succeeds and cleans up the image.
Related (already fixed, do not cover this case): NVB#6100026 (destroy noisy provider warnings — fixed the noise, not the fatal abort), NVB#6044867 (destroy did not stop telegram bridge — opposite direction).
Environment
Device: MacBook (Apple Silicon, arm64)
OS: macOS 26.5.1 (Darwin 25.5.0, arm64)
Architecture: arm64
Node.js: v23.10.0
npm: 11.3.0
Docker: 27.4.0 client / 29.2.1 server (Colima docker driver)
OpenShell CLI: 0.0.44 (docker driver)
NemoClaw: v0.0.68
OpenClaw: v2026.5.27
Steps to Reproduce
- On macOS with Colima as the Docker backend, have an existing sandbox.
- Ensure the OpenShell gateway is not running on
127.0.0.1:8080 (e.g. it crashed, or Docker/Colima was stopped and the gateway process exited — bringing Docker back up does not auto-restart the gateway).
- Run
nemoclaw <name> destroy (or with --force).
Expected Result
Deleting a sandbox should never be permanently blocked by a down gateway. Either:
- destroy ensures/recovers the gateway (as
status/doctor already do) before teardown; or
- destroy treats gateway/detach failures as best-effort and still completes local teardown + registry removal; or
--force actually bypasses the transport failure and force-removes the sandbox / drops the local registry entry.
Actual Result
- Every provider detach and the final delete connect to
127.0.0.1:8080; with the gateway down all return Connection refused (os error 61).
- Per-provider detaches are non-fatal Warnings; the final delete transport error is fatal →
Failed to destroy sandbox 'lynnteams'.
--force / --yes only skip the confirmation prompt; they do not bypass the transport failure.
Logs
Verbose repro (RUST_LOG=debug) — note the connection target on every line is the gateway, not a bridge:
Deleting sandbox 'lynnteams'...
Warning: failed to detach provider 'lynnteams-telegram-bridge' before sandbox delete: DEBUG hyper_util::client::legacy::connect::http: connecting to 127.0.0.1:8080
Error: × transport error ├─▶ tcp connect error ╰─▶ Connection refused (os error 61)
... (identical for discord / wechat / slack / slack-app / teams / brave-search bridges) ...
DEBUG hyper_util::client::legacy::connect::http: connecting to 127.0.0.1:8080
Error: × transport error ╰─▶ Connection refused (os error 61)
Failed to destroy sandbox 'lynnteams'.
After bringing the gateway up (confirmed 127.0.0.1:8080 LISTEN), nemoclaw lynnteams destroy --force succeeded:
Deleting sandbox 'lynnteams'...
Untagged: openshell/sandbox-from:1782470980
Deleted: sha256:... (image layers removed)
Removed Docker image openshell/sandbox-from:1782470980
✓ Sandbox 'lynnteams' destroyed
NVB#6395783
Description
On macOS (Colima docker driver, nemoclaw v0.0.68 / openshell 0.0.44),
nemoclaw <name> destroyaborts fatally and cannot delete the sandbox when the OpenShell gateway is not listening on127.0.0.1:8080.Verbose (
RUST_LOG=debug) output proves every call — each provider detach and the final delete — connects to127.0.0.1:8080(the gateway), not to the messaging-bridge / devtunnel endpoints. When the gateway process is not running, all of them getConnection refused (os error 61). The per-provider detaches are logged as non-fatal Warnings, but the final delete call's transport error is fatal and aborts the whole destroy (Failed to destroy sandbox).Unlike
nemoclaw <name> status/doctor, which auto-start the gateway,destroyassumes the gateway is already up and does not start/recover it. Neither--forcenor--yesbypasses the failure — pernemoclaw sandbox destroy --help, both only "Skip the confirmation prompt." So when the gateway is down there is no supported way to delete a sandbox.Originally hit after shutting down a devtunnel (and Colima), which led to the assumption the messaging bridges were the unreachable target — the verbose trace disproves that: the target is always the gateway at
127.0.0.1:8080.Workaround that worked: bring the gateway up first (run
nemoclaw <name> statusonce Docker is running — it starts the gateway; oropenshell gateway start --name nemoclaw), confirm127.0.0.1:8080is LISTENing, thennemoclaw <name> destroy --forcesucceeds and cleans up the image.Related (already fixed, do not cover this case): NVB#6100026 (destroy noisy provider warnings — fixed the noise, not the fatal abort), NVB#6044867 (destroy did not stop telegram bridge — opposite direction).
Environment
Steps to Reproduce
127.0.0.1:8080(e.g. it crashed, or Docker/Colima was stopped and the gateway process exited — bringing Docker back up does not auto-restart the gateway).nemoclaw <name> destroy(or with--force).Expected Result
Deleting a sandbox should never be permanently blocked by a down gateway. Either:
status/doctoralready do) before teardown; or--forceactually bypasses the transport failure and force-removes the sandbox / drops the local registry entry.Actual Result
127.0.0.1:8080; with the gateway down all returnConnection refused (os error 61).Failed to destroy sandbox 'lynnteams'.--force/--yesonly skip the confirmation prompt; they do not bypass the transport failure.Logs
Verbose repro (
RUST_LOG=debug) — note the connection target on every line is the gateway, not a bridge:After bringing the gateway up (confirmed
127.0.0.1:8080LISTEN),nemoclaw lynnteams destroy --forcesucceeded:NVB#6395783