别再用默认设置跑 Claude Code 了:12 个需要立刻开启的配置

大多数开发者装完 Claude Code 之后,直接开始敲提示词,从来没看过有哪些可配置的选项。这其实是个不小的浪费——默认安装虽然能用,但错过了很多"如果早知道就会打开"的功能。

Claude Code 的配置分布在两处:一部分在 /settings 菜单里可见,另一部分藏在配置文件中,涉及权限管理、记忆、通知、上下文处理等方方面面。把该开的选项开好,能显著减少日常使用中的摩擦感。

下面这 12 项配置,建议现在就动手设置。

配置文件放在哪儿

Claude Code 的配置分两层:

这两个文件都能直接编辑,也可以在会话中用 /settings 命令交互式修改。部分设置还支持环境变量,少数行为则要靠启动时的命令行参数(比如 --verbose)来控制。

1. 打开桌面通知

作用:任务跑完后弹出系统级通知。

这个设置听着不起眼,用起来却很实在。当 Claude 在重构大型代码库或跑长时间分析时,原本你得时不时切回终端看进度。开了通知之后,任务一完成系统就会提醒你,可以放心去做别的事,不用干等着。

开启方式:在 ~/.claude/settings.json 中加入

{ "notifications": true}

也可以用 /settings 交互式开启。macOS 用户可能还需要在系统设置里单独允许终端发通知。

2. 配置 Bash 黑名单(deny rules)

作用:禁止 Claude 执行指定的 bash 命令,哪怕任务逻辑上"需要"用到它。

这是目前最实用的安全设置之一。你可以列出一份 Claude 永远不能执行的命令清单,常见的有 rm -rf、git push --force、sudo、chmod 777,以及各种破坏性的数据库操作。

{

"bash": {

"deniedCommands": [

"rm -rf",

"git push --force",

"sudo",

"DROP TABLE",

"truncate"

]

}

}

匹配到黑名单里的命令会被直接拦截,Claude 会告诉你它不能执行,剩下的交给你手动判断。在生产环境或某些操作绝不该自动触发的代码库里,项目级黑名单尤其有用。

3. 设置 Bash 白名单(allow rules)

作用:自动放行指定命令,不用每次都手动确认。

这是黑名单的反面。如果你反复要跑同样的安全命令——比如 npm test、git status、ls、cat——可以直接告诉 Claude Code 无需询问、直接放行。

{

"bash": {

"allowedCommands": [

"npm test",

"npm run lint",

"git status",

"git diff",

"ls",

"cat",

"echo"

]

}

}

粒度可以设得很细,比如 git status 和 git push 是两回事,放行前者完全不影响后者仍需确认。

4. 调整自动压缩阈值(Auto-Compact Threshold)

作用:控制 Claude Code 何时自动压缩对话上下文以释放 token 空间。

Claude Code 的上下文窗口是有限的。会话进行得久了,容易触及上限,导致响应变慢甚至丢失关键上下文。自动压缩会在真正撞墙之前介入,把前面的对话内容总结精简,腾出空间。

{ "autoCompactThreshold": 80}

数值是百分比(0-100)。设成 80 意味着上下文占用达到 80% 时开始压缩。数值越低(比如 60)压缩越激进,预留的余量越大;数值越高(比如 90)则能保留更多原始上下文。做复杂的多文件重构时建议调低阈值以保持会话稳定;做简单问答时调高一些也无妨。

5. 锁定指定模型

作用:把 Claude Code 固定在某个具体模型上,而不是跟着 Anthropic 的默认推荐走。

Claude Code 可以运行在不同的模型变体上,并且随着新模型发布还会不断更新。默认情况下它通常会使用官方推荐的模型,但这个推荐可能随更新而变化。如果你需要跨会话保持行为一致,锁定模型是值得的。

{ "model": "claude-sonnet-4-5"}

模型字符串要和 Anthropic API 里的写法完全一致,建议去官方模型文档核对最新的可用列表。另外,如果你的使用量比较大,把默认模型锁定在 Sonnet 而不是 Opus,对大多数编码任务来说也是一种更快、更省钱的选择。

6. 为项目创建 CLAUDE.md 文件

作用:给 Claude 一份持久化的、项目专属的说明书,每次会话开始时都会读取。

这不算严格意义上的"设置文件",但可能是影响力最大的一项配置。项目根目录下的 CLAUDE.md 相当于该项目专属的持久系统提示词。

你可以在里面写清楚:

示例:

# 项目:支付 API

## 技术栈

- Node.js 20, TypeScript 5.3

- PostgreSQL 15,通过 Prisma ORM

- Express 4.x

## 规范

- 使用 async/await,不用 .then() 链式调用

- 所有数据库调用放在 /src/db,不要写在 controller 里

- 错误必须使用自定义的 AppError 类

- 绝不记录敏感数据(卡号、PAN、CVV)

## 禁区

- 不要直接修改 /migrations——一律用 `prisma migrate dev`

- 不要动 /src/legacy——已废弃,即将删除

## 测试

- 提交前先跑 `npm test`

- 覆盖率不能低于 80%

每次在该目录下开新会话,Claude 都会自动读取这份文件,这样你就不用每次都重新解释一遍项目情况了。

7. 开启详细模式(Verbose Mode)

作用:展示 Claude 每次工具调用的完整细节——执行了什么命令、结果是什么、接下来打算做什么。

默认情况下 Claude Code 只给你一份相对精简的摘要。详细模式会把完整过程都摊开:每一条 bash 命令、文件读写、工具调用及其原始输出。这对调试 Claude 的行为、审查它在某次会话里到底做了什么、或者排查问题根源非常有用。

{ "verbose": true}

或者启动时加参数:

claude --verbose

如果只是偶尔需要详细模式而不想一直开着,用启动参数比全局设置更干净。

8. 配置 MCP 服务器连接

作用:通过 Model Context Protocol(模型上下文协议)把 Claude Code 接入外部工具和数据源。

MCP 是一个开放标准,让 Claude 能够连接数据库、API、文档系统、内部工具等外部系统,并把它们当作会话中的一等工具来使用。默认情况下 Claude Code 只能读文件、跑 bash;配置好 MCP 服务器后,它还能直接查询 Postgres 数据库、拉取 Notion 工作区内容、检查 GitHub issue,或调用任何提供了 MCP 服务器的服务。

配置写在
~/.claude/claude_desktop_config.json(具体路径视你的安装方式而定):

{

"mcpServers": {

"postgres": {

"command": "npx",

"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]

},

"github": {

"command": "npx",

"args": ["-y", "@modelcontextprotocol/server-github"],

"env": {

"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"

}

}

}

}

Anthropic 维护着一份不断增长的官方 MCP 服务器列表,社区也贡献了很多。如果你的工作涉及多个系统协同,这块配置的投入产出比非常高。

9. 打开自动更新

作用:让 Claude Code 保持自动更新,始终用上最新版本。

道理很简单。Claude Code 更新频繁——新模型支持、bug 修复、新功能、性能优化,手动更新很容易被忘掉。

{ "autoUpdate": true}

如果是需要锁定特定版本的环境(比如 CI 系统),建议关闭这项、手动管理更新版本;而本地开发机上开启自动更新通常是更合理的选择。

10. 设置终端主题

作用:调整 Claude Code 在终端里的显示效果,对使用浅色背景终端或自定义配色方案的用户尤其有用。

默认主题是为深色终端设计的,如果你用的是浅色背景,部分输出可能几乎看不清。

{ "theme": "light"}

可选项通常有 "dark"、"light" 和 "auto"(自动检测系统偏好)。这属于外观层面的调整,但如果你要长时间盯着输出看,这一点其实很重要。

11. 添加全局系统提示词

作用:在每次会话前都自动附加一段固定指令,不区分具体项目。

和 CLAUDE.md 类似,但作用在全局层面。适合放跨项目通用的偏好设置——比如沟通风格、个人编码习惯、你希望处处遵守的通用约束。

可以通过 --system-prompt 参数传入,也可以写进全局设置。部分版本支持 systemPrompt 字段:

{

"systemPrompt": "你是一名资深工程师。

做出重大修改前先说明取舍。优先采用小步增量修改,而非大规模重写。

标注出任何可能影响现有测试的改动。"

}

项目里的 CLAUDE.md 是对这份全局提示词的补充,而不是替代。

12. 配置 CI/自动化场景下的权限模式

作用:让 Claude Code 能在 CI 流水线或脚本中非交互式运行,不必每一步都等待人工确认。

默认情况下,Claude Code 遇到某些操作会主动请求你的批准,这在交互式使用中是合理的,但会打断自动化流水线。在受信任、受控的环境里,可以跳过这个交互确认环节:

claude --dangerously-skip-permissions "run the test suite and report failures"

这个参数要谨慎使用。名字里的"dangerously"不是随便加的——它去掉了人工把关这道保险。建议只在以下场景使用:

在生产系统里,建议把这个参数和第 2 条的 bash 黑名单搭配使用,这样即便跳过了权限确认,Claude 依然无法执行破坏性命令。

综合起来:一份推荐的起始配置

给大多数开发者的合理基线 ~/.claude/settings.json:

{

"notifications": true,

"verbose": false,

"autoUpdate": true,

"theme": "auto",

"autoCompactThreshold": 75,

"bash": {

"deniedCommands": [

"rm -rf",

"git push --force",

"sudo",

"DROP TABLE"

],

"allowedCommands": [

"git status",

"git diff",

"npm test",

"npm run lint",

"ls",

"cat",

"echo"

]

}

}

在此基础上,再为每个项目加一份专属的 CLAUDE.md,并按需配置 MCP 服务器。

配置 Claude Code 时常见的几个坑

只用全局设置,不做项目级配置 全局设置只是打底,真正的精细化控制要靠项目级的 .claude/settings.json。稍微正式一点的项目都应该有自己的独立配置。

白名单设得太宽泛 如果直接把 git 整个加进白名单,相当于连 git push、git reset --hard 都一并放行了。应该按具体命令来:git status、git diff 是安全的,git push、git rebase 大概率不该被自动批准。

忘了把 CLAUDE.md 提交到版本库 CLAUDE.md 里的内容很有价值,记得把它纳入版本控制,这样团队里其他人用 Claude Code 时也能获得一致的行为。

开发阶段就用
--dangerously-skip-permissions
本地开发时跳过确认提示看起来很诱人,但不建议这么做。这些确认环节存在的意义,正是为了拦住 Claude 理解偏差的情况。交互式会话中,还是让确认机制保持开启比较稳妥。

小结

展开阅读全文

更新时间:2026-07-20

标签:科技   项目   上下文   作用   全局   模型   命令   文件   终端   建议   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight All Rights Reserved.
Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302034903号

Top