# Shell and managed Gateway use different Node installations

**URL:** <https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77>\
**Category:** Troubleshooting\
**Tags:** gateway, installation, linux, troubleshooting, updates\
**Created:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77 "2026-09-14T22:31:09Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77/1 "2026-09-14T22:31:09Z")

</div>

> **Adapted community discussion:** Paraphrased and condensed from an anonymized public OpenClaw Discord support conversation from September 2026. Technical guidance was reviewed for OpenClaw 2026.9.3.

Every update warns that my interactive shell uses a Homebrew Node installation while the managed Gateway service uses an NVM Node installation. I want one existing install to own updates without creating more copies.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77/2 "2026-09-14T22:31:09Z")

</div>

The warning identifies two runtime paths. It can be harmless when both point to compatible OpenClaw versions, but updates become risky when the shell, package manager, and service resolve different installations.

Inspect before changing anything:

```bash
command -v node
command -v npm
which -a openclaw
npm prefix -g
openclaw gateway status --deep

```

Choose either the NVM installation or the Homebrew installation as the canonical runtime. Avoid `gateway install --force` until that choice is clear.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77/3 "2026-09-14T22:31:09Z")

</div>

I would prefer to keep the NVM version already used by the service. How do I run updates through that copy?

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77/4 "2026-09-14T22:31:10Z")

</div>

Load the same NVM environment in your shell, then confirm both Node and OpenClaw resolve beneath it before updating:

```bash
. "$HOME/.nvm/nvm.sh"
nvm use 24
hash -r
command -v node
command -v openclaw
openclaw --version
openclaw update --dry-run

```

Do not hard-code another user’s paths. The exact supported Node version should come from the current release and your existing NVM installation.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77/5 "2026-09-14T22:31:10Z")

</div>

The update still stopped during Doctor. It reported stale plugin state, and later checks showed some commands were still resolving the Homebrew copy while the service pointed into NVM.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77/6 "2026-09-14T22:31:10Z")

</div>

That is a split-brain installation, not just a cosmetic Node warning. Stop using unqualified OpenClaw commands until `command -v openclaw`, `npm prefix -g`, and the Gateway service all point to the chosen package root.

Once one runtime is authoritative, update that copy and let Doctor repair supported state:

```bash
openclaw update --dry-run
openclaw update
openclaw doctor --fix
openclaw gateway status --deep

```

Only if the status still shows service metadata pointing to the other installation should you regenerate the managed service, then verify it again:

```bash
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

```

Preserve the state databases until the canonical installation is healthy.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77/7 "2026-09-14T22:31:10Z")

</div>

At this point I would rather do a fresh install while keeping my memory and workspace.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/shell-and-managed-gateway-use-different-node-installations/77/8 "2026-09-14T22:31:10Z")

</div>

Preserve the complete workspace, not only `MEMORY.md`, and keep the old state directory intact until the replacement is proven. Start with a verified backup to an existing private directory:

```bash
openclaw backup create --output EXISTING_BACKUP_DIRECTORY --verify

```

Then follow the current installer with one chosen Node/package-manager environment. Restore workspace files selectively after onboarding. Do not copy the old config, credentials, plugins, or databases into the fresh state unless you have separately validated that migration.
