CrabNote螃蟹笔记

18 个能真正改变 Claude 使用体验的设置

18 个能真正改变 Claude 使用体验的设置

18 个能真正改变 Claude 使用体验的设置 18 个能真正改变 Claude 使用体验的设置 Modified May 25 位置: .claude/settings.json(项目根目录) model 作用: 设置该项目的默认模型。会覆盖全局设置。 为什么重要: 很多人全局设置 Opus,因为他们想在困难工作上用它。然后打开一个主要是 markdown 编辑或 shell scripts 的项目,结果为 Haiku 用 1/20 成本就能完成的任务支付 Opus 价格。 解决办法: Code block JSON // In your /docs project: { "model": "claude haiku 4 5 20251001" } // In your /infra project: { "model": "claude sonnet 4 6" } // In your /core engine project: { "model": "claude opus 4 7" } Project level overrides 优先。打开项目时,自动得到合适的模型,然后继续工作。 14. mcpServers 的 enabled flag 位置: /.claude/settings.json mcpServers 作用: MCP servers 把 Claude 连接到外部工具。每个已连接的 server 都会把完整 tool schema 加载进 context。每个 server 大概 800 到 6,000 token。 为什么重要: 很多人连接 MCP servers 只是为了测试,后来从不主动断开。三个月后你会有 12 个 connected,其中真正常用的只有 3 个。那 9 个不用的 server 会在每次 session 启动时消耗大约 25 40K token 的 context schema。 解决办法: 用 enabled flag 保留连接配置,但不加载。 Code block JSON { "mcpServers": { "github": { "command": "...", "enabled": true }, "postgres": { "command": "...", "enabled": true }, "slack": { "command": "...", "enabled": false }, "linear": { "command": "...", "enabled": false } } } 真正需要时,再按 session 切到 true。我大多数日子只保持 2 3 个 active。做规划的日子,可能开到 6 个。 15. cleanupPeriodDays:没人提起的缓存 位置: /.claude/settings.json cleanupPeriodDays 作用: 设置 Claude Code 保留 transcripts、debug logs 和中间 session 数据的天数。默认是 30。 为什么重要: Dreaming 和 past chat search 都依赖这些 transcripts。默认 30 天窗口下,Dreaming 只能从一个月的工作里学习。六个月能给它 6 倍信号。磁盘成本大概 200MB。 解决办法: Code block JSON { "cleanupPeriodDays": 180 } 保留 180 天 session history,供 Dreaming、memory consolidation 使用,也方便你自己 grep:“我三月份到底跟 Claude 说过那个 auth bug 的什么来着?” Claude Code artifact:一份应用了全部 7 个设置的 settings.json 把这段复制到 /.claude/settings.json。根据你的实际情况调整路径和 plugin 名称。重启 Claude Code。重新运行 /permissions 和 /hooks 验证配置已经加载。 Code block JSON { "model": "claude sonnet 4 6", "enabledPlugins": { "formatter@acme tools": true, "old experiment@personal": false }, "permissions": { "deny": [ "Read(.env)", "Read(.env. )", "Read( / secret )", "Bash(rm rf: )", "Bash(sudo: )" ] }, "hooks": { "SessionStart": [ { "matcher": "startup", "hooks": [ { "type": "command", "command": "cat .claude/context $(git branch show current).md 2 /dev/null || true" } ] } ] }, "disableAllHooks": false, "mcpServers": { "github": { "command": "npx", "args": ["@modelcontextprotocol/server github"], "enabled": true }, "postgres": { "command": "npx", "args": ["@modelcontextprotocol/server postgres"], "enabled": false }, "slack": { "command": "npx", "args": ["@modelcontextprotocol/server slack"], "enabled": false } }, "cleanupPeriodDays": 180 } Project level overrides 放在项目根目录的 .claude/settings.json。最值得在那里设置的是: Code block JSON // .claude/settings.json (in a docs project) { "model": "claude haiku 4 5 20251001" } 第三节:API 和 Console(3 个设置) 这些设置存在于代码或 Anthropic Console 中。它们是本文里对成本影响最大的设置。每一项都可能让你的账单变化 30 90%。 16. cache control breakpoints:该放在哪里 位置: API request body,任何 content block 上的 cache control 字段 作用: 标记 prompt 的某个前缀可缓存。后续请求如果有相同前缀,大约只按 input rate 的 10% 收费,而不是全价。 为什么重要: 这是 API 里最大的成本杠杆。很多人知道它存在,但多数人把 breakpoint 放错,结果只拿到部分节省,而不是完整节省。在我自己的设置里,修正 breakpoint 后,月账单从 340 美元降到了 87 美元。 解决办法: breakpoint 应该放在 静态内容和动态内容的边界。breakpoint 前的内容会被缓存,之后的内容会重新计算。 Code block Python WRONG — breakpoint after user message, nothing reusable cached messages = [ {"role": "system", "content": SYSTEM PROMPT}, {"role": "user", "content": user question, "cache control": {"type": "ephemeral"}} ] RIGHT — breakpoint after stable system prompt, full cache hit on next call messages = [ {"role": "system", "content": SYSTEM PROMPT, "cache control": {"type": "ephemeral"}}, {"role": "user", "content": user question} ] 可用 TTL 有两个:5 minute ephemeral(默认)和 1 hour。对于 session 间不会变化的 system prompts,用 1 hour: Code block Python {"cache control": {"type": "ephemeral", "ttl": "1h"}} Cache write 比基础 input 贵 25%。Cache read 是基础 input 的 10%。分界点是:同一个缓存前缀只要在 TTL 窗口内被读取 2 次以上,就能回本。 17. inference geo 与 data residency tax 位置: API request inference geo parameter 作用: 把 inference 路由到特定地理区域。比如 US only residency、EU only 等。 为什么重要: US only data residency 会让 Opus 4.7 及以上模型多 10% premium。 这不在标准 pricing card 上。你会在 invoice 里看到它。 解决办法: 如果你的合规制度并不真的要求 regional residency,就不要设置 inference geo。很多 app 会默认设置它“以防万一”,因为法务说过“确保数据留在美国”。确认这个要求到底是合同义务,还是只是愿望。如果只是愿望,省略这个参数,每次 Opus 调用省 10%。 如果确实需要它,要把这 10% 算进模型选择里。Sonnet 的 3 美元基础价格会变成等效 3.30 美元,这会改变 Opus vs Sonnet 的 break even。 18. Workspace level rate limit:防止凌晨 3 点故障的那个设置 位置: Console Settings Workspaces [your workspace] Per feature rate limits 作用: 为每个 workspace、每个 feature 设置 rate limit,与账号级别 limits 分开。 为什么重要: account level limit 保护你不至于花到破产。workspace level limit 保护你的交互式产品,不会在某个 runaway batch job 吃光整个 ITPM allowance 时一起挂掉。你发布了新 feature,它有 bug,开始循环,吃掉所有额度,面向客户的 chat 开始返回 429。Workspace limits 可以避免一个 feature 饿死另一个。 解决办法: 每个 surface 建一个 workspace(interactive chat、batch processing、internal tools、experimental)。把每个 workspace 的 rate limit 设为账号 tier 的 60 70%。保留 30% 给需要 burst 的 workspace。 本文提到的第四个未记录设置是:每个 workspace 内部还有一个 feature level cap,只有点进具体 feature card 才能看到,不在 workspace overview 上。默认值是 unlimited。 如果一个 workspace 里有三个 features,其中一个可以饿死另外两个,而 workspace level limit 并不会拦住它。任何会做 batch work 的东西,都要设置 per feature caps。 第四节:18 点检查清单 走一遍。20 分钟。12 个月里你都不碰的东西,大概率永远也不会碰。 Code block Markdown Claude.ai [ ] 1 Memory: project scoped on, exclusion list populated [ ] 2 Extended Thinking: default = Light [ ] 3 Custom Styles: at least one workflow style created [ ] 4 Project Instructions: filled for every active Project [ ] 5 Past chats search: on (Pro+) [ ] 6 Web search citations: Footnotes mode [ ] 7 Cowork trusted folders: reviewed, pruned [ ] 8 Incognito: keyboard shortcut memorized Claude Code [ ] 9 enabledPlugins: only active ones = true [ ] 10 permissions.deny: env files + sudo + rm rf blocked, OS level backup in place [ ] 11 hooks.SessionStart: branch aware context loader [ ] 12 disableAllHooks: false (know where the switch is) [ ] 13 model: per project override set for docs/infra/core projects [ ] 14 mcpServers: enabled flag used, not full deletion [ ] 15 cleanupPeriodDays: 180 位置: .claude/settings.json(项目根目录) model 作用: 设置该项目的默认模型。会覆盖全局设置。 为什么重要: 很多人全局设置 Opus,因为他们想在困难工作上用它。然后打开一个主要是 markdown 编辑或 shell scripts 的项目,结果为 Haiku 用 1/20 成本就能完成的任务支付 Opus 价格。 解决办法: Project level overrides 优先。打开项目时,自动得到合适的模型,然后继续工作。 14. mcpServers 的 enabled flag 位置: /.claude/settings.json mcpServers 作用: MCP servers 把 Claude 连接到外部工具。每个已连接的 server 都会把完整 tool schema 加载进 context。每个 server 大概 800 到 6,000 token。 为什么重要: 很多人连接 MCP servers 只是为了测试,后来从不主动断开。三个月后你会有 12 个 connected,其中真正常用的只有 3 个。那 9 个不用的 server 会在每次 session 启动时消耗大约 25 40K token 的 context schema。 解决办法: 用 enabled flag 保留连接配置,但不加载。 真正需要时,再按 session 切到 true。我大多数日子只保持 2 3 个 active。做规划的日子,可能开到 6 个。 15. cleanupPeriodDays:没人提起的缓存 位置: /.claude/settings.json cleanupPeriodDays 作用: 设置 Claude Code 保留 transcripts、debug logs 和中间 session 数据的天数。默认是 30。 为什么重要: Dreaming 和 past chat search 都依赖这些 transcripts。默认 30 天窗口下,Dreaming 只能从一个月的工作里学习。六个月能给它 6 倍信号。磁盘成本大概 200MB。 解决办法: 保留 180 天 session history,供 Dreaming、memory consolidation 使用,也方便你自己 grep:“我三月份到底跟 Claude 说过那个 auth bug 的什么来着?” Claude Code artifact:一份应用了全部 7 个设置的 settings.json 把这段复制到 /.claude/settings.json。根据你的实际情况调整路径和 plugin 名称。重启 Claude Code。重新运行 /permissions 和 /hooks 验证配置已经加载。 Project level overrides 放在项目根目录的 .claude/settings.json。最值得在那里设置的是: 第三节:API 和 Console(3 个设置) 这些设置存在于代码或 Anthropic Console 中。它们是本文里对成本影响最大的设置。每一项都可能让你的账单变化 30 90%。 16. cache control breakpoints:该放在哪里 位置: API request body,任何 content block 上的 cache control 字段 作用: 标记 prompt 的某个前缀可缓存。后续请求如果有相同前缀,大约只按 input rate 的 10% 收费,而不是全价。 为什么重要: 这是 API 里最大的成本杠杆。很多人知道它存在,但多数人把 breakpoint 放错,结果只拿到部分节省,而不是完整节省。在我自己的设置里,修正 breakpoint 后,月账单从 340 美元降到了 87 美元。 解决办法: breakpoint 应该放在 静态内容和动态内容的边界。breakpoint 前的内容会被缓存,之后的内容会重新计算。 可用 TTL 有两个:5 minute ephemeral(默认)和 1 hour。对于 session 间不会变化的 system prompts,用 1 hour: Cache write 比基础 input 贵 25%。Cache read 是基础 input 的 10%。分界点是:同一个缓存前缀只要在 TTL 窗口内被读取 2 次以上,就能回本。 17. inference geo 与 data residency tax 位置: API request inference geo parameter 作用: 把 inference 路由到特定地理区域。比如 US only residency、EU only 等。 为什么重要: US only data residency 会让 Opus 4.7 及以上模型多 10% premium。 这不在标准 pricing card 上。你会在 invoice 里看到它。 解决办法: 如果你的合规制度并不真的要求 regional residency,就不要设置 inference geo。很多 app 会默认设置它“以防万一”,因为法务说过“确保数据留在美国”。确认这个要求到底是合同义务,还是只是愿望。如果只是愿望,省略这个参数,每次 Opus 调用省 10%。 如果确实需要它,要把这 10% 算进模型选择里。Sonnet 的 3 美元基础价格会变成等效 3.30 美元,这会改变 Opus vs Sonnet 的 break even。 18. Workspace level rate limit:防止凌晨 3 点故障的那个设置 位置: Console Settings Workspaces [your workspace] Per feature rate limits 作用: 为每个 workspace、每个 feature 设置 rate limit,与账号级别 limits 分开。 为什么重要: account level limit 保护你不至于花到破产。workspace level limit 保护你的交互式产品,不会在某个 runaway batch job 吃光整个 ITPM allowance 时一起挂掉。你发布了新 feature,它有 bug,开始循环,吃掉所有额度,面向客户的 chat 开始返回 429。Workspace limits 可以避免一个 feature 饿死另一个。 解决办法: 每个 surface 建一个 workspace(interactive chat、batch processing、internal tools、experimental)。把每个 workspace 的 rate limit 设为账号 tier 的 60 70%。保留 30% 给需要 burst 的 workspace。 本文提到的第四个未记录设置是:每个 workspace 内部还有一个 feature level cap,只有点进具体 feature card 才能看到,不在 workspace overview 上。默认值是 unlimited。 如果一个 workspace 里有三个 features,其中一个可以饿死另外两个,而 workspace level limit 并不会拦住它。任何会做 batch work 的东西,都要设置 per feature caps。 第四节:18 点检查清单 走一遍。20 分钟。12 个月里你都不碰的东西,大概率永远也不会碰。 第五节:审计脚本(每周运行一次) 把它放到 /bin/claude audit.sh。每周运行。它会标记 Claude Code 这半张清单,以及 API 侧的 cache control 检查。 保存,chmod +x /bin/claude audit.sh,每周运行,直到每一行都进入目标区间。 第六节:未纳入清单的内容 发布前我删掉了 4 个候选项。值得点名,这样你就不用浪费时间去追它们。 Adaptive Reasoning toggle。 Anthropic 已经默认开启它。覆盖设置在 Settings → Capabilities → Reasoning mode。30 天对比下来,我没找到哪个 workflow 在手动覆盖它后结果有明显变化。相信默认值,继续往前。 Skill auto activation。 你可以切换 Claude 是否根据相关性检测自动加载 skills,或要求显式调用。我原本以为这会很重要,结果并没有。Auto activation 配合 progressive disclosure(只在需要前加载 SKILL.md metadata)已经调得不错。保持开启。 Dispatch mobile to desktop control。 这是有用功能,但不是设置审计项。你的 workflow 要么适合它,要么不适合。没有什么隐藏 toggle 会改变结果。 Per workspace max tokens ceiling。 你可以强制每次回答在 800、2000 或 4000 token 截断。它确实能给话多的 workflow 省钱,但会破坏需要长输出的代码生成。值得按 workspace 测试,不值得作为默认推荐。 结束 今晚走一遍检查清单。大多数人会修掉 6 8 项。少数人会修掉 14 项以上。你的 billing dashboard 和 usage graph 会告诉你,这 20 分钟到底值不值。 今晚收藏并走一遍检查清单。如果它帮你省掉一个月“Claude 变笨了”的挫败感,转发出去。 Telegram daily AI tips: https://t.me/+ ZWrQN7GuDA3ZDE y https://t.me/+ ZWrQN7GuDA3ZDE y 原帖链接:https://x.com/Mnilax/status/2058269663788736907 原帖链接:https://x.com/Mnilax/status/2058269663788736907 Anthropic 在 Claude Code 的 settings.json 里放了 125+ 个 key。官方文档大概只覆盖了其中 40 个。 缺失的设置里,有 14 个藏在 Claude.ai UI 里,要点三次才看得到。还有 4 个根本不出现在任何文档中。你只能靠读 GitHub issue、看工程师在 Discord 里不小心透露的信息,或者凌晨 1 点去 grep Claude Code 的二进制文件才能找到。 大多数 Claude 用户还在用 Anthropic 半年前的默认配置。账单慢慢变高,输出慢慢跑偏,然后他们开始怪模型。 下面是 18 个真正影响 Claude 运行方式的设置。 8 个在 Claude.ai 里。 7 个在 Claude Code 里。 3 个在 API 和 Console 里。 每一项都会讲:它在哪里、它做什么,以及简单的解决办法。 第一节:Claude(8 个设置) 1. Memory:作用域、排除项,以及“忘记此项”命令 位置: Settings Capabilities Memory 作用: Memory 在 2026 年 3 月面向 Free 和 Pro 用户推出。默认情况下,Claude 会保存它认为值得保存的一切。大多数人会漏掉三个控制项:按项目划分作用域、排除列表,以及聊天中即时触发的遗忘命令。 为什么重要: 默认 memory 会逐渐漂移。4 6 周后,它会塞满一次性的纠正(比如你只在某个文件里说过一次“我写 Python 更喜欢 tab”)、泄漏到无关聊天里的项目事实,以及过期的角色上下文。输出质量会下降,因为 Claude 开始为错误的“你”做优化。 解决办法: 1. 打开 project scoped memory:Settings Capabilities Memory Scope per Project。Project 内产生的 memories 留在这个 Project 里。光这一项就能修掉大多数漂移。 2. 把不希望在无关聊天中出现的话题加进 exclusion list。例如:离婚、医疗、薪资数字、客户名称。只要不排除,这些内容就可能跨上下文持续存在。 3. 在任何聊天里直接使用 inline forget command:forget what you remembered about [topic] Claude 会用这句话去匹配你的 memory store,并确认它删除了哪些内容。不需要菜单,也不需要进设置页。 2. Extended Thinking:每个聊天单独控制的开关 位置: chat input model selector dropdown Extended Thinking: Off / Light / Full 作用: Extended Thinking 会在回答前增加一轮 <thinking 推理过程。Anthropic 对 Opus 默认开启。这个三档开关是 per chat 的,会覆盖全局设置。 为什么重要: Extended Thinking 很适合数学、debug、多步规划。但对摘要、翻译、格式整理、改写和快速查询来说就是浪费。它会给这些任务增加 3 12 秒延迟,并多消耗 20 40% token,换来的却是同样的答案。 解决办法: 默认设为 Light(只在模型判断有用时使用 thinking),遇到真正困难的工作再显式切到 Full。我给别人演示这项设置后,大多数人在第一周就能把 Opus token 花费降 18 25%。 3. Custom Styles:它不是“语气”,而是输出契约 位置: chat input style selector Create New Style 作用: Styles 最开始只是语气切换(“Formal / Concise / Explanatory”)。但 Custom Styles 实际上是输出契约。你可以粘贴一份 200 1500 词的指令文件。该 style 下的每次回复都会在生成前应用它。 为什么重要: 大多数人只用 Styles 来“写短一点”。真正的用法,是不必反复粘贴提示词,也能把结构规则稳定应用到每次回复里。比如引用格式、禁用词、必需章节、代码块语言、长度上限,以及是否询问后续问题。 解决办法: 为每个 workflow 创建一个 Style。我的例子: 轮流使用三套这样的 style(Draft for X、Code review、Summarize PDF),就能替代我 80% 的 saved prompts。 4. Projects:大多数人都会留空的 “instructions” 字段 位置: any Project top right ⋯ Edit project instructions 作用: Projects 是持久化工作区。instructions 字段相当于 system prompt,会注入该 Project 的每次聊天。Anthropic 介绍 Projects 时重点说的是 knowledge upload,这也是多数人记住的功能。但 instructions 字段就在同一个页面,而我见过的真实 Projects 里,70% 都是空的。 为什么重要: 没有它时,Project 里的每个新聊天都会冷启动。有了它,你就不用反复重建上下文。(“这是一个 Polymarket 研究 workflow。默认保持怀疑。始终展示概率计算。绝不推荐交易,只展示 EV 框架。”) 解决办法: 把它当作 Claude 里的 CLAUDE.md。控制在 400 词以内。写清角色、默认怀疑程度、格式规则,以及永远不要做什么。每个月重读一次并修剪。 5. Search past chats(Pro+)以及真正有效的搜索方式 位置: Settings → Profile → Search past chats(需要启用) 作用: 允许 Claude 在相关时搜索你的对话历史。仅 Pro+ 可用。 为什么重要: 即使是 Pro,新账号默认也是关闭的。打开后还有个技巧:它做的是关键词匹配,不是语义搜索。你问 “What did we discuss about Chinese robots yesterday” 可能什么都找不到,除非过去的聊天里真的出现过 “Chinese robots”,或者同时出现过 “China” 和 “robots”。 解决办法: 打开它。然后学会正确的 query 形态:用内容名词,不要用元描述词。“Polymarket Iran” 有效。“That thing we talked about last week” 无效。 6. Web search:每个对话的开关,以及 citation 行为 位置: chat input + Web search: On / Off 作用: web search toggle 是 per conversation 的,但它的行为还会受另一个不太知名的设置影响:Settings Capabilities Web search citations: Inline / Footnotes / Hidden。 为什么重要: 默认是 Inline。Inline citations 会破坏复制粘贴体验。你把 Claude 的答案复制到别处时,会把一堆没有上下文的引用标记也复制过去。Footnotes 模式会让正文保持干净,把来源放到末尾。 解决办法: 如果你会把 Claude 的 web search 答案复制到其他文档、邮件或消息里,就切到 Footnotes。只有在完全在 Claude 里阅读时,才保留 Inline。 7. Connectors:Cowork 里的 “trust this folder” 陷阱 位置: Settings Connectors Cowork Trusted folders 作用: Cowork(2026 年 4 月 GA)让 Claude 可以访问你机器上的某个文件夹。默认情况下,Anthropic 会在每次 session 前询问是否信任该文件夹。trusted folders list 是绕过这个询问的白名单。 为什么重要: 一个文件夹一旦进入 trusted,Claude 就会在每个 Cowork session 里不再提示地读取它。如果你 3 月测试时加过一个文件夹,后来忘了删,它可能从那时起就在每次 session 中被静默读取。 解决办法: 打开 trusted folders。移除所有不属于当前活跃项目的文件夹。这个列表增长得比你想象中快。 8. Incognito mode 实际跳过了什么 位置: sidebar New incognito chat(或 Cmd/Ctrl + Shift + N) 作用: Incognito chat 不会保存,不会写入 memory,不可搜索,也不会用于 model improvements。关闭后聊天会被删除。 为什么重要: 很多人以为 Incognito 只是把聊天从侧边栏隐藏起来。它实际跳过了四套系统:memory 写入、chat history、past chats search index,以及训练数据 opt in(如果你打开了)。 解决办法: 对任何敏感数据有意识地使用它:薪资、医疗、家庭、法律草稿、客户名称。三个按键,不需要纠结。 第二节:Claude Code(7 个设置) 这些设置在 /.claude/settings.json(用户级)或 .claude/settings.json(项目级)里。后者优先级更高。 v2.1.105 的二进制文件里总共有 125+ 个 key。下面 7 个是真正能影响结果的。 9. enabledPlugins:禁用,不要卸载 位置: /.claude/settings.json enabledPlugins 作用: 设置 session 启动时加载哪些已安装插件。Plugin marketplace 让安装变得容易,但卸载更麻烦,而且多数时候没必要。只要把值设成 false 就行。 为什么重要: 每个 active plugin 都会把它的 hooks、SKILL.md 内容和 tool schemas 加载进你的 context budget。三个你已经忘掉的插件,可能在你输入任何内容之前就先吃掉 3 8K token。 我刚开始做这次审计时启用了 14 个插件。现在只保留 4 个 active。 解决办法: false 会保留插件安装状态,但不加载。真正需要时,再用 /plugin enable name@marketplace 在当前 session 中重新启用。 10. permissions.deny:你需要知道的 bug 位置: /.claude/settings.json permissions.deny 作用: 阻止 Claude 运行特定工具或访问特定文件。设计意图是:防止 rm rf,防止读取 .env,防止写到项目外。 为什么重要: 这里有一个已知 bug。deny rules 有时不会拦截。已经有多个 GitHub issue。被引用最多的一个(anthropics/claude code 11544)记录了 hooks 虽然配置合法却没有加载的问题