3 min read

Windows平台下VScode登录codex插件失败提示“Token exchange failed: 403 Forbidden”以及"Port 127.0.0.1:1455 is already in use"问题的解决方法

Windows平台下VScode登录codex插件失败提示“Token exchange failed: 403 Forbidden”以及"Port 127.0.0.1:1455 is already in use"问题的解决方法

网上的教程读起来一股子AI味,但是在ai盛行的年代还有人坚持手搓。

解决问题

Token exchange failed: token endpoint returned status 403 Forbidden

Token exchange failed: error sending request for url

Port 127.0.0.1:1455 is already in use

背景

前段时间发现ChatGPT Plus提供了codex的使用额度,在此之前我都是一直在使用windsurf,因此也想试试codex常常咸淡。

打开Codex网站,点击“在你的IDE中尝试”,选择VSCode,安装插件。

(可以看到同时支持了VSCode、Cursor、Windsurf(后边这俩都是基于VSCode开发的,所以支持也很正常)还有JetBrains)

登录所遇到的问题

安装好,准备登录的时候就开始遇到问题了,主要是有两个问题:一个是Port 127.0.0.1:1455 is already in use,一个是提示403 Forbidden和Token exchange failed: error sending request for url。下面逐个来解决。

VSCode、Cursor、Windsurf这三个软件下遇到这里的问题都可以使用下面的方案解决。

Port 127.0.0.1:1455 is already in use

有些博客提到可能是某些进程占用了这个端口没有释放,给出指令查找占用1455端口的进程,找到对应的PID后,运行指令管理这个进程,但是有的时候使用指令查看占用1455端口号的进程时,是找不到占用了这个端口的进程的。

:: 查询占用 1455 端口的进程
netstat -ano | findstr 1455

:: 将 12345 替换为查到的 PID
taskkill /PID 12345 /F

出现这个问题,大概率是启用了WSL虚拟机或者基于Hyper-V的服务,会占用一小段端口号保留使用,其中就包含了1455。但是查询占用1455端口的进程又查询不到。这时候关闭winnat再重启winnat就会释放1455,就可以解决1455端口占用

以管理员权限打开cmd或者powershell运行以下命令,即可解除1455端口占用

net stop winnat
net start winnat

Token exchange failed: 403 Forbidden以及Token exchange failed: error sending request for url

由于有些总所周知的原因,在登录codex的时候,很多情况下是开着vpn的,这时候从VSCode上登录codex的时候大概率会出现Token exchange failed: 403 Forbidden的问题,具体原因大概率是VSCode中的codex插件可能没有被VPN正确代理,导致浏览器返回的登陆信息没有被正确接收。

最简单的方法就是,安装服务模式,打开TUN模式。

并且将VSCode插件中的下面这一项取消选中,再重新登录就可以成功登录了。