The remote-mode seed obligation lived only in process memory (remoteSeedPending), so a gateway restart between sandbox create and the first exec adopted the sandbox via 'sandbox get' and silently skipped the one-time seed, leaving an empty remote-canonical workspace with no visible failure. Adopted remote sandboxes now probe the managed roots once per process at the ensure boundary and arm the seed only when every root is missing or empty, so recovery can never wipe operator content in an already-seeded workspace (the seed guard shipped in v2026.7.1, so legacy seeded sandboxes without any marker exist). The probe also heals a create that timed out client-side after the sandbox actually came up. Regression test simulates create -> restart -> first exec and fails pre-fix; a sibling test locks the never-reseed-non-empty-roots invariant.
@openclaw/openshell-sandbox
Official NVIDIA OpenShell sandbox backend for OpenClaw.
This plugin lets OpenClaw use OpenShell-managed local or remote sandboxes with
SSH command execution. Choose mirror mode for a synchronized local workspace
or remote mode for a remote-canonical workspace.
Configuring an OpenShell workspace requires OpenShell v0.0.88 or newer. The
plugin supports OpenShell control-plane workspaces through
plugins.entries.openshell.config.workspace; this is separate from OpenClaw's
local/remote filesystem workspace mode. The setting applies to the whole plugin
instance, not individual agents or sessions. When unset, the plugin preserves
the OpenShell CLI's ambient OPENSHELL_WORKSPACE selection, or its default
fallback when no ambient selection exists.
Install
openclaw plugins install @openclaw/openshell-sandbox
Restart the Gateway after installing or updating the plugin.
Configure
Install and configure the OpenShell CLI before enabling the backend. As the same operating system user that runs the OpenClaw Gateway, verify:
openshell --version
openshell gateway list
openshell sandbox list
Set agents.defaults.sandbox.backend to "openshell", enable
plugins.entries.openshell, and restart the OpenClaw Gateway. OpenShell
settings belong under plugins.entries.openshell.config.
The optional policy setting must be the path to a readable OpenShell policy
YAML file on the Gateway host; it is not a policy name or ID. Use an absolute
path to avoid resolving it relative to an agent workspace.
Use the OpenShell docs for credentials, workspace mirroring, runtime selection, and troubleshooting:
Package
- Plugin id:
openshell - Package:
@openclaw/openshell-sandbox - Minimum OpenClaw host:
2026.5.12-beta.1