卸载

两种路径:

  • 简单路径openclaw 还在的情况下。
  • 手动移除服务 — CLI 已被删除但服务仍在运行。

简单路径(CLI 仍在)

推荐使用内置卸载工具:

openclaw uninstall

非交互式(自动化 / npx):

openclaw uninstall --all --yes --non-interactive
npx -y openclaw uninstall --all --yes --non-interactive

手动步骤(效果相同):

  1. 停止网关服务:
openclaw gateway stop
  1. 卸载网关服务(launchd/systemd/schtasks):
openclaw gateway uninstall
  1. 删除状态 + 配置:
rm -rf "${OPENCLAW_STATE_DIR:-$HOME/.openclaw}"

如果你将 OPENCLAW_CONFIG_PATH 设为了状态目录外的自定义位置,也需要删除那个文件。

  1. 删除工作区(可选,会移除 Agent 文件):
rm -rf ~/.openclaw/workspace
  1. 移除 CLI 安装(选择你用的那个):
npm rm -g openclaw
pnpm remove -g openclaw
bun remove -g openclaw
  1. 如果安装了 macOS 应用:
rm -rf /Applications/OpenClaw.app

说明:

  • 如果使用了 profile(--profile / OPENCLAW_PROFILE),每个状态目录都要重复第 3 步(默认为 ~/.openclaw-<profile>)。
  • 远程模式下,状态目录在网关主机上,所以也要在那里执行第 1-4 步。

手动移除服务(CLI 已删除)

当网关服务仍在运行但 openclaw 已经不在时使用。

macOS(launchd)

默认标签为 ai.openclaw.gateway(或 ai.openclaw.<profile>;旧版 com.openclaw.* 可能仍存在):

launchctl bootout gui/$UID/ai.openclaw.gateway
rm -f ~/Library/LaunchAgents/ai.openclaw.gateway.plist

如果使用了 profile,将标签和 plist 文件名替换为 ai.openclaw.<profile>。如有旧版 com.openclaw.* plist 也一并删除。

Linux(systemd 用户单元)

默认单元名为 openclaw-gateway.service(或 openclaw-gateway-<profile>.service):

systemctl --user disable --now openclaw-gateway.service
rm -f ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload

Windows(计划任务)

默认任务名为 OpenClaw Gateway(或 OpenClaw Gateway (<profile>))。 任务脚本位于你的状态目录下。

schtasks /Delete /F /TN "OpenClaw Gateway"
Remove-Item -Force "$env:USERPROFILE\.openclaw\gateway.cmd"

如果使用了 profile,删除对应的任务名和 ~\.openclaw-<profile>\gateway.cmd

普通安装 vs 源码 checkout

普通安装(install.sh / npm / pnpm / bun)

如果你使用的是 https://openclaw.ai/install.shinstall.ps1,CLI 是通过 npm install -g openclaw@latest 安装的。 用 npm rm -g openclaw 移除(如果是其他方式安装则用 pnpm remove -g / bun remove -g)。

源码 checkout(git clone)

如果你从仓库 checkout 运行(git clone + openclaw ... / bun run openclaw ...):

  1. 在删除仓库之前卸载网关服务(使用上面的简单路径或手动服务移除)。
  2. 删除仓库目录。
  3. 按上面的说明删除状态 + 工作区。