OpenClaw 完全卸载干净教程:Windows 和 Mac 残留清理指南
这篇文章属于 OpenClaw 维护与清理实战篇
如果你准备重装、换机器,或者想把本机上的 OpenClaw 痕迹彻底清掉,这篇就按“先备份、再停服务、再删残留、最后验收”的顺序带你做。
本文按 2026 年 3 月 28 日可查到的 OpenClaw 官方 Uninstall、CLI
uninstall、backup、Environment、FAQ 与 Windows 文档整理。为了避免“命令执行了但机器上还残留服务、状态目录、工作区或 CLI”的情况,本文把“普通卸载”和“真正完全卸载干净”分开讲。
先说结论:真正“卸载干净”不是只跑一条命令
很多人以为:
1 | openclaw uninstall |
执行完就算彻底卸载了。
但截至 2026 年 3 月 28 日,官方文档需要连起来看才完整:
- CLI
uninstall命令页把它定义为“卸载 Gateway 服务 + 本地数据”,并明确说明CLI remains - 安装维护页的“Uninstall”又把完整离场拆成服务、状态目录、工作区、CLI 安装、macOS App 这几层
也就是说,如果你的目标只是“把当前 Gateway 和本地数据清掉”,openclaw uninstall 很有用。
但如果你的目标是“以后这台机器上基本不再留 OpenClaw 痕迹”,你至少要清理 4 层:
- Gateway 服务和后台进程
- 状态目录、配置文件、
.env、登录态、会话、插件和渠道残留 - 工作区里的 agent 文件,例如
MEMORY.md、USER.md、skills 笔记等 - CLI 本体、macOS App,或者你自己
git clone下来的源码目录
如果这 4 层你只清了前 1 层,后面经常会出现:
- 重装后还是读到旧配置
- 端口又被旧服务占住
- 浏览器里还是连到旧 Gateway
- Telegram / Discord / WhatsApp 登录态没真正清掉
- 命令行里还可以执行
openclaw
所以这篇文章的目标不是“告诉你一条命令”,而是让你做完以后,真的能确认这台电脑已经卸干净。
卸载前先做 2 件事:备份和找路径
如果你只是想重装,不想丢掉历史配置、聊天上下文、渠道登录和工作区内容,先备份。
1. 先备份,别把可恢复的数据一起删了
官方当前提供了内置备份命令,最稳的是:
1 | openclaw backup create --verify |
如果你只想备份配置,不想把工作区一并打包:
1 | openclaw backup create --only-config |
如果你的配置已经坏了,但你还想先把状态和凭据保住:
1 | openclaw backup create --no-include-workspace |
这一步尤其适合这几类人:
- 你后面还要重新安装 OpenClaw
- 你配过 API key、provider、channel
- 你不想丢聊天记录或 agent 记忆
- 你准备换电脑
2. 先确认 OpenClaw 实际把东西放在哪里
默认情况下,官方多数文档都按下面这套路径讲:
- 状态目录:
~/.openclaw - 配置文件:
~/.openclaw/openclaw.json - 默认工作区:
~/.openclaw/workspace
但真正容易漏删的地方恰恰在这里:
- 你用了
--profile <name> - 你设置过
OPENCLAW_STATE_DIR - 你设置过
OPENCLAW_CONFIG_PATH - 你设置过
OPENCLAW_HOME - 你的工作区不是默认路径
先跑下面这组检查最稳:
1 | openclaw status |
这里要特别注意一个实用细节:
- 如果你用了
--profile demo,状态目录通常会变成~/.openclaw-demo - 如果你设置了
OPENCLAW_CONFIG_PATH,配置文件可能根本不在~/.openclaw/openclaw.json - 按官方环境变量规则推断,如果你设置过
OPENCLAW_HOME,OpenClaw 的内部默认路径会跟着那个“替代 home”走,而不一定还是当前用户的~/.openclaw
如果你连真实路径都没确认,后面很容易“以为删完了”,其实只是删掉了默认目录。
方案 A:CLI 还在,这是最快也最稳的卸载路线
如果你现在终端里还能执行:
1 | openclaw --version |
那就优先走官方推荐路径。
第 1 步:先看一遍即将删除什么
先不要直接删,建议先 dry-run:
1 | openclaw uninstall --dry-run |
这样你能先确认:
- 会不会删服务
- 会不会删状态目录
- 会不会删工作区
- 有没有 app scope
第 2 步:执行内置卸载
如果你就是要彻底清本地数据,最省事的是:
1 | openclaw uninstall --all --yes --non-interactive |
这一步的意义是先把 OpenClaw 自己认识的本地内容清掉,尤其是:
- Gateway service
- state
- workspace
- app scope
但为了“完全卸载干净”,你还不能在这里停下。
第 3 步:把 CLI 本体也删掉
如果你当时是用 npm 全局安装的:
1 | npm rm -g openclaw |
如果你当时用的是 pnpm:
1 | pnpm remove -g openclaw |
如果你当时用的是 bun:
1 | bun remove -g openclaw |
很多人会漏这一步,结果服务虽然没了,但终端里 openclaw 还在,这就不算真正卸干净。
第 4 步:如果装过 macOS App,把 App 也删掉
如果你在 Mac 上还装过官方 App,再补一步:
1 | rm -rf /Applications/OpenClaw.app |
第 5 步:如果你是从源码跑的,再删源码目录
如果你不是普通全局安装,而是自己:
git clone了 OpenClaw 仓库- 然后用
openclaw ...、pnpm openclaw ...或bun run ...在源码目录里跑
那你还要再做两件事:
- 先确认 Gateway 服务已经卸掉
- 再删除 OpenClaw 的源码目录
否则你虽然删了状态目录,但本地还是保留一整套源码和构建产物。
Mac 用户最省心的完整命令顺序
如果你是 Mac,且 CLI 还在,照这个顺序做最不容易漏:
1 | openclaw backup create --verify |
说明一下:
rehash是为了刷新 zsh 的命令缓存- 如果你不是 npm 装的,就把
npm rm -g openclaw换成 pnpm 或 bun 对应命令 which openclaw最好应该没有输出,或者明确提示找不到- 如果你本机有多个 profile,
~/.openclaw-demo这种目录也要一起检查
Windows 用户要分清 2 种情况
OpenClaw 官方当前仍然优先推荐 Windows 走 WSL2。
所以 Windows 的“彻底卸载”最常见其实有两条路线。
情况 1:你是按官方推荐,用 WSL2 里的 Ubuntu 装的
这种情况下,真正运行 CLI 和 Gateway 的地方是 WSL2 里的 Linux 环境,而不是 Windows 原生 PowerShell。
所以正确做法是:
- 打开你的 Ubuntu / WSL2 终端
- 在 WSL2 里执行卸载
- 最后再决定要不要删除 Windows 侧保存的源码目录或快捷方式
WSL2 里可以直接这样做:
1 | openclaw backup create --verify |
如果你当初是在某个 Git 仓库目录里用源码方式跑的,记得最后把那个仓库目录也删掉。
情况 2:CLI 已经不见了,但 Windows 计划任务还在
官方卸载文档给了原生 Windows 残留服务的处理方法。
如果你遇到的是“命令已经没了,但开机后好像还在跑 Gateway”,可以在 PowerShell 里执行:
1 | schtasks /Delete /F /TN "OpenClaw Gateway" |
如果你当初用了 profile,比如 demo,那计划任务名通常会变成:
1 | OpenClaw Gateway (demo) |
这时你要删掉匹配的任务名,以及对应的:
1 | ${env:USERPROFILE}\.openclaw-demo\gateway.cmd |
方案 B:CLI 已经没了,但后台服务还在自启
这是最容易把人搞烦的一种情况:
- 你把 CLI 删了
- 甚至把目录也手动删了一部分
- 但开机后还有服务自启
- 或者端口还是被占着
这时候不要急着重装,先把服务层彻底拆掉。
1. macOS:手动清 launchd
官方当前给出的默认 label 是:
ai.openclaw.gateway- 或者
ai.openclaw.<profile>
Mac 上可以这样处理:
1 | launchctl bootout gui/$UID/ai.openclaw.gateway |
如果你用过 profile,把 gateway 替换成对应 profile 名即可。
另外,官方还特别提醒了一个很实用的兼容点:
- 老版本残留里,可能还存在
com.openclaw.*
所以你最好再检查一遍:
1 | ls ~/Library/LaunchAgents | grep -i openclaw |
如果还能看到旧 plist 或旧 label,就继续删。
2. Linux / WSL2:手动清 systemd user unit
如果你的 OpenClaw 是跑在 Linux 或 WSL2 里,默认最常见的是 user unit:
1 | systemctl --user disable --now openclaw-gateway.service |
如果你用过 profile,就把 service 名换成:
1 | openclaw-gateway-<profile>.service |
然后再检查一次:
1 | systemctl --user list-units | grep -i openclaw |
3. Windows:手动清计划任务
如果你走的是 Windows 原生计划任务路线,就按官方文档删:
1 | schtasks /Delete /F /TN "OpenClaw Gateway" |
删完之后最好再查一次:
1 | schtasks /Query /TN "OpenClaw Gateway" |
如果任务查询不到、脚本文件也不存在,服务层基本就干净了。
这几个残留,最容易被漏掉
真正让人“明明卸载过,怎么还像没卸”的,通常不是主命令,而是下面这些细节。
1. 你用了多个 profile
官方 Gateway 文档明确提到,多 profile 的状态目录常常会变成:
~/.openclaw~/.openclaw-<profile>
所以你不能只删默认目录,还要把所有 profile 都检查一遍:
1 | find "$HOME" -type d -name '.openclaw*' -prune 2>/dev/null |
2. 你把配置文件放到了状态目录外面
这是最经典的“看起来删干净了,实际没删完”。
如果你设置过:
1 | echo "$OPENCLAW_CONFIG_PATH" |
而它指向的不是默认 ~/.openclaw/openclaw.json,那你必须单独删除那个配置文件。
因为官方卸载说明已经明确提到:自定义 OPENCLAW_CONFIG_PATH 在状态目录之外时,要手动清掉。
3. 你设置过 OPENCLAW_HOME
这个点特别容易漏。
按官方环境变量文档的路径优先级来理解,如果你设置了 OPENCLAW_HOME,OpenClaw 的内部路径会先跟着它走。
所以你以为默认目录在当前用户 ~/.openclaw,但真正的数据可能其实落在另一个 home 根下。
如果你曾经把 OpenClaw 跑成某个专门服务账号,这一步一定要检查。
4. 你还有默认工作区以外的 agent 文件
很多人以为删掉 ~/.openclaw 就结束了,但你的工作区未必在那里。
先看:
1 | openclaw config get agents.defaults.workspace |
如果这个工作区是你自己指定的项目目录,那就别无脑 rm -rf。
先确认里面是不是还有你要保留的内容,例如:
MEMORY.mdUSER.md- 自己写的 prompt
- skills 笔记
- 自动化脚本
如果你要的是“完全清干净”,那这个工作区也要处理。
如果你只是想重装 OpenClaw,但还想保留这些文件,就先备份。
5. 你在远程模式里只删了本机,没有删网关主机
官方 FAQ 和会话管理文档都强调了一点:
- 远程模式下,真正的状态存储在 Gateway host 上,不在你本地笔记本上
所以如果你以前是:
- 本地浏览器 / Mac App 连接远程 Gateway
- 或者把 OpenClaw 主实例跑在另一台 VPS / mini PC / NAS 上
那你在当前电脑上删完以后,还要去真正的 Gateway 主机上再做一次服务、状态目录和工作区清理。
否则只是把“客户端入口”删了,不是把 OpenClaw 真卸载了。
怎么确认已经“卸载干净”
做完以后,不要靠感觉,直接验收。
Mac / Linux / WSL2 验收清单
1 | which openclaw |
理想结果应该是:
which openclaw没有可执行路径~/.openclaw和~/.openclaw-<profile>不再存在- 默认 Gateway 端口没有监听
- 进程列表里没有还在跑的 OpenClaw 后台进程
如果你是 Mac,再补一眼:
1 | launchctl list | grep -i openclaw |
如果你是 Linux / WSL2,再补一眼:
1 | systemctl --user list-units | grep -i openclaw |
Windows 验收清单
1 | Get-Command openclaw -ErrorAction SilentlyContinue |
理想结果是:
Get-Command openclaw没有返回有效命令OpenClaw Gateway计划任务查询不到~\.openclaw或对应 profile 目录已经不存在
还有一个很实用的小提示
如果你刚执行完全局卸载,当前终端有时还会因为命令缓存,看起来像是 openclaw 还在。
这时可以:
- zsh 运行
rehash - bash 运行
hash -r - 或者直接关掉终端重新打开
不要因为缓存没刷新,就误判成“卸载失败”。
一套最适合新手照抄的完整流程
如果你不想自己组合命令,直接按下面逻辑走:
- 先备份:
openclaw backup create --verify - 找路径:
openclaw config file、openclaw config get agents.defaults.workspace、echo "$OPENCLAW_STATE_DIR" - 预演:
openclaw uninstall --dry-run - 正式删:
openclaw uninstall --all --yes --non-interactive - 删除 CLI:
npm rm -g openclaw或对应包管理器命令 - 删除 App 或源码目录
- 删除额外 profile、自定义 config、额外 workspace
- 做最终验收:命令不存在、服务不存在、端口没监听、目录没残留
你只要按这个顺序做,基本不会出现“服务删了但 CLI 还在”或者“CLI 删了但后台还在跑”的半吊子状态。
最后给你一句最实用的判断标准
如果你做完以后,终端里找不到 openclaw、系统里没有 OpenClaw 自启服务、~/.openclaw 及 profile 目录都不存在、默认端口也没有监听,这才叫真正卸载干净。
只做到其中一半,通常都不算。
尤其是想重新安装的人,越是把旧状态清理彻底,后面重装越不容易继续吃旧配置和旧残留的亏。
OpenClaw 系列文章推荐
- 返回 OpenClaw 专题导航
- OpenClaw 完整安装教程:先跑通宿主机,再把 Agent 工具执行关进 Docker Sandbox
- OpenClaw Mac 安装详细教程:macOS 零基础 CLI Onboarding 看图操作版
参考资料(2026-03-28 核对)
- 官方卸载文档:https://docs.openclaw.ai/install/uninstall
- CLI
uninstall:https://docs.openclaw.ai/cli/uninstall - CLI
backup:https://docs.openclaw.ai/cli/backup - 官方安装文档:https://docs.openclaw.ai/install
- Environment Variables:https://docs.openclaw.ai/help/environment
- FAQ:https://docs.openclaw.ai/help/faq
- Windows(WSL2):https://docs.openclaw.ai/windows