when trying to install skill dependencies the Enviroment Variable error persisted from before:
o Preferred node manager for skill installs
| npm
|
o Install failed: clawhub - The property 'options.env['steam_master_ipc_name_override']' must be a string without null bytes. Received 'Console\x00'
The property 'options.env['steam_master_ipc_name_override']' must be a string without null bytes. Received 'Console\x00'
Tip: run openclaw doctor to review skills + requirements.
Docs: https://docs.openclaw.ai/skills
|
o Install failed: gog - brew not installed β Homebrew is not installed. Install it from https://brew.sh
Tip: run openclaw doctor to review skills + requirements.
Docs: https://docs.openclaw.ai/skills
|
o Install failed: goplaces - brew not installed β Homebrew is not installed. Install it from https://brew.sh
Tip: run openclaw doctor to review skills + requirements.
Docs: https://docs.openclaw.ai/skills
|
o Install failed: openai-whisper - brew not installed β Homebrew is not installed. Install it from https://brew.sh
Tip: run openclaw doctor to review skills + requirements.
Docs: https://docs.openclaw.ai/skills
|
o Install failed: songsee - brew not installed β Homebrew is not installed. Install it from https://brew.sh
Tip: run openclaw doctor to review skills + requirements.
Docs: https://docs.openclaw.ai/skills
|
o Install failed: summarize - brew not installed β Homebrew is not installed. Install it from https://brew.sh
Tip: run openclaw doctor to review skills + requirements.
Docs: https://docs.openclaw.ai/skills
|
o Install failed: wacli - go not installed β install manually: https://go.dev/doc/install
Tip: run openclaw doctor to review skills + requirements.
Docs: https://docs.openclaw.ai/skills
#NPM Enviroment Variable Error consistent
1 messages Β· Page 1 of 1 (latest)
That first one is a separate failure from the missing brew / go errors.
steam_master_ipc_name_override=Console\0 is an inherited environment variable with a NUL byte in it. Node refuses to spawn any child process when options.env contains that, so the clawhub dependency installer dies before npm even runs. This often comes from launching apps from a Steam/Linux desktop session.
Please grab the version first:
openclaw --version
Then try starting OpenClaw/Gateway from a clean environment, for example:
env -u steam_master_ipc_name_override openclaw doctor
env -u steam_master_ipc_name_override openclaw skills check
If your gateway is already running as a daemon/service, stop it and restart it from a shell/session where that variable is unset, or override it to a normal value before launching:
steam_master_ipc_name_override=Console openclaw doctor
The other failures are normal dependency checks:
gog,goplaces,openai-whisper,songsee,summarizeneedbrewfor their installer path, so install Homebrew/Linuxbrew or install those dependencies manually.waclineeds Go: https://go.dev/doc/install
Docs: https://docs.openclaw.ai/tools/skills and https://docs.openclaw.ai/cli/skills
If unsetting that env var fixes clawhub, this is probably worth filing as a bug so OpenClaw can sanitize inherited NUL env values before skill dependency installs: https://github.com/openclaw/openclaw/issues
PS C:\Users\Timmy Vollmer> env -u steam_master_ipc_name_override openclaw doctor
env : Die Benennung "env" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausfΓΌhrbaren Programms erkannt. ΓberprΓΌfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt
ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
- env -u steam_master_ipc_name_override openclaw doctor
-
+ CategoryInfo : ObjectNotFound: (env:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
PS C:\Users\Timmy Vollmer> env -u steam_master_ipc_name_override openclaw skills check
env : Die Benennung "env" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausfΓΌhrbaren Programms erkannt. ΓberprΓΌfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt
ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
- env -u steam_master_ipc_name_override openclaw skills check
-
+ CategoryInfo : ObjectNotFound: (env:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
Yep, that was my mistake: env -u ... is Unix/macOS/Linux syntax. Youβre in PowerShell on Windows.
Use this instead in the same PowerShell window:
Remove-Item Env:\steam_master_ipc_name_override -ErrorAction SilentlyContinue
openclaw --version
openclaw doctor
openclaw skills check
Alternative CMD syntax:
set steam_master_ipc_name_override=
openclaw doctor
If the Gateway is running as a Windows service/daemon, also restart it after clearing the variable, because the already-running process may still have inherited the bad env value. The key thing is: the Console\0 value has to be gone before OpenClaw starts the skill installer.
Thanks, that log helps. Two separate things are showing up.
First: the NUL env var is still present when openclaw doctor runs. On Windows/PowerShell, run these before starting OpenClaw:
Remove-Item Env:\steam_master_ipc_name_override -ErrorAction SilentlyContinue
[Environment]::SetEnvironmentVariable('steam_master_ipc_name_override', $null, 'User')
[Environment]::SetEnvironmentVariable('steam_master_ipc_name_override', $null, 'Machine') # may need admin
openclaw doctor
If the Machine line errors, skip it unless you opened PowerShell as admin. Then fully close/reopen PowerShell and start OpenClaw from there, not from Steam or a Steam-launched terminal. To check whether it is gone:
Get-ChildItem Env: | Where-Object Name -eq 'steam_master_ipc_name_override'
Second: answer No to Enable zsh shell completion on Windows. That prompt is not useful in PowerShell and it looks like the spawn for completion setup is where the bad env finally crashes.
Also important: doctor says your system Node is below the required 22.19+:
System Node unknown at C:\Program Files
odejs
ode.exe is below the required Node 22.19+
Install Node 24 recommended, or Node 22 LTS from https://nodejs.org/, then reopen PowerShell and check:
node --version
openclaw --version
openclaw doctor
Most of the brew not installed skill messages are expected on native Windows. Those skills have Homebrew/macOS-style installers; disable the ones you donβt use with openclaw doctor --fix, or install the specific Windows-compatible dependencies manually where available.
PS C:\WINDOWS\system32> node --version
openclaw --version
openclaw doctor
v22.22.3
OpenClaw 2026.5.27 (27ae826)
node:child_process:999
throw new ERR_INVALID_ARG_VALUE(propName, arg, 'must be a string without null bytes');
^
TypeError [ERR_INVALID_ARG_VALUE]: The property 'options.env['steam_master_ipc_name_override']' must be a string without null bytes. Received 'Console\x00'
at validateArgumentNullCheck (node:child_process:999:11)
at normalizeSpawnArguments (node:child_process:726:7)
at Object.spawn (node:child_process:780:13)
at runCliRespawnPlan (file:///C:/Users/Timmy%20Vollmer/AppData/Roaming/npm/node_modules/openclaw/dist/entry.js:293:24)
at ensureCliRespawnReady (file:///C:/Users/Timmy%20Vollmer/AppData/Roaming/npm/node_modules/openclaw/dist/entry.js:436:4)
at file:///C:/Users/Timmy%20Vollmer/AppData/Roaming/npm/node_modules/openclaw/dist/entry.js:440:8
at ModuleJob.run (node:internal/modules/esm/module_job:343:25)
at async onImport.tracePromise.proto (node:internal/modules/esm/loader:681:26)
at async tryImport (file:///C:/Users/Timmy%20Vollmer/AppData/Roaming/npm/node_modules/openclaw/openclaw.mjs:303:5)
at async file:///C:/Users/Timmy%20Vollmer/AppData/Roaming/npm/node_modules/openclaw/openclaw.mjs:491:9 {
code: 'ERR_INVALID_ARG_VALUE'
}
Node.js v22.22.3
Good, Node is fixed now. The remaining crash is earlier than the skill installer: OpenClawβs CLI respawn is inheriting the bad Steam env var before doctor can run.
In that same PowerShell window, try overwriting it with a clean string first:
$env:steam_master_ipc_name_override = 'Console'
openclaw doctor
If that works, remove the persistent copy too:
[Environment]::SetEnvironmentVariable('steam_master_ipc_name_override', $null, 'User')
[Environment]::SetEnvironmentVariable('steam_master_ipc_name_override', $null, 'Machine')
Then fully close PowerShell and open a fresh one from the Start menu, not from Steam / a Steam-launched app.
If it still crashes, please run this and paste the output:
Get-ChildItem Env: | Where-Object { $_.Name -like '*steam*' } | Format-List Name,Value
This is also now pretty clearly an OpenClaw bug: the CLI respawn path should sanitize inherited env vars with NUL bytes before calling spawn. Please file it with the stack trace here: https://github.com/openclaw/openclaw/issues
Name : steam_master_ipc_name_override
Value : Console
That output is clean now: PowerShell is seeing steam_master_ipc_name_override=Console without the NUL byte.
Try the command again in that same window:
openclaw doctor
If it still throws Received 'Console\x00', the bad value is likely coming from the parent process/session and Windows is hiding the terminator when displaying it. In that case:
[Environment]::SetEnvironmentVariable('steam_master_ipc_name_override', 'Console', 'User')
Then fully close all terminals, reopen PowerShell from the Start menu, and run:
openclaw doctor
If that still persists after a fresh terminal, reboot once. Annoying, but it clears inherited process environment weirdness on Windows.
still persists after these steps
Okay, then bypass the OpenClaw CLI respawn path. The stack trace is dying inside runCliRespawnPlan, and there is a built-in escape hatch for that.
Run this in PowerShell:
$env:steam_master_ipc_name_override = 'Console'
$env:OPENCLAW_NO_RESPAWN = '1'
openclaw doctor
If that works, make the no-respawn setting persistent for now:
[Environment]::SetEnvironmentVariable('OPENCLAW_NO_RESPAWN', '1', 'User')
[Environment]::SetEnvironmentVariable('steam_master_ipc_name_override', 'Console', 'User')
Then close/reopen PowerShell and retry.
To sanity-check what Node actually sees:
node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v?.includes('\0'))"
Expected output should be roughly:
"Console" false
If OPENCLAW_NO_RESPAWN=1 fixes it, please file this as a bug with the stack trace. OpenClaw should sanitize inherited env vars before CLI respawn, same as it needs to before skill dependency installs: https://github.com/openclaw/openclaw/issues
PS C:\Users\Timmy Vollmer> node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v?.includes('\0'))"
"Console\u0000" true
PS C:\Users\Timmy Vollmer>
PS C:\Users\Timmy Vollmer> node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v?.includes('\0'))"
"Console\u0000" true
PS C:\Users\Timmy Vollmer> openclaw doctor
|
o
OpenClaw 2026.5.27 (27ae826) β I'm the reason your shell history looks like a hacker-movie montage.
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
OPENCLAW
T OpenClaw doctor
That confirms it: Node is literally receiving Console\0, so OpenClaw cannot safely spawn children until that process environment is cleaned.
PowerShellβs env provider is apparently not replacing the bad value. Try from Command Prompt, not PowerShell:
set steam_master_ipc_name_override=Console
set OPENCLAW_NO_RESPAWN=1
node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v && v.includes('οΏ½'))"
openclaw doctor
Expected check:
"Console" false
If CMD still shows "Console\u0000" true, remove the persistent Windows env var directly and reboot:
reg delete HKCU\Environment /v steam_master_ipc_name_override /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v steam_master_ipc_name_override /f
The HKLM command may need an Administrator terminal. If it says the value was not found, thatβs fine.
After reboot, run:
node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v?.includes('οΏ½'))"
If it prints undefined undefined or "Console" false, OpenClaw should get past this. This is still an OpenClaw bug too, but right now the immediate problem is the poisoned Windows environment block.
That means OPENCLAW_NO_RESPAWN=1 got you past the first crash, but the bad env var is still in the OpenClaw process. Any later installer/check that spawns npm, go, etc. can still hit the same error.
For a clean temporary launch, run OpenClaw through a tiny Node wrapper that deletes the poisoned env var before spawning OpenClaw:
node -e "delete process.env.steam_master_ipc_name_override; process.env.OPENCLAW_NO_RESPAWN='1'; const {spawnSync}=require('child_process'); const r=spawnSync('cmd.exe',['/d','/s','/c','openclaw doctor'],{stdio:'inherit',env:process.env}); process.exit(r.status ?? 1)"
If that works, use the same pattern for skills check:
node -e "delete process.env.steam_master_ipc_name_override; process.env.OPENCLAW_NO_RESPAWN='1'; const {spawnSync}=require('child_process'); const r=spawnSync('cmd.exe',['/d','/s','/c','openclaw skills check'],{stdio:'inherit',env:process.env}); process.exit(r.status ?? 1)"
Longer-term, remove the variable from Windows/Steam and reboot. Since Node still prints "Console\\u0000" true, it is still coming from the parent Windows environment block somewhere. The wrapper is just a workaround to unblock OpenClaw while that gets cleaned up.
node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v?.includes(''))"
"Console\u0000" true
Tiny correction: v?.includes('') will always be true for any string, so that check doesnβt tell us whether the NUL byte is still there.
Use this exact check:
node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v?.includes('οΏ½'))"
That said, JSON.stringify(v) already showing "Console\u0000" means the bad NUL byte is still present.
To bypass it for OpenClaw, run the wrapper command from my previous message, because it deletes the variable inside Node before launching OpenClaw:
node -e "delete process.env.steam_master_ipc_name_override; process.env.OPENCLAW_NO_RESPAWN='1'; const {spawnSync}=require('child_process'); const r=spawnSync('cmd.exe',['/d','/s','/c','openclaw doctor'],{stdio:'inherit',env:process.env}); process.exit(r.status ?? 1)"
openclaw
[openclaw] Could not start the CLI.
[openclaw] Reason: The property 'options.env['steam_master_ipc_name_override']' must be a string without null bytes. Received 'Console\x00'
[openclaw] Debug: set OPENCLAW_DEBUG=1 to include the stack trace.
[openclaw] Try: openclaw doctor
[openclaw] Help: openclaw --help
That error is expected if you run plain openclaw while Windows is still giving Node steam_master_ipc_name_override=Console\0.
For now, donβt launch it directly. Launch it through the cleanup wrapper:
node -e "delete process.env.steam_master_ipc_name_override; process.env.OPENCLAW_NO_RESPAWN='1'; const {spawnSync}=require('child_process'); const r=spawnSync('cmd.exe',['/d','/s','/c','openclaw doctor'],{stdio:'inherit',env:process.env}); process.exit(r.status ?? 1)"
For normal openclaw:
node -e "delete process.env.steam_master_ipc_name_override; process.env.OPENCLAW_NO_RESPAWN='1'; const {spawnSync}=require('child_process'); const r=spawnSync('cmd.exe',['/d','/s','/c','openclaw'],{stdio:'inherit',env:process.env}); process.exit(r.status ?? 1)"
The real fix is still to remove whatever is injecting that bad Steam env var and reboot. Since Node itself sees Console\u0000, this is outside OpenClawβs config. OpenClaw should handle it more gracefully, but your Windows process environment is currently poisoned.
How do I fix it then?? What's Happening?
Whatβs happening:
Windows is giving every program you launch an environment variable named steam_master_ipc_name_override whose value is not normal text. It is:
Console\0
That hidden \0 is a NUL byte. Node.js refuses to start child processes when any env var contains a NUL byte, because that can corrupt the process environment block. OpenClaw uses Node and needs to spawn child processes, so it crashes before it can do useful work.
This is not an OpenClaw config problem. It is a poisoned Windows process environment, probably coming from Steam or something Steam-launched.
Permanent fix path:
- Fully exit Steam
- Steam menu -> Exit
- Then check Task Manager and end any remaining
steam.exe/ Steam helper processes.
- Open Command Prompt as Administrator and run:
reg delete HKCU\Environment /v steam_master_ipc_name_override /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v steam_master_ipc_name_override /f
If either says the value does not exist, that is okay.
-
Reboot Windows. Not just close PowerShell. Reboot.
-
After reboot, open PowerShell from the Start menu, not from Steam, and test:
node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v?.includes('οΏ½'))"
Good output is either:
undefined undefined
or:
"Console" false
Bad output is:
"Console\u0000" true
- Then run:
openclaw doctor
Temporary workaround if you need OpenClaw right now:
node -e "delete process.env.steam_master_ipc_name_override; process.env.OPENCLAW_NO_RESPAWN='1'; const {spawnSync}=require('child_process'); const r=spawnSync('cmd.exe',['/d','/s','/c','openclaw doctor'],{stdio:'inherit',env:process.env}); process.exit(r.status ?? 1)"
But the actual fix is removing the bad env var at the Windows/Steam source and rebooting. Also: please file this stack trace as a GitHub issue, because OpenClaw should sanitize broken inherited env vars instead of crashing here: https://github.com/openclaw/openclaw/issues
aappereantly it has to do with something called Duo
Yep, that tracks. I found DuoStream/Duo issues describing this exact env var: when Duoβs βIsolate Steamβ option is enabled, it can set steam_master_ipc_name_override globally with a corrupted NUL-byte value, which breaks Node/Electron apps.
So the fix is on the Duo side:
- Open Duo.
- Disable Isolate Steam.
- Fully exit Duo and Steam.
- Remove the bad env var if it remains:
reg delete HKCU\Environment /v steam_master_ipc_name_override /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v steam_master_ipc_name_override /f
- Reboot Windows.
- Verify:
node -e "const v=process.env.steam_master_ipc_name_override; console.log(JSON.stringify(v), v?.includes('οΏ½'))"
You want undefined undefined or "Console" false, not "Console\\u0000" true.
Duo issue links I found:
https://github.com/DuoStream/Duo/issues/440
https://github.com/DuoStream/Duo/issues/458
So OpenClaw is the app surfacing the crash, but Duo/Steam isolation is very likely the source of the poisoned env var.