Customize the Sandbox Network Policy#
Add, remove, or modify the endpoints that the sandbox is allowed to reach.
The sandbox policy is defined in a declarative YAML file in the NemoClaw repository and enforced at runtime by NVIDIA OpenShell. NemoClaw supports both static policy changes that persist across restarts and dynamic updates applied to a running sandbox through the OpenShell CLI.
Prerequisites#
A running NemoClaw sandbox for dynamic changes, or the NemoClaw source repository for static changes.
The OpenShell CLI on your
PATH.
[!IMPORTANT] Make static policy edits on the host, not inside the sandbox. The sandbox image is intentionally minimal and may not include editors or package-management tools. Changes made only inside the sandbox are also ephemeral and are lost when the sandbox is recreated.
Static Changes#
Static changes modify the baseline policy file and take effect after the next sandbox creation.
Edit the Policy File#
Open nemoclaw-blueprint/policies/openclaw-sandbox.yaml and add or modify endpoint entries.
If you only need one of the built-in presets, use nemoclaw <name> policy-add instead of editing YAML by hand:
$ nemoclaw my-assistant policy-add
To remove a previously applied preset, use nemoclaw <name> policy-remove:
$ nemoclaw my-assistant policy-remove
Use a manual YAML edit when you need to allow custom hosts that are not covered by a preset, such as an internal API or a weather service.
Each entry in the network section defines an endpoint group with the following fields:
endpointsHost and port pairs that the sandbox can reach.
binariesExecutables allowed to use this endpoint.
rulesHTTP methods and paths that are permitted.
Re-Run Onboard#
Apply the updated policy by re-running the onboard wizard:
$ nemoclaw onboard
The wizard picks up the modified policy file and applies it to the sandbox.
Verify the Policy#
Check that the sandbox is running with the updated policy:
$ nemoclaw <name> status
Dynamic Changes#
Dynamic changes apply a policy update to a running sandbox without restarting it.
Create a Policy File#
Create a YAML file with the endpoints to add.
Follow the same format as the baseline policy in nemoclaw-blueprint/policies/openclaw-sandbox.yaml.
Apply the Policy#
Use the OpenShell CLI to apply the policy update:
$ openshell policy set --policy <policy-file> <sandbox-name>
The change takes effect immediately.
Scope of Dynamic Changes#
Dynamic changes apply only to the current session. When the sandbox stops, the running policy resets to the baseline defined in the policy file. To make changes permanent, update the static policy file and re-run setup.
Approve Requests Interactively#
For one-off access, you can approve blocked requests in the OpenShell TUI instead of editing the baseline policy:
$ openshell term
This is useful when you want to test a destination before deciding whether it belongs in a permanent preset or custom policy file.
Policy Presets#
NemoClaw ships preset policy files for common integrations in nemoclaw-blueprint/policies/presets/.
Apply a preset as-is or use it as a starting template for a custom policy.
During onboarding, the policy tier you select determines which presets are enabled by default. You can add or remove individual presets in the interactive preset screen that follows tier selection.
Available presets:
Preset |
Endpoints |
|---|---|
|
Brave Search API |
|
Homebrew (Linuxbrew) package manager |
|
Discord webhook API |
|
GitHub and GitHub REST API |
|
Hugging Face Hub (download-only) and inference router |
|
Atlassian Jira API |
|
npm and Yarn registries |
|
Microsoft 365 and Outlook |
|
Python Package Index |
|
Slack API and webhooks |
|
Telegram Bot API |
To apply a preset to a running sandbox, pass it as a policy file:
$ openshell policy set --policy nemoclaw-blueprint/policies/presets/pypi.yaml my-assistant
To include a preset in the baseline, merge its entries into openclaw-sandbox.yaml and re-run nemoclaw onboard.