当前位置: 首页 > news >正文

运行codex时出现登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013) 解决方案

运行codex时出现登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013) 解决方案

问题描述

在 Windows 系统上运行codex命令登录时,出现以下报错:

Error logging in: failed to start login server 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013)

输入codex回车后,浏览器打开 OAuth 认证页面,但终端一直卡在"等待登录完成",最终超时报出os error 10013套接字权限错误。

原因分析

Codex CLI 的登录机制是:在本地127.0.0.1:1455启动一个临时 HTTP 服务器,监听浏览器 OAuth 回调。但 Windows 系统的Hyper-V、WSL、或 Windows 网络地址转换服务 (WinNAT)会动态保留一段端口范围(通常是 1024-2000),恰好包含了 1455 端口。

即使端口空闲没有被任何进程占用,Windows 也会因为端口保留策略拒绝 Codex 绑定该端口,报出os error 10013(WSAEACCES - 权限被拒绝)。

可以通过以下命令验证:

# 查看被系统保留的端口范围 netsh interface ipv4 show excludedportrange protocol=tcp

输出示例:

协议 tcp 端口排除范围 开始端口 结束端口 ---------- -------- 1455 1555 ← 1455 端口被排除

解决方案

方案一:调整 Windows 端口排除范围(推荐)

步骤1:以管理员身份打开 PowerShell,停止相关服务

# 停止 WinNAT 服务(Windows 网络地址转换) net stop winnat ![配图](https://i-blog.csdnimg.cn/img_convert/c3f066086f261c6d9df844c12ebbc0ba.png) # 停止 Hyper-V 主机计算服务 net stop vmms # 如果有 Docker Desktop,也停掉 net stop com.docker.service

步骤2:重新设置端口排除范围

# 将动态端口排除范围设为从 1555 开始,释放 1455 端口 netsh int ipv4 set dynamicport tcp start=1555 num=64000 # 如果是 IPv6 也存在相同问题 netsh int ipv6 set dynamicport tcp start=1555 num=64000

步骤3:恢复服务

net start winnat net start vmms

步骤4:重新登录 Codex

codex

此时浏览器 OAuth 回调会正常被 1455 端口接收,登录成功。


方案二:停用 Hyper-V(如果不需要)

如果你的电脑不需要使用 WSL2、Docker Desktop、虚拟机等功能,可以直接关闭 Hyper-V:

# 以管理员身份运行 dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All # 重启电脑后生效 shutdown /r /t 0

重启后重新运行codex即可正常登录。


方案三:使用 WSL2 环境登录(曲线救国)

如果你不能修改系统端口配置,可以通过 WSL2 内的 Linux 环境来运行 Codex:

# 在 WSL2 中安装 Codex npm install -g @openai/codex # 在 WSL2 中运行 Codex(端口不会被 Windows 保留策略影响) codex

WSL2 有自己的网络栈,1455 端口不会受 Windows 端口排除策略的限制。

总结

os error 10013的本质是Windows 系统端口保留策略而非代码 bug。推荐使用方案一(调整动态端口范围),一劳永逸解决。如果你安装了 Docker Desktop 或启用了 WSL2,调整端口范围后记得检查相关服务是否正常运行。

http://www.jsqmd.com/news/1106379/

相关文章:

  • 鼠标革命:让你的普通鼠标在Mac上比触控板更好用!
  • 5分钟搞定Windows和Office永久激活:KMS_VL_ALL_AIO终极指南
  • 成都口碑好的暖通公司哪家可靠
  • 笔试强训 Day 19:小易的升级之路、礼物的最大价值、对称之美
  • Python 3 各版本全面对比分析报告
  • 抖音视频下载终极指南:5分钟掌握免费批量下载技巧
  • 函数式编程:用BiFunction消除多类型分支的代码重复
  • Java毕设选题推荐:基于 Java 的学术资料智能检索管理系统的设计与实现 基于 Java 的文献资源分类统计管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 海量 MCP 工具场景下的上下文隔离选择方案
  • 性价比高的降英文AI工具推荐工具
  • 【NWFSP问题】基于matlab麝牛算法MO求解零等待流水车间调度问题NWFSP【含Matlab源码 15685期】
  • WAIC 2026前瞻:AI办公不缺聊天机器人,缺的是可信会议智能体
  • 内网渗透测试实战指南:从信息收集到域控攻防的完整攻击链
  • 节点】[SmoothStep节点]原理解析与实际应用
  • ZXing:一个扫描条码的基础库
  • Dockery:一个容器跑起来,就是你的私有 Docker Registry
  • GitHub 53K Star 爆款:不用 JS 逆向,7 大平台数据一把抓
  • 2026 跨境云网融合服务商榜单:海外企业组网与安全运维推荐
  • 企业微信二次开发中的定期对账机制
  • 墨香情手游官方下载:重拾纯粹武侠情怀开启全新快意恩仇江湖征途
  • 2026年AIGC检测怎么过?5大检测平台对比+AI痕迹降低实战指南
  • ICM-42688-P与PIC18F4553在机器人控制与工业监测中的应用
  • 类比StandardServer, 抓住StandardService整体类依赖结构来理解
  • Better BibTeX架构解析:为LaTeX用户打造的企业级文献管理解决方案
  • 【节点】[Clamp节点]原理解析与实际应用
  • Kubernetes 核心机制与运维实践知识精要
  • 别折腾了!3步教你用标准 API 调通企业微信外部群机器人
  • Python 最大冤案:你以为 `await` 在“死等”?它其实在
  • 如何轻松地从 iPhone 备份恢复 iPad?
  • 任务计划程序不显示后边的信息