问题现象
在使用 OpenClaw 2026.2.15 版本时,可能会遇到 CLI 无法连接 Gateway 的情况,报错如下:
gateway connect failed: Error: unauthorized: device token mismatch (rotate/reissue device token)
RPC probe: failed
gateway closed (1008): unauthorized: device token mismatch (rotate/reissue device token)
关键信息:
- Gateway 服务正在运行(pid 76036)
- 端口 18789 正常监听
- 但 CLI 无法连接,报错 "device token mismatch"
问题本质
OpenClaw 的认证架构
Gateway 采用 Token-based 认证机制。CLI 工具与 Gateway 服务之间通过设备令牌(Device Token)进行身份验证。
当两者持有的令牌不一致时,就会出现 "mismatch" 错误。这通常发生在以下场景:
| 场景 | 原因 |
|---|---|
| Gateway 重启 | 服务重启后生成新令牌 |
| 配置变更 | 修改 openclaw.json 后令牌重新生成 |
| 多用户环境 | 不同用户启动的 Gateway 使用不同令牌 |
| 权限问题 | 令牌文件权限变更导致读取失败 |
| 版本升级 | 新版本可能改变令牌生成逻辑 |
解决方案
方案一:重启 Gateway(推荐)
最直接的解决方式是重新生成并同步令牌。这一步能清除大部分因状态不同步导致的异常。
# 1. 停止现有 Gateway
openclaw gateway stop
# 2. 确认进程已终止
ps aux | grep openclaw-gateway
# 3. 清理可能的残留令牌文件
rm -f ~/.openclaw/.gateway-token
# 4. 重新启动
openclaw gateway start
# 5. 验证状态
openclaw gateway status
方案二:手动重新签发令牌
如果不想重启服务,可以手动触发令牌轮换。这种方式适合需要保持服务持续运行的场景。
# 查看当前令牌状态
openclaw gateway token status
# 强制重新签发
curl -X POST http://127.0.0.1:18789/api/v1/token/rotate \
-H
openclaw gateway token rotate --reissue

