Why OpenClaw Still Worked After I Uninstalled It
Source: Dev.to
The Setup
If you’re here, you’re probably in the same situation I was in. You run openclaw and, instead of “command not found”, you get the full usage manual printed back at you—even after following the official uninstall instructions.
I installed OpenClaw using the official documentation from openclaw.ai. When I wanted to remove it, I followed their uninstall instructions carefully:
- Used the built‑in OpenClaw uninstall
- Stopped the gateway service
- Removed state directories
- Removed global npm install
- Checked
systemd/launchctl/scheduled tasks
Still… openclaw lived.
I verified everything:
systemctl list-units | grep openclaw
# Nothing.
dpkg -l | grep openclaw
# Nothing.
npm list -g | grep openclaw
# Nothing.
At this point it felt like malware. It isn’t.
The “Wait… What?” Moment
The turning point was running two commands (shown below). One word explains everything: hashed.
The “Oh… There It Is” Moment
I use NVM (Node Version Manager). That means every Node version has its own global npm packages.
- I had previously installed OpenClaw while using Node v22.14.0.
- I later switched to Node v25.
But the old Node v22 bin directory was still in my $PATH. Bash had cached (hashed) the command location. Even after uninstalling in my current Node version, the old binary still existed in the v22 folder:
~/.nvm/versions/node/v22.14.0/bin/openclaw
Bash kept running it from its cache.
What Was Actually Happening
The old binary was lingering in a previous Node version’s global bin directory, and Bash’s command hash table still pointed to it.
The Real Fix
Two commands solved everything:
rm -f ~/.nvm/versions/node/v22.14.0/bin/openclaw
hash -r
Now:
which openclaw
# openclaw not found
OpenClaw’s documentation was correct. The issue wasn’t the tool; it was my environment.
Why Is OpenClaw Still Responding?
If this saved you hours of confusion, feel free to share it—because someone else right now is typing:
openclaw
and wondering why it refuses to uninstall.