背景
VSCode里面的Claude Code插件,1.0时代是直接运行终端里的Claude Code Cli。2.0时代则改成了带GUI的插件,有些类似VSCode中的Codex插件、Cline插件等。
但是很多人发现,怎么强制要求登录啊?
有博主(@席耳洛)分享了,只要在~/.claude/文件夹(即cc的设置文件夹)新增一个config.json文件,内容如下,就能跳过登录:
{
"primaryApiKey": "随便什么都可以"
}
但是我发现,跳过登录了,怎么没法对话,不正常工作?
此时我的cc_cli可以正常工作,使用的是anyrouter中转服务。
排查与解决
同样来自网上博主的说法,需要在VSCode的Settings.json中,为Claude Code单独设置环境变量。
我在这里配置了anyrouter的相关环境变量(它是只有baseURL和authToken的服务,无需配置model),对话依然是无法正常发生。
但是在这里配置了deepseek或moonshot的时候,对话恢复正常——且虽然界面上没有显示,但是我在moonshot后台可以看到请求记录和消费的token。
这下清楚了,问题不在于配置,而在于API服务啊。(顺带一提,同样的System Prompt,月暗显然是比DS更有主见,DS都知道拒绝给我讲相声了哈哈。)
猜想和验证
VSCode里面的Claude Code插件,如果是以GUI插件形式工作(后续简称vsc_cc;Claude Code的终端程序,后续简称cc_cli),它会默认读取环境变量。
如果说,在settings.json中,单独为claude-code设定一下环境变量,那么这里的优先级要高于系统的优先级。
我尝试了,清空VSCode的settings.json里面的Claude Code环境变量,然后,系统环境中,通过claude-use工具(详情点这里),切到deepseek和moonshot的时候,vsc_cc可用,可以正常的快速对话,证实了这一想法。
但是如果在使用类似anyrouter这样的“Claude Code专用转发服务”时,vsc_cc会一直等到对话超时,也无法顺利完成对话。可见这类服务目前只能支持cc_cli。
这也证明了我的猜想是正确的。
结论
vsc_cc对于第三方api的兼容性弱于cc_cli,建议大家在白嫖这些服务的token的时候,把vsc_cc在设置中,切换成cc_cli。(这是最近vsc_cc新增的开关,方便大家切换回cc_cli。)
本文由 maemolee 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Oct 18, 2025 at 02:39 am