Claude Code配置记录
安装NPM
参考链接 https://nodejs.org/zh-cn/download
# 下载并安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# 代替重启 shell
\. "$HOME/.nvm/nvm.sh"
# 下载并安装 Node.js:
nvm install 24
# 验证 Node.js 版本:
node -v
# 验证 npm 版本:
npm -v
# npm 设置淘宝(npmmirror)源
npm config set registry https://registry.npmmirror.com
安装Claude Code
参考链接 https://code.claude.com/docs/en/setup#install-with-npm
npm install -g @anthropic-ai/claude-code
执行脚本,跳过登录流程
安装完成后,不要直接启动 Claude。先在终端执行以下脚本,跳过 Anthropic 默认的登录流程并清理历史配置:
node --eval "
// enable third party model support and fast mode
const claudeJsonFilePath = path.join(os.homedir(), '.claude.json');
if (fs.existsSync(claudeJsonFilePath)) {
const content = JSON.parse(fs.readFileSync(claudeJsonFilePath, 'utf-8'));
fs.writeFileSync(claudeJsonFilePath, JSON.stringify({ ...content, penguinModeOrgEnabled: true, hasCompletedOnboarding: true }, null, 2), 'utf-8');
} else {
fs.writeFileSync(claudeJsonFilePath, JSON.stringify({ penguinModeOrgEnabled: true, hasCompletedOnboarding: true }), 'utf-8');
}
// delete old endpoint, credential and model id
const claudeSettingsJsonFilePath = path.join(os.homedir(), '.claude', 'settings.json');
if (fs.existsSync(claudeSettingsJsonFilePath)) {
const content = JSON.parse(fs.readFileSync(claudeSettingsJsonFilePath, 'utf-8'));
if (typeof content === 'object' && typeof content.env === 'object') {
for (const element of [
'ANTHROPIC_BASE_URL',
'ANTHROPIC_API_KEY',
'ANTHROPIC_AUTH_TOKEN',
'ANTHROPIC_MODEL',
'ANTHROPIC_SMALL_FAST_MODEL',
'CLAUDE_CODE_SUBAGENT_MODEL',
'ANTHROPIC_DEFAULT_FABLE_MODEL',
'ANTHROPIC_DEFAULT_FABLE_MODEL_NAME',
'ANTHROPIC_DEFAULT_OPUS_MODEL',
'ANTHROPIC_DEFAULT_OPUS_MODEL_NAME',
'ANTHROPIC_DEFAULT_SONNET_MODEL',
'ANTHROPIC_DEFAULT_SONNET_MODEL_NAME',
'ANTHROPIC_DEFAULT_HAIKU_MODEL',
'ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME',
'ENABLE_TOOL_SEARCH',
'CLAUDE_CODE_AUTO_COMPACT_WINDOW',
'CLAUDE_CODE_EFFORT_LEVEL',
]) {
delete content.env[element];
}
fs.writeFileSync(claudeSettingsJsonFilePath, JSON.stringify(content, null, 2), 'utf-8');
}
}
"
配置使用第三方模型
修改.bashrc或.zshrc,需要根据自己使用的SHELL决定修改哪个文件
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
export CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1
export CLAUDE_CODE_ATTRIBUTION_HEADER=0
export ANTHROPIC_API_KEY=sk-xxxxxxxx
export ANTHROPIC_BASE_URL=https://xxx.xxx.xxx.xxx
export ANTHROPIC_MODEL=xxx
export ANTHROPIC_DEFAULT_HAIKU_MODEL=$ANTHROPIC_MODEL
export ANTHROPIC_DEFAULT_OPUS_MODEL=$ANTHROPIC_MODEL
export ANTHROPIC_DEFAULT_SONNET_MODEL=$ANTHROPIC_MODEL
或者修改claude用户级配置文件vi ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT": "1",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
"ANTHROPIC_API_KEY": "sk-xxxxxxxx",
"ANTHROPIC_BASE_URL": "https://xxx.xxx.xxx.xxx",
"ANTHROPIC_MODEL": "xxx",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "xxx",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "xxx",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "xxx"
}
}
关闭 WebFetch 的 domain safety preflight
Claude Code 在真正访问 URL 之前,会先把目标 hostname 发给 api.anthropic.com 做安全检查;如果 api.anthropic.com 被代理、防火墙、企业网络或其他策略拦截,WebFetch 就会直接报错Error: Unable to verify if domain developer.aliyun.com is safe to fetch. This may be due to network restrictions or enterprise security policies blocking claude.ai.
可以通过修改~/.claude/settings.json文件,加入以下配置,跳过domain safety preflight检查
{
"skipWebFetchPreflight": true
}