Maintenance

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-interactivenpx -y openclaw uninstall --all --yes --non-interactive

Flags: --service, --state, --workspace, --app select individual scopes; --all selects all four.

Manual steps provide a complete removal path, but a raw state-directory deletion does not have the built-in uninstaller's workspace-preservation behavior. If you want the equivalent of openclaw uninstall --state, preserve every configured workspace before deleting state.

  1. Stop the gateway service:
bash
openclaw gateway stop
  1. Uninstall the gateway service (launchd/systemd/schtasks):
bash
openclaw gateway uninstall
  1. Decide whether to preserve the workspace.

openclaw uninstall --state deliberately preserves configured workspace directories, including the default ~/.openclaw/workspace. Before using the manual rm -rf below, move any workspace you want to keep outside the state directory. If you want to remove it too, no separate deletion is needed when it lives inside the state directory.

  1. 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. Restore any preserved workspace to its configured path after recreating the parent directory, or update the workspace path in your next installation.

  1. Delete a workspace stored outside the state directory only if you want to remove its agent files too:
bash
rm -rf /path/to/external/workspace
  1. Remove the CLI install (pick the one you used):
bash
npm rm -g openclawpnpm remove -g openclawbun remove -g openclaw
  1. If you installed the macOS app:
bash
rm -rf /Applications/OpenClaw.app

Notes:

  • If you used profiles (--profile / OPENCLAW_PROFILE), repeat steps 3-4 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.gatewayrm -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.servicerm -f ~/.config/systemd/user/openclaw-gateway.servicesystemctl --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 SilentlyContinueRemove-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.
Was this useful?
On this page

On this page