Bug description
openclaw gateway install generates a LaunchAgent plist (~/Library/LaunchAgents/ai.openclaw.gateway.plist) that captures the current shell PATH into the EnvironmentVariables dict. However, paths added by Nix Home Manager (e.g. ~/.nix-profile/bin) are not included in the generated plist, even when they are present in the login shell PATH at the time of running openclaw gateway install --force.
Impact
Skills that depend on binaries installed via Nix Home Manager (e.g. aoe, tmux) are reported as blocked / missing requirements by the gateway, because hasBinary() in shared/config-eval.ts checks process.env.PATH — which comes from the plist.
The shellEnv.enabled: true config option does not help here, as it only imports specific API key env vars, not PATH.
Steps to reproduce
- Install binaries via Nix Home Manager (e.g.
aoe, tmux) — confirm they are in login shell PATH (/bin/zsh -l -c "which aoe" works)
- Run
openclaw gateway install --force
- Inspect the generated plist:
~/.nix-profile/bin is missing from the PATH value
- Skills requiring those binaries show as "blocked - Missing: bin:aoe, bin:tmux"
Expected behavior
The generated plist PATH should include all entries from the login shell PATH, including Nix Home Manager paths.
Environment
- macOS (arm64), Darwin 25.3.0
- OpenClaw 2026.3.11
- Nix Home Manager, binaries in
~/.nix-profile/bin
- Shell: zsh
Workaround
Manually editing the plist to add ~/.nix-profile/bin to the PATH works until the next openclaw gateway install --force overwrites it.
Bug description
openclaw gateway installgenerates a LaunchAgent plist (~/Library/LaunchAgents/ai.openclaw.gateway.plist) that captures the current shell PATH into theEnvironmentVariablesdict. However, paths added by Nix Home Manager (e.g.~/.nix-profile/bin) are not included in the generated plist, even when they are present in the login shell PATH at the time of runningopenclaw gateway install --force.Impact
Skills that depend on binaries installed via Nix Home Manager (e.g.
aoe,tmux) are reported as blocked / missing requirements by the gateway, becausehasBinary()inshared/config-eval.tschecksprocess.env.PATH— which comes from the plist.The
shellEnv.enabled: trueconfig option does not help here, as it only imports specific API key env vars, not PATH.Steps to reproduce
aoe,tmux) — confirm they are in login shell PATH (/bin/zsh -l -c "which aoe"works)openclaw gateway install --force~/.nix-profile/binis missing from the PATH valueExpected behavior
The generated plist PATH should include all entries from the login shell PATH, including Nix Home Manager paths.
Environment
~/.nix-profile/binWorkaround
Manually editing the plist to add
~/.nix-profile/binto the PATH works until the nextopenclaw gateway install --forceoverwrites it.