配置
通过全局和项目级设置以及环境变量配置 Claude Code。
配置作用域
Claude Code 使用作用域系统来确定配置的应用范围。理解作用域有助于你决定如何为个人使用、团队协作或企业部署配置 Claude Code。
| 作用域 | 位置 | 影响范围 | 与团队共享? |
|---|---|---|---|
| 托管 | 系统级 managed-settings.json |
机器上的所有用户 | 是(由 IT 部署) |
| 用户 | ~/.claude/ 目录 |
你的所有项目 | 否 |
| 项目 | 仓库中的 .claude/ |
此仓库的所有协作者 | 是(提交到 git) |
| 本地 | .claude/*.local.* 文件 |
仅你在此仓库 | 否(已 gitignore) |
设置文件
settings.json 文件是配置 Claude Code 的官方机制:
- 用户设置:定义在
~/.claude/settings.json,适用于所有项目 - 项目设置:保存在项目目录中
.claude/settings.json- 提交到源代码控制并与团队共享.claude/settings.local.json- 不提交,用于个人偏好
示例配置
{
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test:*)",
"Read(~/.zshrc)"
],
"deny": [
"Bash(curl:*)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1"
}
}
常用设置选项
permissions
配置工具权限,包括 allow(允许)、deny(拒绝)和 ask(询问)规则
env
应用于每个会话的环境变量
model
覆盖 Claude Code 使用的默认模型
hooks
配置在工具执行前后运行的自定义命令
cleanupPeriodDays
会话清理周期(默认 30 天)
language
配置 Claude 的首选响应语言
权限设置
| 键 | 描述 | 示例 |
|---|---|---|
allow |
允许工具使用的权限规则数组 | ["Bash(git diff:*)"] |
ask |
需要确认的权限规则数组 | ["Bash(git push:*)"] |
deny |
拒绝工具使用的权限规则数组 | ["WebFetch", "Read(./.env)"] |
additionalDirectories |
Claude 可访问的额外工作目录 | ["../docs/"] |
defaultMode |
打开 Claude Code 时的默认权限模式 | "acceptEdits" |
环境变量
Claude Code 支持以下环境变量来控制其行为:
ANTHROPIC_API_KEY
API 密钥,作为 X-Api-Key 头发送
ANTHROPIC_MODEL
要使用的模型设置名称
CLAUDE_CODE_USE_BEDROCK
使用 Amazon Bedrock
CLAUDE_CODE_USE_VERTEX
使用 Google Vertex AI
DISABLE_TELEMETRY
设为 1 以禁用遥测
MAX_THINKING_TOKENS
启用扩展思考并设置 token 预算
可用工具
Claude Code 可以访问一组强大的工具来帮助理解和修改你的代码库:
| 工具 | 描述 | 需要权限 |
|---|---|---|
Bash |
在你的环境中执行 shell 命令 | 是 |
Read |
读取文件内容 | 否 |
Edit |
对特定文件进行针对性编辑 | 是 |
Write |
创建或覆盖文件 | 是 |
Glob |
基于模式匹配查找文件 | 否 |
Grep |
在文件内容中搜索模式 | 否 |
WebFetch |
从指定 URL 获取内容 | 是 |
WebSearch |
执行网络搜索 | 是 |
权限规则可以使用 /allowed-tools 命令或在设置文件中配置。