先判断你要做到哪一步
不是每次出问题都要彻底清理。临时停用、标准卸载和彻底清理是三种不同动作,只有当旧状态已被证明确实在干扰新结果时,才应该做最深那一层。
1. 停用
适合暂时不用,但之后还准备恢复当前环境。
这类场景下,你通常只需要:
openclaw gateway stop如果是通过系统服务运行,再把对应服务停掉。重点是先停运行中的实例,而不是先删目录。
2. 标准卸载
适合准备重装,但仍希望保留一定回查空间。
如果 openclaw CLI 还在,推荐直接走内置卸载路径:
openclaw uninstall如果你要走自动化或无交互方式,docs 里的简化命令是:
openclaw uninstall --all --yes --non-interactive这一层的目标是:把当前安装与服务撤掉,但不要在还没判断清楚前就把所有恢复线索一起抹平。
3. 彻底清理
适合已经确认旧服务、旧状态或旧路径在持续污染新结果。
只有在下面这些情况已经成立时,才值得继续往下:
- 你已经确认旧状态目录在干扰当前结果;
- 你知道自己有哪些 profile、自定义路径或服务残留;
- 你已经备份了需要保留的工作区、配置和线索。
彻底清理的本质不是“删得更猛”,而是“在知道自己在删什么的前提下删”。
如果 CLI 还在,标准顺序是什么
docs 给出的手动等价步骤可以压缩成这条顺序:
- 先停网关或服务;
- 再卸载服务;
- 再删状态与配置;
- 最后移除 CLI 安装。
典型顺序如下:
openclaw gateway stop
openclaw gateway uninstall
rm -rf "${OPENCLAW_STATE_DIR:-$HOME/.openclaw}"
npm rm -g openclaw如果你实际使用的是 pnpm 或 bun 全局安装,就把最后一条换成对应包管理器命令。
如果你有独立工作区,还要额外判断要不要删工作区目录;这一步不是默认必须。
如果 CLI 已经没了,但服务还在怎么办
这类问题非常常见,而且最容易让用户误以为“我已经卸载了”。
这时要按系统方式手动移除服务:
- macOS:处理
launchd - Linux:处理
systemd --user - Windows:处理计划任务
也就是说,不能只看 openclaw 命令还在不在,而要看后台服务是不是还活着。
什么时候不该直接清理
- 你还没备份关键配置和工作区;
- 你还不能证明旧残留真是根因;
- 你甚至还没区分是启动问题还是通道问题;
- 你现在只是想暂时停掉实例,但以后还要恢复。
常见错误或风险
- 用“我现在很烦”代替证据判断;
- CLI 一删就以为环境已经干净;
- 还没停服务就先删文件;
- 不知道自己还有 profile、自定义路径或工作区残留。
判断完后去哪
如果你准备继续动作,先看 卸载前要备份什么。
如果你还不确定是否真该清理到这么深,回 /troubleshooting。