为什么需要这个#
在上一课中,我们学习了如何通过 CLAUDE.md 给 Claude 指令。但 Claude Code 还有另一种强大的管理方式——设置文件(settings)。它们控制的不是 Claude 做什么,而是它如何工作:可以使用哪些工具、运行哪些命令、遵守哪些限制。
如果 CLAUDE.md 是"行为规则",那么 settings 就是"安全法规和技术参数"。
什么是 settings.json#
settings.json 是一个 JSON 格式的文件,存储 Claude Code 的技术设置。
💡 JSON(读作"杰森")是一种数据记录格式,类似于列表。数据写在花括号
{}中,每个设置是一对"名称: 值"。
示例:
{
"permissions": {
"allow": ["Read files", "Write files"],
"deny": ["Delete files"]
}
}这相当于说:“允许读取和创建文件,但不允许删除。”
设置层级#
与 CLAUDE.md 一样,设置也存在于多个层级。以下从最广泛到最窄排列:
| 层级 | 文件位置 | 适用对象 | 可以覆盖? |
|---|---|---|---|
| 托管级(Managed) | 系统文件夹 | 计算机所有用户 | 不可以,最高优先级 |
| 用户级(User) | ~/.claude/settings.json |
您,在所有项目中 | 可以,被更窄的覆盖 |
| 项目级(Project) | .claude/settings.json |
整个项目团队 | 可以,被本地级覆盖 |
| 本地级(Local) | .claude/settings.local.json |
仅限您,在此项目中 | 可以,仅被托管级覆盖 |
💡 规则很简单:范围越窄,优先级越高。本地设置"胜过"项目设置,项目设置"胜过"用户设置。
如何打开设置#
最简单的方式是在 Claude Code 中使用命令:
/config将打开设置界面,可以查看和修改所有内容。
分步指南:配置权限#
步骤1:创建设置文件夹#
在项目根目录创建 .claude 文件夹(以点开头):
mkdir .claude步骤2:创建设置文件#
创建文件 .claude/settings.json:
{
"permissions": {
"allow": [
"Read",
"Edit",
"Bash(npm test)",
"Bash(npm run build)"
],
"deny": [
"Bash(rm *)"
]
}
}我们做了什么:
- ✅ 允许 Claude 读取和编辑文件
- ✅ 允许运行测试和构建
- ❌ 禁止使用
rm命令删除文件
步骤3:个人设置#
创建文件 ~/.claude/settings.json 用于您的个人偏好:
{
"preferences": {
"theme": "dark",
"language": "zh"
}
}设置示例#
新手安全模式#
{
"permissions": {
"allow": [
"Read"
],
"deny": [
"Bash",
"Edit"
]
}
}Claude 只能读取文件——不会修改或运行任何东西。在您刚开始了解项目时很方便。
开发工作模式#
{
"permissions": {
"allow": [
"Read",
"Edit",
"Bash(npm *)",
"Bash(git status)",
"Bash(git diff)"
]
}
}Claude 可以读取、编辑、运行 npm 命令和查看 Git 状态。
可以配置什么#
| 设置 | 功能 | 示例 |
|---|---|---|
| permissions.allow | 允许的操作列表 | ["Read", "Edit"] |
| permissions.deny | 禁止的操作列表 | ["Bash(rm *)"] |
| env | 环境变量 | {"NODE_ENV": "development"} |
CLAUDE.md 和 settings.json 的区别#
| CLAUDE.md | settings.json | |
|---|---|---|
| 格式 | 自由文本 | 严格的 JSON |
| 存储内容 | 指令、规则、上下文 | 权限、技术参数 |
| 谁来读取 | Claude(作为建议) | Claude Code 系统(作为严格规则) |
| 可以违反? | Claude 可能偏离建议 | 不可以,系统严格遵守 |
建议#
- ✅ 从用户设置开始——它们在所有地方生效
- ✅ 团队协作使用项目设置(
.claude/settings.json) - ✅ 本地设置(
.local.json)不会进入 Git——用于个人实验 - ⚠️ 小心权限设置:最好从最小权限开始,按需添加
课程总结#
- settings.json 管理 Claude Code 的技术参数:权限、环境、行为
- 有4个层级的设置:托管级 → 用户级 → 项目级 → 本地级
- 范围越窄的设置优先级越高
/config命令打开方便的设置界面- settings.json 是严格规则(系统不会违反),CLAUDE.md 是建议(Claude 可以灵活调整)