OpenClaw启动报“EADDRINUSE”或端口18789被占用时,应先用netstat查找并taskkill强制结束占用进程;若不可终止,则改用--port参数临时指定新端口或修改.openclaw/openclaw.json中gateway.port值;残留node.exe或权限不足时需任务管理器结束所有node.exe并以管理员身份运行PowerShell重启服务。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw启动时提示“EADDRINUSE”或“Port 18789 is already in use”,说明默认端口18789正被另一个进程独占,系统拒绝重复绑定——这通常不是配置错误,而是残留进程或第三方软件抢占了端口,必须先释放才能正常启动服务。
快速定位并杀掉占用进程
这是最直接、最有效的解法,适用于确认可终止占用进程的场景。
第一步:在 PowerShell 或 CMD 中执行命令查找 PID
netstat -ano | findstr :18789
第二步:从输出结果中提取最后一列数字(例如 【12345】),这就是占用端口的进程 ID。若无输出,说明端口未被占用,问题不在该环节。
第三步:强制结束该进程
taskkill /F /PID 12345
注意:/F 参数不可省略,否则 taskkill 可能静默失败;执行后若显示“成功终止进程”,即可进入下一步。
第四步:重新启动 OpenClaw
openclaw start
不关其他程序,换端口运行
当你无法或不愿关闭占用端口的程序(比如正在调试的 Node.js 服务、JupyterLab 或 Docker Desktop),就让 OpenClaw 主动避开冲突。
OpenClaw 跨平台配置备份与网关监控。自动备份 openclaw.json,每分钟检测 gateway 状态,宕机时自动恢复。支持 Linux/macOS/Windows。触发:配置备份、gateway 监控、自动恢复、看门狗、watchdog。
方法一:命令行临时指定新端口(推荐)
openclaw gateway --port 18790
启动后访问地址变为 http://127.0.0.1:18790,无需修改任何文件。
方法二:永久修改配置文件
打开用户目录下的 .openclaw/openclaw.json 文件 → 找到 "gateway": { "port": 18789 } → 将 18789 改为 18790 或其他未被占用的端口(如 18800)→ 保存文件 → 运行 openclaw start
⚠️ 修改前请确保新端口号未被占用,可用 netstat -ano | findstr :18790 验证空闲状态。
排查残留 node.exe 或权限问题
如果前两步都失败,大概率是旧版本残留进程或系统权限拦截导致端口无法释放。
打开任务管理器 → 切换到“详细信息”选项卡 → 按名称排序 → 找出所有 node.exe 进程 → 全选 → 右键“结束任务”
右键点击 PowerShell 图标 → 选择“以管理员身份运行” → 再次执行 openclaw start
这一步操作起来很简单,直接把 PowerShell 窗口关掉重开再提权就行,但跳过它可能导致 taskkill 失效或端口仍被锁定。

















