When the update runner passes custom env vars (like CLAWDBOT_UPDATE_IN_PROGRESS), the current code uses `env ?? process.env` which replaces the entire environment instead of merging — losing PATH, HOME, etc. This causes the doctor step to fail with 'node: No such file or directory'. Fix: merge custom env with process.env instead of replacing it.