mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-15 12:36:23 +00:00
Source-grounded rewrite of 529 published docs pages with per-unit information-loss verification: 1,713 factual corrections cited to src/**, generated surfaces regenerated, frontmatter titles preserved for i18n, release notes pages untouched. All docs gates green. Closes #100141
146 lines
4.2 KiB
Markdown
146 lines
4.2 KiB
Markdown
---
|
|
summary: "Uninstall OpenClaw completely (CLI, service, state, workspace)"
|
|
read_when:
|
|
- You want to remove OpenClaw from a machine
|
|
- The gateway service is still running after uninstall
|
|
title: "Uninstall"
|
|
---
|
|
|
|
Two paths:
|
|
|
|
- **Easy path** if `openclaw` is still installed.
|
|
- **Manual service removal** if the CLI is gone but the service is still running.
|
|
|
|
## Easy path (CLI still installed)
|
|
|
|
Recommended: use the built-in uninstaller:
|
|
|
|
```bash
|
|
openclaw uninstall
|
|
```
|
|
|
|
State removal preserves configured workspace directories unless you also select `--workspace`.
|
|
|
|
Preview what will be removed (safe):
|
|
|
|
```bash
|
|
openclaw uninstall --dry-run --all
|
|
```
|
|
|
|
Non-interactive (automation / npx). Use with caution and only after confirming scopes:
|
|
|
|
```bash
|
|
openclaw uninstall --all --yes --non-interactive
|
|
npx -y openclaw uninstall --all --yes --non-interactive
|
|
```
|
|
|
|
Flags: `--service`, `--state`, `--workspace`, `--app` select individual scopes; `--all` selects all four.
|
|
|
|
Manual steps (same result):
|
|
|
|
1. Stop the gateway service:
|
|
|
|
```bash
|
|
openclaw gateway stop
|
|
```
|
|
|
|
2. Uninstall the gateway service (launchd/systemd/schtasks):
|
|
|
|
```bash
|
|
openclaw gateway uninstall
|
|
```
|
|
|
|
3. Delete state + config:
|
|
|
|
```bash
|
|
rm -rf "${OPENCLAW_STATE_DIR:-$HOME/.openclaw}"
|
|
```
|
|
|
|
If you set `OPENCLAW_CONFIG_PATH` to a custom location outside the state dir, delete that file too.
|
|
If you want to keep a workspace inside the state dir, such as `~/.openclaw/workspace`, move it aside before running `rm -rf` or delete state contents selectively.
|
|
|
|
4. Delete your workspace (optional, removes agent files):
|
|
|
|
```bash
|
|
rm -rf ~/.openclaw/workspace
|
|
```
|
|
|
|
5. Remove the CLI install (pick the one you used):
|
|
|
|
```bash
|
|
npm rm -g openclaw
|
|
pnpm remove -g openclaw
|
|
bun remove -g openclaw
|
|
```
|
|
|
|
6. If you installed the macOS app:
|
|
|
|
```bash
|
|
rm -rf /Applications/OpenClaw.app
|
|
```
|
|
|
|
Notes:
|
|
|
|
- If you used profiles (`--profile` / `OPENCLAW_PROFILE`), repeat step 3 for each state dir (defaults are `~/.openclaw-<profile>`).
|
|
- In remote mode, the state dir lives on the **gateway host**, so run steps 1-4 there too.
|
|
|
|
## Manual service removal (CLI not installed)
|
|
|
|
Use this if the gateway service keeps running but `openclaw` is missing.
|
|
|
|
### macOS (launchd)
|
|
|
|
Default label is `ai.openclaw.gateway` (or `ai.openclaw.<profile>` with a profile):
|
|
|
|
```bash
|
|
launchctl bootout gui/$UID/ai.openclaw.gateway
|
|
rm -f ~/Library/LaunchAgents/ai.openclaw.gateway.plist
|
|
```
|
|
|
|
If you used a profile, replace the label and plist name with `ai.openclaw.<profile>`.
|
|
|
|
### Linux (systemd user unit)
|
|
|
|
Default unit name is `openclaw-gateway.service` (or `openclaw-gateway-<profile>.service`). A pre-rename `clawdbot-gateway.service` unit may still exist on machines upgraded from very old installs; `openclaw uninstall` / `openclaw gateway uninstall` detects and removes it automatically.
|
|
|
|
```bash
|
|
systemctl --user disable --now openclaw-gateway.service
|
|
rm -f ~/.config/systemd/user/openclaw-gateway.service
|
|
systemctl --user daemon-reload
|
|
```
|
|
|
|
### Windows (Scheduled Task)
|
|
|
|
Default task name is `OpenClaw Gateway` (or `OpenClaw Gateway (<profile>)`).
|
|
The task launches a windowless `gateway.vbs` script under your state dir, which in turn
|
|
runs `gateway.cmd`; remove both.
|
|
|
|
```powershell
|
|
schtasks /Delete /F /TN "OpenClaw Gateway"
|
|
Remove-Item -Force "$env:USERPROFILE\.openclaw\gateway.cmd" -ErrorAction SilentlyContinue
|
|
Remove-Item -Force "$env:USERPROFILE\.openclaw\gateway.vbs" -ErrorAction SilentlyContinue
|
|
```
|
|
|
|
If you used a profile, delete the matching task name and the `gateway.cmd` /
|
|
`gateway.vbs` files under `~\.openclaw-<profile>`.
|
|
|
|
## Normal install vs source checkout
|
|
|
|
### Normal install (install.sh / npm / pnpm / bun)
|
|
|
|
If you used `https://openclaw.ai/install.sh` or `install.ps1`, the CLI was installed with `npm install -g openclaw@latest`.
|
|
Remove it with `npm rm -g openclaw` (or `pnpm remove -g` / `bun remove -g` if you installed that way).
|
|
|
|
### Source checkout (git clone)
|
|
|
|
If you run from a repo checkout (`git clone` + `openclaw ...` / `bun run openclaw ...`):
|
|
|
|
1. Uninstall the gateway service **before** deleting the repo (use the easy path above or manual service removal).
|
|
2. Delete the repo directory.
|
|
3. Remove state + workspace as shown above.
|
|
|
|
## Related
|
|
|
|
- [Install overview](/install)
|
|
- [Migration guide](/install/migrating)
|