装好了却连不上

先跑一次自检,再对着结果找下面对应的条目。自检本身会告诉你该敲哪个命令,这一页解释的是「为什么会这样」——知道原因才不会下次又踩。

c2a doctor
不想敲命令的话,运行 c2a ui 打开图形界面,「体检」那一页是同样的检查,点一下就跑,结果还能一键复制发给客服。

装了却用不了

这一组的共同点是:软件在,但配置没接上。多数是重开终端就好。

Claude CLI 未安装

PATH 里找不到 claude 命令。要么没装成,要么装在了当前终端看不到的地方(Windows 上常见于装完没重开窗口)。

curl -fsSL https://console.code2ai.codes/install.sh | bash

Codex CLI 未安装

PATH 里没有 codex 命令。装完必须新开一个终端窗口,老窗口的 PATH 是启动那一刻的快照,不会自己更新。

npm install -g @openai/codex@latest

未找到配置块

shell 的启动文件里没有我们写的那段配置。可能是授权没走完,也可能被别的工具覆盖了配置文件。重新授权会把它补回去。

c2a login

当前终端未加载环境变量

配置写对了,但这个终端窗口是在写入之前打开的,读的是旧内容。开个新窗口就好,不想重开就手动加载一次。

source ~/.bashrc

把 ~/.bashrc 换成你实际用的那个文件(zsh 是 ~/.zshrc)。体检结果里会直接写出路径。

当前终端的 Key 与配置文件不一致

换过账号但没重开终端——旧密钥还留在当前进程的环境变量里,配置文件里已经是新的了。以哪个为准取决于程序怎么读,所以必须统一。

source ~/.bashrc

密钥相关

密钥的问题几乎都能靠重新授权解决,而且不需要你去控制台复制粘贴。

未找到 API Key

还没授权过,或者配置被清掉了。走一次配对码流程即可。

c2a login

密钥已失效

服务端明确拒绝了这个密钥(订阅到期、密钥被重置、或换过账号)。注意:重置密钥会让旧的立刻失效,别的机器上也要重新授权。

c2a login

当前处于限流中

这不是配置问题——配置是对的,只是当前用量撞到了套餐的窗口上限。等窗口滚过去就恢复,不用改任何东西。

网络通道

这一组最容易被误判成「服务挂了」。自检会分别测 IPv4 和 IPv6、绕过代理做对照、再发一个大包看看会不会被吞——三条线索合起来才能定位。

IPv6 线路不通(IPv4 是通的)

一些家宽和校园网分配了 IPv6 地址但出口是坏的。系统优先走 IPv6,于是表现成时通时不通、或者一直卡着不动。把解析固定到 IPv4 就绕开了。

c2a fix-ipv6

这条要改 hosts 文件,需要管理员权限,得在终端里执行(图形界面点不了)。撤销:c2a fix-ipv6 undo

IPv4 出口不通(IPv6 是通的)

多半是本机的代理软件或防火墙拦住了 IPv4 出口。先关掉代理软件试一次,能通就说明是它。

IPv4 / IPv6 两条通道都不通

两条都不通说明问题在本机到外网这一段,不在我们这边。检查网络连接、VPN、防火墙;公司或校园网可能整体拦截,换个网络(比如手机热点)试一次就能确认。

问题出在你的代理上

这条是对照实验的结论,不是猜测:绕过代理后同一个请求立刻返回 200。也就是说线路和密钥都没问题,是代理把请求吞了。如果代理要常驻,把我们的域名加进直连白名单。

unset HTTP_PROXY HTTPS_PROXY ALL_PROXY http_proxy https_proxy all_proxy

检测到代理环境变量

只是提醒,不一定有问题。但如果同时还有别的报错,代理是第一嫌疑人——很多「莫名其妙连不上」都出在这里。

大数据包发不出去(MTU 黑洞)

典型症状是:刚开始聊得好好的,对话一长就断,或者贴一段长代码进去就卡死。小请求能过、大请求被丢,就是路径上的 MTU 配置有问题。当前走 IPv6 的话,改走 IPv4 通常能解决。

c2a fix-ipv6

如果已经在走 IPv4 还是这个结果,问题在本机 VPN 或路由器的 MTU 设置上,需要在那边调。

网络通但 API 请求失败

能连上但请求发不出去,常见于安全软件拦截 POST 请求,或者链路太慢直接超时。先临时关掉杀毒/安全软件试一次。

Codex 专属

Codex 的配置比 Claude 那边多一层:光设环境变量不够,必须写对 config.toml,而且官方的登录态会顶掉我们的配置。

Codex 配置未指向我们

只设 OPENAI_BASE_URL 是不管用的——Codex CLI 默认走 WebSocket,会回落到官方地址然后报 401。必须在 config.toml 里写 model_provider。一键授权会替你写好。

c2a codex-login

Codex 配置是旧写法

命令行照样能用,但 Codex App 和 VS Code 插件会报 Missing environment variable:图形程序从桌面启动,读不到你在 shell 里 export 的变量。重新授权一次会把密钥直接写进配置文件,三端就都能读到了。

c2a codex-login

auth.json 会顶掉我们的配置

只有配置是旧写法(env_key)时才会这样:那种写法走的是官方那套鉴权,你用官方账号登录留下的 auth.json 优先级更高。重新授权一次即可,之后密钥直接写在 config.toml 里,auth.json 就不再碍事了。如果体检说的是「auth.json 不影响我们」,那就是已经好了,不用管它,更不要自己去删——那是你自己的 ChatGPT 登录态,删了就得重新登录一次官方账号。

c2a codex-login

未找到 Codex 密钥

Codex 这条线还没授权。它和 Claude 那条完全独立,装了 Claude 不等于 Codex 也配好了。

c2a codex-login

都试过了还是不行?

把 c2a doctor 的完整输出复制下来发给客服(首页底部有二维码)。那段输出已经把环境信息都带上了,比描述现象快得多。