mac 配置过程中遇到的坑
mac 用起来一会是 s 一会是 m 的。。。
cc for vscode
最近入手了 mac,做的第一件事当然是把旧电脑上的奇奇妙妙各种配置全都弄到 mac 上,作为一名奋勇贴近新时代的牛马,最重要的当然是把 Claude 挪过来,由于在旧电脑上我是在 wsl 里面配置的 cc,并且用的还挺少的(在压榨 copilot 的学生优惠),所以也就没有配过 cc for vscode,于是在 mac 上就遇到了各种奇怪的问题(虽然我感觉在 win 上配了也遇到。。)
我用的是 pro subscription 的 Claude 账号,首先在命令行里面配,两气呵成,只因为命令行没配代理环境变量被鞭打了一次,遂开始配置 cc for vscode,没想到遇到了诡异问题:输入 /login 选择登陆方式之后,跳出浏览器,确定一下我是人类,点击 Authorize,显示授权成功,结果回到 vscode 里面一看,报错 Requests failed with status code 403
最后经过让 Claude 一顿分析,发现有两个原因:
- vscode 没开代理,并且由于我是从 Dock 打开的,所以 vscode 不会继承 shell 的环境变量,而是会继承 launchd 进程管理器的环境变量
- cc for vscode 本身有 bug,Anthropic SDK 使用的是 Node.js native fetch,而它不会自动读取 HTTP_PROXY 环境变量,参考是这个
我感觉原因一更本质,原因二似乎是错的
最后的修改方式是:
- 在 vscode 的 settngs.json 里面添加:
1 | "claudeCode.environmentVariables": [ |
- 在命令行里面执行:
1 | launchctl setenv HTTP_PROXY http://127.0.0.1:<PORT> |
再次登陆就 ok 了