Description
[Description]
When the brew policy preset is applied to a NemoClaw sandbox, the documented test case expects both: (a) network egress to Homebrew endpoints (formulae.brew.sh, raw.githubusercontent.com, ghcr.io, GitHub) and (b) a working brew CLI inside the sandbox so brew install hello can complete. In practice, after applying the brew preset, all the curl and git network probes succeed from inside the sandbox, but brew install --quiet hello fails with bash: brew: command not found. This shows that the preset correctly configures network access but does not ensure that the Homebrew/brew binary is installed in the sandbox, so the final “brew install hello” validation step in the test case cannot be executed as written.
[Environment]
NemoClaw: v0.0.44
OpenShell CLI: 0.0.39
OpenClaw: 2026.4.24 (cbcfdf6)
Sandbox OS: Linux (default NemoClaw base image, x86_64)
Container runtime: Docker on DGX Spark host
Network: outbound HTTPS generally allowed; no proxy errors for Homebrew endpoints
[Steps to Reproduce]
Pre-condition:
-
NemoClaw sandbox
new-sb is running. -
No additional network-policy presets have been applied yet.
Steps:
-
On the host, apply the brew preset:
nemoclaw new-sb policy-add
When prompted, select the "brew" preset and confirm.
Verify it is active:nemoclaw new-sb policy-list
Confirm that brew shows as ● (applied) in the preset list.
Connect into the sandbox:nemoclaw new-sb connect
You land at sandbox@...:~$.
Inside the sandbox, probe the Homebrew registry:curl -sI --max-time 8 https://formulae.brew.sh
Still inside the sandbox, fetch the Homebrew install script:curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o /dev/null
Check git access to the Homebrew repo:git ls-remote https://github.com/Homebrew/brew.git HEAD
Probe ghcr.io:curl -sI --max-time 8 https://ghcr.io
Try to install a package via brew:brew install --quiet hello
Exit the sandbox:exit
[Expected]
-
nemoclaw new-sb policy-add with the brew preset applies the Homebrew-related network policy; policy version increments. -
nemoclaw new-sb policy-list shows brew as ● (applied) for sandbox new-sb. -
nemoclaw new-sb connect enters the sandbox successfully. -
Inside the sandbox,
curl -sI --max-time 8 https://formulae.brew.sh returns HTTP 200 or 301, confirming the Homebrew registry is reachable via /usr/bin/curl (which the test spec assumes is in the brew preset’s binary allowlist). -
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o /dev/null succeeds, confirming access to the install script. -
git ls-remote https://github.com/Homebrew/brew.git HEAD succeeds (no TLS errors), confirming git access to the Homebrew repo. -
curl -sI --max-time 8 https://ghcr.io returns HTTP 200 or 301, confirming ghcr.io is reachable for bottle downloads. -
brew install --quiet hello succeeds end‑to‑end: the brew binary exists in the sandbox PATH, downloads from ghcr.io / pkg-containers.githubusercontent.com / objects.githubusercontent.com succeed without “server certificate verification failed” errors, and the hello package is installed. -
Sandbox exits cleanly.
[Actual]
-
nemoclaw new-sb policy-list shows the brew preset as applied (● brew — Homebrew (Linuxbrew) package manager access), alongside other presets (brave, discord, huggingface, local-inference, npm, pypi, etc.). -
nemoclaw new-sb connect enters the sandbox successfully and reports an inference route using vllm-local/meta/llama-3.1-8b-instruct. -
Inside the sandbox:
-
curl -sI --max-time 8 https://formulae.brew.sh returns HTTP/2 200 with GitHub/varnish headers, confirming the registry is reachable. -
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o /dev/null completes successfully (no output, zero exit code). -
git ls-remote https://github.com/Homebrew/brew.git HEAD returns a valid commit hash (e.g., a7f3847d5f52c123207873b6ca5093e79701d468 HEAD), confirming git access. -
curl -sI --max-time 8 https://ghcr.io succeeds with HTTP/1.1 200 Connection Established followed by HTTP/2 405, showing TLS and connectivity to ghcr.io are working.
-
However, attempting to install a package via brew fails immediately:
sandbox@2549dec54185:~$ brew install --quiet hello bash: brew: command not found
indicating that the brew binary is not installed in the sandbox at all, even though the brew policy preset is applied and all the network probes succeed.
The final step of the test case (“brew install hello SUCCEEDS end‑to‑end”) cannot be executed as written because there is no brew CLI in the sandbox PATH.
[Impact / Notes]
-
The
brew preset correctly configures network access to the Homebrew registry, GitHub, and ghcr.io, but does not ensure that the Homebrew/brew CLI is present inside the sandbox. -
The documented test case for the
brew preset implicitly assumes a working brew binary, so the QA scenario “apply brew preset → brew install hello” cannot be validated in a fresh NemoClaw sandbox without manually installing Homebrew first. -
This may be resolved either by:
-
Updating the test plan/docs to state that the user must install Homebrew inside the sandbox before running
brew install checks, or -
Enhancing the
brew preset / onboarding flow to optionally install Homebrew (or to check for the presence of brew and warn clearly if it is missing).
Bug Details
| Field |
Value |
| Priority |
Unprioritized |
| Action |
Dev - Open - To fix |
| Disposition |
Open issue |
| Module |
Machine Learning - NemoClaw |
| Keyword |
NemoClaw, NEMOCLAW_GH_SYNC_APPROVAL, NemoClaw-SWQA-RelBlckr-Recommended, NemoClaw-SWQA-Sprint4-Blocker |
[NVB#6188343]
Description
[Description]
When the
brewpolicy preset is applied to a NemoClaw sandbox, the documented test case expects both: (a) network egress to Homebrew endpoints (formulae.brew.sh, raw.githubusercontent.com, ghcr.io, GitHub) and (b) a workingbrewCLI inside the sandbox sobrew install hellocan complete. In practice, after applying thebrewpreset, all the curl and git network probes succeed from inside the sandbox, butbrew install --quiet hellofails withbash: brew: command not found. This shows that the preset correctly configures network access but does not ensure that the Homebrew/brew binary is installed in the sandbox, so the final “brew install hello” validation step in the test case cannot be executed as written.[Environment]
NemoClaw: v0.0.44
OpenShell CLI: 0.0.39
OpenClaw: 2026.4.24 (cbcfdf6)
Sandbox OS: Linux (default NemoClaw base image, x86_64)
Container runtime: Docker on DGX Spark host
Network: outbound HTTPS generally allowed; no proxy errors for Homebrew endpoints
[Steps to Reproduce]
Pre-condition:
new-sbis running.Steps:
nemoclaw new-sb policy-addWhen prompted, select the
"brew"preset and confirm.Verify it is active:
nemoclaw new-sb policy-listConfirm that
brewshows as●(applied) in the preset list.Connect into the sandbox:
nemoclaw new-sb connectYou land at
sandbox@...:~$.Inside the sandbox, probe the Homebrew registry:
curl -sI --max-time 8 https://formulae.brew.shStill inside the sandbox, fetch the Homebrew install script:
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o /dev/nullCheck git access to the Homebrew repo:
git ls-remote https://github.com/Homebrew/brew.git HEADProbe ghcr.io:
curl -sI --max-time 8 https://ghcr.ioTry to install a package via brew:
brew install --quiet helloExit the sandbox:
exit[Expected]
nemoclaw new-sb policy-addwith thebrewpreset applies the Homebrew-related network policy; policy version increments.nemoclaw new-sb policy-listshowsbrewas●(applied) for sandboxnew-sb.nemoclaw new-sb connectenters the sandbox successfully.curl -sI --max-time 8 https://formulae.brew.shreturns HTTP200or301, confirming the Homebrew registry is reachable via/usr/bin/curl(which the test spec assumes is in the brew preset’s binary allowlist).curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o /dev/nullsucceeds, confirming access to the install script.git ls-remote https://github.com/Homebrew/brew.git HEADsucceeds (no TLS errors), confirming git access to the Homebrew repo.curl -sI --max-time 8 https://ghcr.ioreturns HTTP200or301, confirming ghcr.io is reachable for bottle downloads.brew install --quiet hellosucceeds end‑to‑end: thebrewbinary exists in the sandbox PATH, downloads from ghcr.io / pkg-containers.githubusercontent.com / objects.githubusercontent.com succeed without “server certificate verification failed” errors, and thehellopackage is installed.[Actual]
nemoclaw new-sb policy-listshows thebrewpreset as applied (● brew — Homebrew (Linuxbrew) package manager access), alongside other presets (brave, discord, huggingface, local-inference, npm, pypi, etc.).nemoclaw new-sb connectenters the sandbox successfully and reports an inference route usingvllm-local/meta/llama-3.1-8b-instruct.curl -sI --max-time 8 https://formulae.brew.shreturns HTTP/2200with GitHub/varnish headers, confirming the registry is reachable.curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o /dev/nullcompletes successfully (no output, zero exit code).git ls-remote https://github.com/Homebrew/brew.git HEADreturns a valid commit hash (e.g.,a7f3847d5f52c123207873b6ca5093e79701d468 HEAD), confirming git access.curl -sI --max-time 8 https://ghcr.iosucceeds withHTTP/1.1 200 Connection Establishedfollowed byHTTP/2 405, showing TLS and connectivity to ghcr.io are working.sandbox@2549dec54185:~$ brew install --quiet hello bash: brew: command not foundindicating that the
brewbinary is not installed in the sandbox at all, even though thebrewpolicy preset is applied and all the network probes succeed.The final step of the test case (“brew install hello SUCCEEDS end‑to‑end”) cannot be executed as written because there is no
brewCLI in the sandbox PATH.[Impact / Notes]
brewpreset correctly configures network access to the Homebrew registry, GitHub, and ghcr.io, but does not ensure that the Homebrew/brew CLI is present inside the sandbox.brewpreset implicitly assumes a workingbrewbinary, so the QA scenario “apply brew preset → brew install hello” cannot be validated in a fresh NemoClaw sandbox without manually installing Homebrew first.brew installchecks, orbrewpreset / onboarding flow to optionally install Homebrew (or to check for the presence ofbrewand warn clearly if it is missing).Bug Details
[NVB#6188343]